分布式系统所带来的技术问题
前言
如果要把一个单体应用变成一个分布式系统,或者构建一个分布式系统需要用到哪些技术呢?下面介绍的框架都是开源的框架。
分布式服务框架
作为分布式系统,首先需要让各系统或服务之前互相通信,必须要有一个分布式服务框架。各个服务可以感知对方在哪里,发送请求,可能通过RPC的方式或HTTP的方式。
最常见的框架是dubbo和spring cloud。
分布式事务
基于TCC、最终一致性、2PC等分布式事务的实现方案和开源技术。
开源方案有:ShardingSphere、seata
分布式锁
基于zookeeper或者redis实现分布式锁
分布式缓存
例如redis、memcache等。
分布式消息系统
例如kafka、rabbitmq、rocketmq。
分布式搜索系统
例如ES。
分布式调度
例如:Elastic-Job
其它
比如服务配置中心、分布式日志中心、分布式监控报警中心、分布式会话等。