关注
3、这个项目我是根据一个开源的单体项目拆分成分布式项目,用的框架是SpringBoot + Dubbo(远程通信) + Zookeeper(注册中心)。 拆分依据是通过业务层的UserService,CouponService,OrderServcie, UserService, PayService, GoodService 差分成了不同的服务, 服务如下: User-Service Module, Coupon-Service Module, Order-Service Module, Pay-Service Module, Goods-Service Module, Api Module等模块。由于单体项目是在一个JVM中运行的所以我拆分成分布式之后,Synchronize或者ReentrantLock就失效,为什么失效呢,因为这些服务部署在不同的结点上,运行在不同的JVM中,所以用单体锁,不能够防止超卖。所以我做的第一个工作就是,使用了分布式锁。主要解决方案有(mysql, redis, zookeeper)。 由于部署在不同的几点。在单体项目中的事务不能作用于不同的结点。所以这部分工作我使用了分布式事务。主要解决方案如下(基于xa协议的2PC, 3TC, 基于可靠消息的最终一致性)。由于redis和mysql服务器部署在不同的结点上,由于网络问题或其他问题,导致redis和mysql数据不一致性。主要解决方案如下(延迟双删,设置过期时间,删除缓存重试机制,binlog异步删除缓存)。在并发比较高的时候,防止系统被冲击,采用了一些一系列的流量削峰策略(CDN, Nginx, RocketMQ, 和主流限流算法)。
点赞
相关推荐
06-25 20:44
乐山师范学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26届校招投递进展 #
27752次浏览 217人参与
# 烟草笔面经互助 #
16770次浏览 180人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
8594次浏览 102人参与
# 为了找工作你花了哪些钱? #
26930次浏览 257人参与
# 你今年的保底offer是哪家 #
118124次浏览 537人参与
# 你觉得技术面多长时间合理? #
96413次浏览 707人参与
# 你觉得专业和学校哪个对薪资影响最大 #
61223次浏览 490人参与
# kpi面有什么特征 #
52140次浏览 402人参与
# 牛友们,签完三方你在忙什么? #
98107次浏览 852人参与
# 听到哪句话就代表面试稳了or挂了? #
170676次浏览 1367人参与
# 如何缓解入职前的焦虑 #
192215次浏览 1339人参与
# 打工人的精神状态 #
49252次浏览 857人参与
# 查收我的offer竞争力报告 #
189454次浏览 1265人参与
# 通信/硬件公司求职体验 #
121526次浏览 860人参与
# 选完offer后,你后悔学本专业吗 #
46241次浏览 234人参与
# 你秋招想去哪些公司 #
21611次浏览 798人参与
# 你后悔选择现在的专业吗 #
83774次浏览 676人参与
# 机械人春招想让哪家公司来捞你? #
344408次浏览 3078人参与
# 外包能不能当跳板? #
34225次浏览 215人参与
# 牛友的志愿填报指南 #
26849次浏览 167人参与
# 地方国企笔面经互助 #
31074次浏览 105人参与