分布式系列-0-开篇
1、前序
1)一名在Net游轮上的后台开发者,未曾下过船。2009-2012winform,2013-2016 Asp.net web form ,2017asp.net mvc ...面临者业务的需要,对分布式进行补课。
2)首先感谢博客园发文分布式系列的的大牛们,文中引用相关内容,在此一并表示谢过。
3) 如果对分布式系统还不了解,先看下”Web网站架构演变过程”http://www.cnblogs.com/cdu2812/p/6654729.html
4) 当一个web程序在一个电脑上运行,演变成在无数个电脑上同时协同运行,出现了分布式系统,它是解决互联网业务承载量问题的最基本方法,在开发、运维上都会带来很大的差别。
2、何为分布式和集群?
小饭馆原来只有一个厨师,切菜洗菜备料炒菜全都干。后来客人多了,一个厨师忙不过来,就又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。再后来客人又多了,两个厨师也忙不过来了,就又请了个配菜工负责切菜,备菜,备料,厨师和配菜师的关系是分布式。一个配菜工也忙不过来了,又请了个配菜工,两个配菜师关系是集群。
专业术语:
分布式:一个业务分拆多个子业务,部署在不同的服务器上
集群:同一个业务,部署在多个服务器上
3、分布式系统为什么存在
承载量是分布式系统存在的原因,这里我们先讲解应用服务器的承载问题,关于数据库读写负载,例如数据的读写分离、分库分表等各种策略,放到数据库服务器设计篇里。
用户量访问量增加,单台应用服务器不管使用什么样子的服务器配置,都不可能只用一台机器就承载的了,,必须要考虑如何使用多台服务器,这就是所谓“分布式系统”的来源。他来解决“高吞吐、高并发、低延迟和负载均衡”。
高吞吐,同时承载大量的用户使用,而在多台服务器的协作中,如何才能有效的利用这些服务器,不致于其中某一部分服务器成为瓶颈,从而影响整个系统的处理能力。
高并发是高吞吐的一个延伸需求。当我们在承载海量用户的时候,我们当然希望每个服务器都能尽其所能的工作,而不要出现无谓的消耗和等待的情况。
低延迟在大量用户访问的时候,很快的返回计算结果。因为除了大量用户访问可能造成请求在排队外,还有可能因为排队的长度太长,导致内存耗尽、带宽占满等空间性的问题。如果因为排队失败而采取重试的策略,则整个延迟会变的更高。

浙公网安备 33010602011771号