移除两大步骤说明。
1、保留广播表服务对接proxy。
2、虽然数据库不做主从。开发环境还是会分两个数据库,进行垂直拆分数据库。
3、所有服务移除对接proxy,服务对接数据库直接对接主库数据库地址。
4、各服务加上seata配制。(之前是由proxy代理,现在直接由自己服务对接)
5、微服务上的各事务注解全部替换成seata自带注解。
6、修改seata服务中数据库的配制
组长检查
其它说明:
1、虽然移除了proxy。事务已经可以稳定,但对于业务中的大事务后期还是要继续优化。
2、虽然保留了广播表对接,看测试情况。如果没有什么太大问题,继续使用。如果有问题。可尝试新的解决方案。通过消息队例加定时任务
正式开始
一、保留广播表
1、由于把主从去除,广播表中的主从配制的distSql有所变化。这一块由永波处理。测试环境由永波提供修改好的distSql进行修改。
二、垂直拆库
1、虽然不做主从,但需把多个库进行拆库。
开发环境、测试环境,用两个数据库
预上线环境,和线上环境用二个数据库进行拆分,跟据后期数据库情况不断做数据库垂直拆分,最后直接迁移至分布式数据库。
分别如下表:
环境 | 域名1 | 域名1对应IP | 域名2 | 域名2对应IP | 域名3 | 域名3对应IP |
---|---|---|---|---|---|---|
开发环境 | mysql.wubangtu.xyz | 192.168.31.156 | mysql1.wubangtu.xyz | 192.168.31.152 | ||
测试环境 | mysql.wubangtu.xyz | 192.168.31.154 | mysql1.wubangtu.xyz | 192.168.31.155 | ||
预上线环境 | pre.mysql.meixioa.com | 192.168.31.158 | pre.mysql1.meixioa.com | 192.168.31.151 | ||
上线环境 | mysql.meixioa.com | 192.168.31.158 | mysql1.meixioa.com | 192.168.31.151 |
2.2各数据库域名所对应的微服务数据库
域名1(数据库1) | 域名2(数据库2) |
---|---|
meixi_uaa | meixi_websocket |
meixi_activity | meixi_seata |
meixi_customer | meixi_files |
meixi_wxorder | xxl_job |
meixi_message | meixi_workflow |
meixi_fund | meixi_logs |
meixi_order | meixi_nacos |
meixi_product | meixi_statistic |
meixi_wms | meixi_exam |
meixi_pay | meixi_college |
最后三个库跟据线上数据压力情况,后面再做调整放至那个库还是再分出第三个库。
2.3、host文件修改
在各服务之间的配制hosts跟据上表进行调整。(开发环境,预上线环境)万泽豪配制啊。自己本机hosts由自己修改。
测试环境没测试人员自行商量
2.4、跟据各微服务中的nacos配制。
开发环境,测试环境、预上线环境.在nacos中对于mysql的地址配制跟据上表进行修改的配制
开发环境由后台对应负责服务的人员进行修改。
测试环境:跟据测试人员参考开发环境配制进行自行调整。有问题及时跟对应后面人员沟通。
预上线环境由飞龙跟万泽豪进行解决。
上线环境等预上线测试完后再说。
三、所有服务移除对接Proxy
1、把上面的hosts配好后,微服务直接连接对应主库相当于就移除了proxy
四、各服务加上seata配制。
3.1各服务加上对应的seata配制
在pom.xml加上下面的配制,开发环境加上。按顺序分别合并至开发环境和预上线环境
原来pom.xml有注释的放开注释就可以了。各自修改负责的服务。组长检查
<dependency>
<groupId>com.meixi</groupId>
<artifactId>meixi-common-seata</artifactId>
</dependency>
五、所有事务注解改成seata
带 @Transactional 全部改成 @GlobalTransactional
各自己的服务自己修改组长检查
六、修改seata服务中数据库的配制
由陈嘉修改万泽豪配合
开发环境由陈嘉修改其它环境由万泽豪参考进行修改。测试环境及时沟通参考开发环境自行修改。
网友评论