GoMind Hub

java分布式系统

计算机知识思维导图:java分布式系统。网页展示前三层结构,可在线查看完整脑图并下载 GoMind 文件。

2026-08-25

计算机知识学习资料思维导图
## java分布式系统
### java分布式系统
#### 分布式锁
##### redis
##### zookeeper
#### 分布式事务
##### JTA事务
##### 分布式事务:两段式提交(最终一致性)
#### 分布式消息队列(MQ框架)
##### Redis
##### zeromq
##### kafka
##### 阿里开源的RocketMQ
##### RabbitMQ
##### ActiveMq
##### 文章
##### 比较
#### dubbo
##### DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。
#### 常见的分布式应用架构风格有三种
##### 分布式对象(Distributed Objects,简称DO)
##### 远程过程调用(Remote Procedure Call,简称RPC)
##### 表述性状态转移(Representational State Transfer,简称REST)
##### DO和RPC这两种架构风格在企业应用中非常普遍,而REST则是Web应用的架构风格,它们之间有非常大的差别
#### 小结
##### 分布式系统间的通讯接口,怎么防止外部调用
#### 参考
##### 理解本真的REST架构风格
##### 基于Consul的分布式锁实现
##### 分布式锁的三种实现方式 - 推酷
##### Redis分布式锁----悲观锁实现,以秒杀系统为例
##### Redis分布式锁----乐观锁的实现,以秒杀系统为例 - 推酷
##### 以交易系统为例,看分布式事务架构的五大演进

> 仅展示前三层结构;请在线查看完整脑图或下载 GoMind 文件。

java分布式系统

java分布式系统
redis
zookeeper
分布式锁
JTA事务
分布式事务:两段式提交(最终一致性)
分布式事务
基于Key-Value对的NoSQL数据库,开发维护很活跃
Redis
号称最快的消息队列系统,尤其针对大吞吐量的需求场景
zeromq
高吞吐量的分布式发布订阅消息系统
非常特殊的消息机制,不同于传统的mq
kafka
捐apache
阿里开源的RocketMQ
使用Erlang编写的一个开源的消息队列
RabbitMQ
高性能跨语言分布式发布/订阅消息队列系统,而Jafka是在Kafka之上孵化而来的,即Kafka的一个升级版
ActiveMq
RabbitMQ、ActiveMQ、ZeroMQ、Kafka之间的比较汇总
rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较 - 二郎神 - 博客园
关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
文章
如果你用kafka做通讯总线那绝对的不会快只能更慢;
kafka在乎的是性能,速度
你想要rabbitmq实现分布式,那真的是难为它
rabbitmq追求的是灵活
如果你拿zeromq来做大数据量的传输功能,不是生产者的内存“爆掉”就是消费者被“压死”
zeromq追求的是轻量级、分布式
有无broker(中间商)
zeroMq 不支持 , activeMq 和 rabbitMq 都 支持
持久化消息
RabbitMq最好,ActiveMq次之,ZeroMq最差
技术点:可靠性、灵活的路由、集群、事务、高可用的队列、消息排序、问题追踪、可视化管理工具、插件系统、社区
比较
分布式消息队列(MQ框架)
DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。
dubbo
架构实例有CORBA/RMI/EJB/DCOM/.NET Remoting等等
分布式对象(Distributed Objects,简称DO)
架构实例有SOAP/XML-RPC/Hessian/Flash AMF/DWR等等
远程过程调用(Remote Procedure Call,简称RPC)
架构实例有HTTP/WebDAV
表述性状态转移(Representational State Transfer,简称REST)
DO和RPC这两种架构风格在企业应用中非常普遍,而REST则是Web应用的架构风格,它们之间有非常大的差别
常见的分布式应用架构风格有三种
ip限制
appid+appsecret => token
...
分布式系统间的通讯接口,怎么防止外部调用
小结
常见的分布式应用架构风格有三种
理解本真的REST架构风格
基于Consul的分布式锁实现
分布式锁的三种实现方式 - 推酷
Redis分布式锁----悲观锁实现,以秒杀系统为例
Redis分布式锁----乐观锁的实现,以秒杀系统为例 - 推酷
单数据库事务
基于后置提交的多数据库事务
prepare预提交与commit确认提交
两段式事务也就是著名的XA事务
XA是由X/Open组织提出的分布式事务的规范
两段式事务
TCC事务的全称为:Try-Confirm/Cancel,翻译成中文即:尝试、确定、取消
TCC事务是一种编程模式,如果SOA接口的提供者与调用者都遵从TCC编程模式,那么就能最大限度的保证数据一致性
非TCC模式的扣除金币操作,接口提供者只需要提供一个SOA接口即可,接口的作用就是扣除金币
扣除金币Try接口,尝试扣除金币
扣除金币Confirm接口,确定扣除金币
扣除金币Cancel接口,取消扣除金币
而TCC模式的扣除金币操作,接口提供者针对扣除金币这一操作需要提供三个SOA接口
差异
TCC事务
以交易系统为例,看分布式事务架构的五大演进
参考