分布式系统的主要目的
提高系统的性能
提高吞吐量,服务更多的客户。提高并发和流量。
通过以下的技术提高处理高并发场景的能力
- 缓存系统,更快的响应客户端的请求。降低对数据库的压力(提高响应速度)
前端浏览器,网络,后端服务,底层数据库,文件系统,硬盘,CPU都有缓存。
在分布式架构中,假如redis缓存集群,来提高响应速度 - 负载均衡,通过集群,每个阶段都做成集群,使用多台机器来分担流量(多个服务器接收任务)
- 异步调用,主要技术为消息队列中间件(分担短时的高并发)
通过消息中间件,实现削峰填谷。可以在流量比较大的时候先把数据保存到消息队列中,只处理主要的业务,像其他的可以后置的让其他服务从消息队列中读取数据处理。
- 数据分区和数据镜像(对数据库的分流)
把大量的数据按照一定的规则进行分区(如地理位置),分库分表(需要解决跨库的事务)
将数据镜像,分成好几份。每个服务器访问不同的数据库。(数据一致性问题)
提高系统的可用性
稳定性指的是,在其中的某一个服务宕机后,整个服务不至于全部停止。降低影响面。
- 服务拆分:可以隔离故障,也可以提高模块的重用性。但服务之间有依赖问题
- 服务冗余:解决单点故障,支持弹性伸缩
- 限流降级:当系统实在扛不住压力时,通过限流降级的方式停掉一部分服务,拒绝一部分用户
- 高可用架构:异地灾备,主从,在同一个地方保持主和副两套数据
- 高可用运维:DevOps
关键技术
- 服务治理
服务拆分、服务调用、服务发现、服务依赖、服务关键度定义。
需要梳理关键服务,进行性能可可用性的管理 - 架构软件管理
因为服务间有依赖,兼容。所以需要对服务的版本进行管理,对服务编排、聚合、事务处理
- DevOps
- 自动化运维
- 资源调度管理
- 整体架构监控
对三层系统进行监控:应用层、中间件层、基础层文章来源:https://www.toymoban.com/news/detail-579042.html
- 流量控制
负载均衡,服务器路由,熔断,降级,限流,灰度发布文章来源地址https://www.toymoban.com/news/detail-579042.html
核心技术
- 全栈系统监控
- 服务/资源调度
- 流量调度
- 状态/数据调度
- 开发和运维的自动化
到了这里,关于分析分布式架构-技术的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!