目录:
一、什么是分布式系统?
二、为什么要走分布式系统架构?
三、系统如何进行拆分?
四、分布式之后带来的技术挑战?
一、什么是分布式系统?
在谈分布式系统架构前,我们先来看看,什么是分布式系统?
假设原来我们有一个系统,代码量30多万行。现在拆分成20个小系统,每个小系统1万多行代码。
原本代码之间都是直接基于Spring框架走JVM内存调用,现在拆开来,将20个小系统部署在不同的机器上,然后基于分布式服务框架(比如dubbo)搞一个rpc调用,接口与接口之间通过网络通信来进行请求和响应。
所以分布式系统很重要的特点就是服务间要跨网络进行调用,我们来看下面的图:
此外,分布式系统可以大概可以分成两类。
1. 底层的分布式系统。
比如hadoop hdfs(分布式存储系统)、spark(分布式计算系统)、storm(分布式流式计算系统)、elasticsearch(分布式搜索系统)、kafka(分布式发布订阅消息系统)等。
2. 分布式业务系统
分布式业务系统,把原来用java开发的一个大块系统,给拆分成多个子系统,多个子系统之间互相调用&