分析分布式架构-技术

分布式系统的主要目的

提高系统的性能

提高吞吐量,服务更多的客户。提高并发和流量。
通过以下的技术提高处理高并发场景的能力

分析分布式架构-技术_第1张图片

  1. 缓存系统,更快的响应客户端的请求。降低对数据库的压力(提高响应速度)

    前端浏览器,网络,后端服务,底层数据库,文件系统,硬盘,CPU都有缓存。
    在分布式架构中,假如redis缓存集群,来提高响应速度

  2. 负载均衡,通过集群,每个阶段都做成集群,使用多台机器来分担流量(多个服务器接收任务
  3. 异步调用,主要技术为消息队列中间件(分担短时的高并发

    通过消息中间件,实现削峰填谷。可以在流量比较大的时候先把数据保存到消息队列中,只处理主要的业务,像其他的可以后置的让其他服务从消息队列中读取数据处理。

  4. 数据分区和数据镜像(对数据库的分流

    把大量的数据按照一定的规则进行分区(如地理位置),分库分表(需要解决跨库的事务)
    将数据镜像,分成好几份。每个服务器访问不同的数据库。(数据一致性问题)

提高系统的可用性

稳定性指的是,在其中的某一个服务宕机后,整个服务不至于全部停止。降低影响面。

分析分布式架构-技术_第2张图片

  1. 服务拆分:可以隔离故障,也可以提高模块的重用性。但服务之间有依赖问题
  2. 服务冗余:解决单点故障,支持弹性伸缩
  3. 限流降级:当系统实在扛不住压力时,通过限流降级的方式停掉一部分服务,拒绝一部分用户
  4. 高可用架构:异地灾备,主从,在同一个地方保持主和副两套数据
  5. 高可用运维:DevOps

关键技术

  1. 服务治理

    服务拆分、服务调用、服务发现、服务依赖、服务关键度定义。
    需要梳理关键服务,进行性能可可用性的管理

  2. 架构软件管理

    因为服务间有依赖,兼容。所以需要对服务的版本进行管理,对服务编排、聚合、事务处理

  3. DevOps
  4. 自动化运维
  5. 资源调度管理
  6. 整体架构监控

    对三层系统进行监控:应用层、中间件层、基础层

  7. 流量控制

    负载均衡,服务器路由,熔断,降级,限流,灰度发布

核心技术

  • 全栈系统监控
  • 服务/资源调度
  • 流量调度
  • 状态/数据调度
  • 开发和运维的自动化

你可能感兴趣的:(分布式,架构)