什么是分布式?

什么是分布式?_第1张图片

1、什么是大型网站?

当然,大型网站是相对于传统企业系统来说的。
对于传统的oa,cms等企业系统来说,大型网站应该具有以下的特点:

  • 高并发,大流量:
    需要面对高并发用户,大流量访问。什么是高并发?比如以秒级为单位,每秒的请求数量达到一定程度,比如蚂蚁金服旗下的支付宝交易峰值达到8.59万笔/秒。什么是大流量?腾讯QQ同时在线人数峰值3亿多。
  • 高可用
    系统24小时不间断服务,服务宕机时间会被新闻报道。
  • 海量数据
    需要存储、管理海量数据,需要使用大量服务器。facebook每周上传的照片数目接近10亿,百度收录的网站有数百亿,google有近百万台服务器提供服务。
  • 用户分布广泛,网络情况复杂
    许多大型互联网是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别。在国内,还有各个运营商网络互通难的问题。而中美光缆的数次故障,也让一些对国外用户依赖较大的网站不得不考虑在海外建立数据中心。
  • 安全环境恶劣
    由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击。
  • 需求快速变更,发布频繁
    与传统软件版本的发布频率不同,互联网产品为了快速适应市场,满足用户需求。其产品发布频率是极高的。office的产品版本以年为单位发布,而一般大型网站的产品每周都有新版本发布上线,至于中小型网站的发布就更加频繁了,有时候一天发布几十次。
  • 渐进式发展
    与传统系统不同的是,大型网站一般都是由一个小的网站开始,一步一步的演进升级到大型网站的。

2、什么是分布式?

  分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。
  科普三种集群:

  • 高可用集群:当一台机器压力过大时,会宕机,这时候整个系统就无法提供服务了,所以需要有另一台机器立马接过它的工作,而防止单点故障一般使用的就是高可用集群。
  • 负载均衡集群:你会发现,如果一台机器压力过大宕机后,另一台机器接管了它的工作,最后的结果还是宕机,因为一台服务器已经承受不住压力。明显需要一台更好的机器,或者用多台廉价的服务器来分担压力,当然,分布式中一般使用多台廉价的机器。这时候就有一个负载均衡的问题,由一个负载均衡器来对请求进行分发,根据一定算法,保证每台机器的负载,但是如果这台负载均衡器宕机了,系统也无法访问了,所以一般负载均衡器会做高可用集群,防止单点。
  • 高性能计算集群:前面的集群不管怎么样,都是一台服务器在做一件事,都是同步的,不免会有效率的问题,是不是可以将这件事拆分成多件小事情,然后让不同的服务器做的?这就是高性能计算集群。
      在我看来,当单体架构无法支撑现有业务时,当你互相通信的机器不再是一台的时候,分布式来了。因为要保证系统中的所有资源每台机器都是可以访问的,这时候你需要考虑数据一致性,数据传输方式,分布式事务,分布式锁,需要使用分布式存储。。。首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也不能进一步优化的时候,我们才需要考虑分布式系统。因为,分布式系统要解决的问题本身就是和单机系统一样的,而由于分布式系统多节点、通过网络通信的拓扑结构,会引入很多单机系统没有的问题,为了解决这些问题又会引入更多的机制、协议,带来更多的问题。。。(当然,这里我的观点是分布式包含的各种集群,个人见解)。
      分布式不仅仅是架构上面的升级,也意味着挑战的升级。

你可能感兴趣的:(什么是分布式?)