分布式系统中的概念
最简单的分布式系统
分布式可繁也可以简,最简单的分布式就是大家最常用的,
在负载均衡服务器后加一堆web服务器,然后在上面搞一个缓存服务器来保存临时状态,
后面共享一个数据库,其实很多号称分布式专家的人也就停留于此,
大致结构如下图所示:

这种环境下真正进行分布式的只是web server而已,
并且web server之间没有任何联系,所以结构和实现都非常简单。
最完备的分布式体系的模块组成
有些情况下,对分布式的需求就没这么简单,
在每个环节上都有分布式的需求,
比如Load Balance、DB、Cache和文件等等,
并且当分布式节点之间有关联时,
还得考虑之间的通讯,
另外,
节点非常多的时候,
得有监控和管理来支撑。这样看起来,
分布式是一个非常庞大的体系,
只不过你可以根据具体需求进行适当地裁剪。按照最完备的分布式体系来看,
可以由以下模块组成:
分布式任务处理服务:负责具体的业务逻辑处理
分布式节点注册和查询:负责管理所有分布式节点的命名和物理信息的注册与
询,是节点之间联系的桥梁分布式DB:分布式结构化数据存取
分布式Cache:分布式缓存数据(非持久化)存取
分布式文件:分布式文件存取
网络通信:节点之间的网络数据通信
监控管理:搜集、监控和诊断所有节点运行状态
分布式编程语言:用于分布式环境下的专有编程语言,比如Elang、Scala
分布式算法:为解决分布式环境下一些特有问题的算法,比如解决一致性问题的Paxos算法
三元组
其实,分布式系统说白了,就是很多机器组成的集群,靠彼此之间的网络通信,担当的角色可能不同,共同完成同一个事情的系统。
. . .