实际项目中涉及--分布式与集群的探讨

时间:2022-07-06 23:28:33

1,集群与分布式的区别

集群与分布式,这两个概念容易被混用。但实际上集群的目的是为了增加吞吐量,而分布式的目的是为了减小响应时间。

性能最重要的两个参考指标就是吞吐量和响应时间。

集群往往是指集群的多台服务器都是实现同一个业务,分布式往往是指不同业务分布在各个分布式节点上,每个分布式节点其实也可以单独集群。

例如我们设计的各种高并发的应用系统,数据库,文件系统,如有必要都可以是分布式+集群的结构。

2,需求之后,切系统为多个系统

根据架构设计的原则,我们会从5视图的视角出发,重点考虑逻辑视图、物理视图、数据视图,将系统切割为多个系统。

这些被切割出来的多个系统,我们每一个都可以考虑是一个分布式的节点,记为Node1,Node2,Node3,Node4。

3,Node1-4初步分析,分析哪些需要做集群

a,假设Node1和Node2是系统级的节点,本身算法复杂度低,内存占用低,磁盘消耗低,网络开销小。我们可以考虑将Node1和Node2部署在同一台服务器上记为Server1。
b,Node3假设是业务处理模块,本身算法复杂度高,内存占用中,磁盘消耗中,网络开销高。经过初步计算后,我们发现Node3是cpu密集型模型,为Node3做一个集群。
c,Node4假设是用户关系管理的模块,本身算法复杂度低,内存占用高,磁盘消耗大,网络开销高。经过初步计算后,我们发现Node4是存储消耗型模型,需要合理划分活跃和非活跃用户,合理分配内存和磁盘的用户数据。Node4也需要做一个集群。