seata分佈式解決中間件

1.調研

最近可能要用到seata,調研一下

比較好的網上教程 springboot(springcloud、springmvc) + zookeeper 或者nacos +dubbo

nacos https://github.com/mkyuangithub/mkyuangithub/ 
zookeeper https://blog.csdn.net/ssyujay/article/details/105851718

 

2.集成

老項目spring-mvc是動態主從多數據源,選擇master的DataSouce

原子服務,服務提供端

    <!-- seata數據源-->
    <bean id="productDataSourceProxy" class="io.seata.rm.datasource.DataSourceProxy">
        <constructor-arg ref="masterDataSource"/>
    </bean>
   <bean class="io.seata.spring.annotation.GlobalTransactionScanner">
        <constructor-arg value="seata-product-service"/>
        <constructor-arg value="demo-tx-grp"/>
    </bean>

3.簡要步驟

  1. 啓動zk or nacos
  2. 初始化seata 表初始化(額外的需要執行業務的undo_log)
  3. 修改zk_config.txt 設置到zk
  4. 啓動seata-server
  5. 集成服務提供端(DataSource和GlobalTransactional),registry.conf
  6. 消費者集成(GlobalTransactional實例化+註解)(AT和TCC)

4.測試

     測試中遇到數據一致性問題(0.9版本),原因未知可能是這邊操作(重啓組件),也可能是bug

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章