
使用猪八戒APP
随时随地享服务
发布:2026-02-06 11:26 0浏览
现在设计软件产品的时候,经常考虑要引入分布式系统。这是有多种因素决定的,比如多地点数据采集、访问带宽、大数据存储、大数据分析和计算等等。这些都有对应的开源的分布式系统可供选择,而且,类型还多样。那如何选呢?我们从分布式系统的组成类型上,先搞清楚。我对所了解的分布式系统做如下分类,供大家参考。1、固定主从系统。即这类系统的组成分主服务器和从服务器,哪些是主,哪些是从,是事先规划好的,就不变了。比较典型的就是,图示如下这类系统的明显的缺陷是存在单点故障,尽管可以让主服务器做双机互备,但是,要有切换机制,要么手工、要么自动。要是双机同时坏掉,那就完了,尽管概率很低。低,不代表没有。那你说,我做n机互备,那我说,可以。还有一个缺陷就是主服务器的带宽瓶颈,外部系统都是从主服务器开始访问的。2、选主主从系统。这类系统也有主服务器和从服务器之分。主和从服务器并不固定,主服务器由系统中的所有的服务器参与选举产生,未选上的就是从服务器。当主服务器坏掉之后,则系统在剩余的服务器中重新选举一个主服务器,这样它就解决了单点故障问题。ETCD就是这类。图示如下同样的,这也是主从系统,存在带宽瓶颈问题。3、对等系统。系统中的服务器没有主从之分,大家的地位都一样。这类系统按存储的内容差异又分两种第一种是系统中每个服务器保存的内容都是一样的;第二种是每个服务器保存的内容是不一样的。3.1对第一种,访问哪台服务器都行。一台坏掉之后,就任取另外的一台,同时重新加入一台就可以了。它没有单点故障问题。这种系统开发难度很小,做好复制机制即可。另外,这种系统存储的数据不大,原因是受单机存储的限制。主要用于内存数据的存储。3.2对第二种比较个性的就是,它是一个分布式存储系统,以k—v形式保存和访问数据。它的个性体现在它有一个环系统中的服务器没有主从之分,通过数据的key可以算出其存储的位置,然后,通过代理服务器从该位置获取数据。可以水平扩展到数以万计的服务器,适合存储大数据,如图片、视频、声音等等。它没有单点故障问题。一台服务器坏掉了,也只是环上挨着的服务器做数据迁移即可,其他的服务器不用做数据迁移,数据迁移量小。随后,新增一台服务器就行了。通过上面的介绍,大体上可以了解分布式系统的相关情况。在具体选型的时候,需要考虑的因素有很多,可以在适合的场景选用上面的对应类型的系统。例如,需要内存数据的高可用,可以考虑etcd,需要大数据的存储同时规避单点故障问题,可以选用。
0赞同
2026-02-06 11:26:28推荐阅读 RECOMMENDED READING