Seata是可以支持非Spring环境下的应用的。但是因为Seata的官方文档主要面向的是Spring生态,所以对于非Spring的应用可能需要更多的自定义配置和处理。
关于非Spring环境下Seata的集成,可以从以下几个方面着手:
- Seata Server的启动:您可以根据官方文档在独立的进程中启动Seata Server,并设置相关的配置参数;
- 应用的接入:在每个应用中,您需要实现Seata Client的功能,主要涉及到XID和RM的创建和管理。这里可以参考Seata官方文档的《分布式事务系列——Seata AT》一文;
- RM的注册:Seata Server需要知道哪些应用需要用到AT模式,所以需要将应用注册到Seata Server中;
- 创建Transaction Manager和Resource Manager:按照Seata官方文档中提到的步骤,创建Transaction Manager和Resource Manager。
关于Rest调用的情况,可以考虑使用Seata的Global Transaction Service (GTS) 功能,它允许跨进程的分布式事务管理。具体可参考Seata官方文档的《分布式事务系列——GTS》一文。
总的来说,Seata对于非Spring的应用支持程度可能不如Spring环境完善,但可以实现基本的分布式事务功能。如有其它问题,欢迎继续提问。