摘要: 在前面的文章中,我们介绍了分布式事务的概念以及一些解决方案。fenSeata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。 Seata介绍 本文以一个用户下单购买商品的系统为 阅读全文
posted @ 2021-11-23 15:07 御狐神 阅读(1955) 评论(0) 推荐(1) 编辑
摘要: 消息发送一致性:是指产生消息的业务动作与消息发送的一致。也就是说,如果业务操作成功,那么由这个业务操作所产生的消息一定要成功投递出去(一般是发送到kafka、rocketmq、rabbitmq等消息中间件中),否则就丢消息。 可靠消息最终一致性 发送消息不可靠性 既然提到了可靠消息的最终一致性,那么 阅读全文
posted @ 2021-11-22 16:17 御狐神 阅读(1137) 评论(0) 推荐(3) 编辑
摘要: 最大努力通知型( Best-effort delivery)是最简单的一种柔性事务,适用于一些最终一致性时间敏感度低的业务,且被动方处理结果不影响主动方的处理结果。典型的使用场景:如银行通知、商户通知等。 最大努力通知 最大努力通知型( Best-effort delivery)是最简单的一种柔性事 阅读全文
posted @ 2021-11-09 17:47 御狐神 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 在电商领域等互联网场景下,传统的事务在数据库性能和处理能力上都暴露出了瓶颈。在分布式领域基于CAP理论以及BASE理论,有人就提出了柔性事务的概念。在业内,关于柔性事务,最主要的有以下四种类型:两阶段型、补偿型、异步确保型、最大努力通知型几种。我们前边讲过的2PC和3PC都属于两阶段型,两阶段型事务 阅读全文
posted @ 2021-11-07 17:38 御狐神 阅读(1018) 评论(0) 推荐(0) 编辑
摘要: 三阶段提交(3PC)是二阶段提交(2PC)的改进版本,三阶段提交协议主要是为了解决两阶段提交协议的阻塞问题,2pc存在的问题是当协调者崩溃时,参与者不能做出最后的选择。因此参与者可能在协调者恢复之前保持阻塞。三阶段提交(Three-phase commit),是二阶段提交(2PC)的改进版本。 三阶 阅读全文
posted @ 2021-11-02 15:51 御狐神 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 前面的文章中,我们介绍了分布式系统中的CAP理论和BASE理论,本文会就分布式事务的实现方案之一:两阶段提交(2PC)进行介绍。2PC是一个非常经典的强一致、中心化的原子提交协议。中心化是指协议中有两类节点:一个是中心化协调者节点(coordinator)和N个参与者节点(partcipant)。 阅读全文
posted @ 2021-10-21 18:17 御狐神 阅读(2162) 评论(0) 推荐(1) 编辑
摘要: 现今互联网界,分布式系统和微服务架构盛行。一个简单操作,在服务端非常可能是由多个服务和数据库实例协同完成的。在互联网金融等一致性要求较高的场景下,多个独立操作之间的一致性问题显得格外棘手。随着业务的快速发展、业务复杂度越来越高,几乎每个公司的系统都会从单体走向分布式,特别是转向微服务架构,随之而来就 阅读全文
posted @ 2021-10-19 18:02 御狐神 阅读(1826) 评论(0) 推荐(4) 编辑
摘要: 前面的文章中,我们介绍了Tomcat容器的关键组件和类加载器,但是现在的J2EE开发中更多的是使用SpringBoot内嵌的Tomcat容器,而不是单独安装Tomcat应用。那么Spring是怎么和Tomcat容器进行集成?Spring和Tomcat容器的生命周期是如何同步?本文会详细介绍Sprin 阅读全文
posted @ 2021-10-12 10:20 御狐神 阅读(1278) 评论(0) 推荐(0) 编辑
摘要: 通过前面的文章我们知道,Tomcat的请求最终都会交给用户配置的servlet实例来处理。Servlet类是配置在配置文件中的,这就需要类加载器对Servlet类进行加载。Tomcat容器自定义了类加载器,有以下特殊功能:1. 在载入类中指定某些规则;2.缓存已经载入的类;3.实现类的预加载。 本文 阅读全文
posted @ 2021-10-06 17:32 御狐神 阅读(698) 评论(0) 推荐(0) 编辑
摘要: 前面的文章中,我们介绍了Tomcat的Engine和Host容器,我们知道一个Tomcat最多只有一个Engine容器,一个Engine容器可以包含多个Host容器,请求中的不同的Host对应不用的Host容器。本章我们会介绍Tomcat的另外两个容器:Context容器和Wrapper容器。一个H 阅读全文
posted @ 2021-09-29 10:19 御狐神 阅读(318) 评论(0) 推荐(0) 编辑