分布式系统TODO,先占坑

2018-05-24  本文已影响9人  陈半仙儿

分布式系统说白了其实就是三方面事情:存储、通讯和计算。
等等,类比一下 OS,这不分别和 OS 中的内存、进程间通信、CPU 是一样的吗?
没错,就是这样,只不过分布式环境下多了一些复杂性而已。

分布式下大概有这些需要说明的,
一、存储
分布式文件系统、分布式缓存、分布式数据库(包括分布式关系数据库和非关系数据库)

二、通讯
RPC(同步)、消息(异步)

三、计算
MapReduce、Spark、Storm、HPC 等

四、分布式带来的其他问题
4.1 可用性
primary-backup、复制状态机、异地多活、单元化部署
4.2 一致性
Paxos/Raft/ZAB/VR、分布式事务
4.4 其他问题
如 选举、双主、脑裂 等其他问题

五、分布式系统一般需要的标配中间件
5.1 服务注册与发现、服务管控及路由、RPC
5.2 消息中间件(推模式、拉模式)
5.3 定时任务
5.4 分库分表
5.5 动态资源管理配置(DRM)
5.6 熔断限流、削峰填谷

六、写作安排
1)BASE/ACID/CAP 理论
2)数据存储相关

3)一致性、2PC 和 3PC、分布式事务
4)选举、多数派、租约
5)时间、时钟、事件顺序
6)Paxos 及其变种和优化
7)Raft、Zab

七、一些分布式中间件的 Toy 实现以及源码阅读
服务调用:Dubbo sofarpc
消息队列:rocketmq kafka
作业调度:quartz
注册中心:zookeeper etcd
配置中心:apollo
分库分表:sharding-jdbc
数据库连接池:hikaricp
分布式事务:tcc-transaction
服务器:netty
搜索:lucene solr es
Java:java 并发工具

上一篇下一篇

猜你喜欢

热点阅读