标签:hit DApp oca user 依赖 cloud 项目配置 sphere bash
好多年没发博,最近有时间整理些东西,分享给大家。
所有内容都在github项目liuzhibin-cn/my-demo中,基于SpringBoot,演示Dubbo微服务 + Mycat, Sharding-Proxy分库分表 + Seata分布式事务管理 + ZipKin, SkyWalking, PinPoint性能分析链路跟踪APM工具,有详细文档,可以快速运行
package.sh为打包脚本:
sh package.sh
:最简单运行方式,使用单个MySQL数据库、nacos注册中心,运行4个Dubbo服务和1个Web应用;sh package.sh -mycat
:使用Mycat分库分表;sh package.sh -sharding-proxy
:使用Sharding-Proxy分库分表;sh package.sh -seata
:使用Seata分布式事务管理;sh package.sh -zipkin
:使用ZipKin进行链路跟踪、性能分析;sh package.sh -pinpoint
:使用PinPoint进行链路跟踪、性能分析;sh package.sh -skywalking
:使用SkyWalking进行链路跟踪、性能分析;参数可以组合,例如sh package.sh -mycat -seata -zipkin
,分库分表参数只能二选一,APM工具只能三选一。
最简单运行方式操作步骤:
mydemo-dn1
单库即可。sh package.sh
,Windows环境装了git bash就可以运行。运行演示项目:
依次启动服务和Web应用:
java -jar item-service\target\item-service-0.0.1-SNAPSHOT.jar
java -jar stock-service\target\stock-service-0.0.1-SNAPSHOT.jar
java -jar user-service\target\user-service-0.0.1-SNAPSHOT.jar
java -jar order-service\target\order-service-0.0.1-SNAPSHOT.jar
java -jar shop-web\target\shop-web-0.0.1-SNAPSHOT.jar
通过http://localhost:8090/shop访问,执行操作查看效果;
阿里云分布式事务管理GTS的开源版Seata,2019年1月开源出来,1.0.0版已经发布。相关概念、部署和使用方法参考Seata分布式事务管理框架概览。
Seata提供AT、TCC、Saga三种柔性事务模式,AT模式对应用几乎透明,使用方便,目前来看:
本项目演示了使用Mycat和Sharding-Proxy进行分库分表,相关概念、部署和使用方法,参考MyCat分库分表概览、Sharding-Proxy分库分表概览,这2个分库分表开源方案与DRDS对比,参考DRDS产品概览。
Mycat、Sharding-Proxy和DRDS都实现了MySQL协议,成为独立的中间件,将分库分表、读写分离等数据存储的弹性伸缩方案与应用隔离,并且实现语言无关。
演示项目支持PinPoint、SkyWalking、ZipKin三种APM工具进行全链路跟踪和性能分析,相关概念、部署和使用方法,参考PinPoint部署和使用、SkyWalking部署和使用、ZipKin部署和使用。
三种APM工具对比:
微服务、分库分表、分布式事务管理、APM链路跟踪性能分析演示项目
标签:hit DApp oca user 依赖 cloud 项目配置 sphere bash
原文地址:https://www.cnblogs.com/RicCC/p/12105120.html