分布式系统

分布式系统

1、WEB架构演变

2、分布式系统理论

一、集群的概念

  • 服务器集群就是指将不少服务器集中起来一块儿进行同一种服务,在客户端看来就像是只有一个服务器。集群能够利用多个计算机进行并发计算从而得到很高的计算速度,也能够用多个计算机作备份,其中有任何一个机器出故障,其余机器可以顶替并正常运行,提升系统的容灾性。
  • 服务器集群处理提升系统性能,提升响应速度,还能够用做容灾备份,例如MySQL的主从复制与双主互备。

二、分布式系统的概念

  • 分布式系统(distributed system)是创建在网络之上的软件系统。正是由于软件的特性,因此分布式系统具有高度的内聚性和透明性。所以,网络和分布式系统之间的区别更多的在于高层软件(特别是操做系统),而不是硬件。
  • 在分布式数据库系统中,用户感受不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存在于哪一个站点以及事务在哪一个站点上执行等。

三、集群与分布式的区别

  • 集群指的是将几台服务器集中在一块儿,实现同一业务
  • 分布式是指不一样的业务分布在不一样的地方

四、分布式应用的业务场景

  • 分布式存储:MySQL、Oracle、HDFS
  • 分布式缓存:Redis、Memcache
  • 分布式服务:SOA、微服务
  • 分布式webserver:Tomcat、Apache
  • 分布式协调中心:Zookeeper
  • 分布式消息队列:RabbitMQ、Kafka
  • 分布式实时数据平台:Storm、Akka
  • 分布式离线数据平台:Hadoop、Spark
  • 分布式搜索:Elasticsearch、Solr
  • 分布式日志:Flume、ELK
  • 分布式容器:docker、Kubernetes
  • 负载均衡:Nginx、LVS