tbschedule 升级优化方案
系统中最初的分布式事务的解决方案是使用异步消息的方式实现最终一致性,异步消息的处理通过 tbschedule 来处理,但是tb处理有两个明显问题:
1、吞吐量:同一时间处理的异步数量有限,如果当前处理的一批异步信息只属于一个消费者,那其他待处理的消息对应的消费者只能等待空闲
2、异步执行顺序问题,分布式场景下同一批的消息分给同一消费者的不同节点,不同节点处理消息的效率有差异,可能导致后产生的消息先执行了,在一些对执行顺序有要求的场景会造成错误数据
替换方案考虑 rabbitmq或者kafka
启动kafka步骤:
1、先启动zookeeper:
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
2、再启动kafka:
bin/kafka-server-start.sh -daemon config/server.properties
查询topic,进入kafka目录:
bin/kafka-topics.sh --list --zookeeper localhost:2181
启动nacos命令:
./bin/startup.sh -m standalone