分布式系统开发
跟攀博学Java编程
传智燕青老师拥有近二十年的软件开发和教学经验,曾经录制的SpringMVC/Mybatis课程下载量超10万,Activiti工作流技术、Shiro/SpringSecurity认证授权技术专题、ShardingJDBC数据库分库分表技术专题、Lucene/Solr/Elasticsearch搜索技术专题、Java分布式系统事务控制技术专题、RabbitMQ/RocketMQ消息队列技术专题、医药采购系统、学成在线项目、聚合支付项目等课程广受学员好评。
展开
-
分布式事务框架Seata原理
- 什么是SeataSeata是由阿里中间件团队发起的开源项目 Fescar,后更名为Seata,它是一个是开源的分布式事务框架。传统2PC的问题在Seata中得到了解决,它通过对本地关系数据库的分支事务的协调来驱动完成全局事务,是工作在应用层的中间件。主要优点是性能较好,且不长时间占用连接资源,它以高效并且对业务0侵入的方式解决微服务场景下面临的分布式事务问题,它目前提供AT模式(即2PC)...原创 2019-08-18 22:11:46 · 22290 阅读 · 5 评论 -
分布式事务CAP理论
一、理解CAPCAP是 Consistency、Availability、Partition tolerance三个词语的缩写,分别表示一致性、可用性、分区容忍性。下边我们分别来解释:为了方便对CAP理论的理解,我们结合电商系统中的一些业务场景来理解CAP。如下图,是商品信息管理的执行流程:整体执行流程如下:1、商品服务请求主数据库写入商品信息(添加商品、修改商品、删除商品)2、主...原创 2019-08-18 23:07:29 · 6659 阅读 · 0 评论 -
分布式事务BASE理论
1、理解强一致性和最终一致性CAP理论告诉我们一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance)这三项中的两项,其中AP在实际应用中较多,AP即舍弃一致性,保证可用性和分区容忍性,但是在实际生产中很多场景都要实现一致性,比如前边我们举的例子主数据库向从数据库同步数据,即使不要一致性,但是最终也要...原创 2019-08-18 23:09:42 · 1167 阅读 · 0 评论 -
分布式事务2PC和TCC有啥不同
一、 什么是2PC2PC即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2是指两个阶段,P是指准备阶段,C是指提交阶段。举例:张三和李四好久不见,老友约起聚餐,饭店老板要求先买单,才能出票。这时张三和李四分别抱怨近况不如意,囊中羞涩,都不愿意请客,这时只能AA。只有张三和李四都付款,老板才能出票安排就餐。但由于张三和...原创 2019-08-18 23:15:12 · 8960 阅读 · 2 评论 -
彻底弄清什么是分布式事务?
什么分布式事务?搞清楚这个问题我们从什么是事务开始。什么事务?什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必须全部成功,事务才算成功,任一个活动失败,事务将撤销所有已成功的活动。明白上述例子,再来看事务的定义:事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。- 什么是本地事务?在计算...原创 2019-08-10 08:14:26 · 1168 阅读 · 0 评论 -
服务端渲染和客户端渲染有啥不同
什么是服务端渲染?我们用传统的servlet开发来举例:浏览器请求servlet,servlet在服务端生成html响应给浏览器,浏览器展示html 的内容,servlet在服务端生成html的过程就是服务端渲染,如下图:服务端渲染的特点:1)在服务端生成html网页的dom元素。2)客户端(浏览器)只负责显示dom元素内容。常用的Java服务端渲染技术有:jsp/servlet、fr...原创 2019-08-20 07:08:20 · 393 阅读 · 0 评论 -
RocketMQ分布式事务解决方案-可靠消息一致性
什么是可靠消息最终一致性可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。此方案是利用消息中间件完成,如下图:事务发起方(消息生产方)将消息发给消息中间件,事务参与方从消息中间件接收消息,事务发起方和消息中间件之间,事务参与方(消息消费方)和消息中间件之间都是...原创 2019-08-20 08:07:25 · 3653 阅读 · 1 评论 -
Seata实现2PC事务控制
目标通过学习本案例学习Seata实现2PC事务控制的方法及Seata的工作原理。案例说明本示例通过Seata中间件实现分布式事务,模拟两个账户的转账交易过程。两个账户在三个不同的银行(张三在bank1、李四在bank2),bank1和bank2是两个个微服务。交易过程是,张三给李四转账指定金额。上述交易步骤,要么一起成功,要么一起失败,必须是一个整体性的事务。程序组成部分说明数据库...原创 2019-09-01 08:53:00 · 3756 阅读 · 0 评论