导图社区 常见的分布式架构
这是一个关于常见的分布式架构的思维导图,讲述了常见的分布式架构的相关故事,如果你对常见的分布式架构的故事感兴趣,欢迎对该思维导图收藏和点赞~
编辑于2022-10-05 19:33:43常见的分布式架构
概述
分布式架构是一种将系统划分为多个子系统并分布在不同的计算节点上的架构设计思想。它具有高可用性、可扩展性和容错性等优势。
架构类型
客户端-服务器架构
客户端通过网络请求服务端提供的资源和服务。
服务端负责处理客户端的请求,执行相应的逻辑并返回结果。
集中式架构
所有的请求和数据流都经过中心节点进行处理。
中心节点负责调度、协调和控制其他节点的工作。
点对点架构
每个节点之间直接通信,无中心节点的控制。
节点可以作为客户端和服务端同时存在。
层次式架构
将系统划分为多个层次,每个层次具有特定的功能和责任。
上层层次可以调用下层层次提供的服务和资源。
常见组件
负载均衡器
用于在多个服务器之间分配和平衡请求的负载。
可以根据服务器的性能和负载情况进行动态的请求分发和负载调整。
消息队列
用于实现异步通信和解耦系统组件之间的依赖。
消息队列可以存储和传递消息,保证消息的可靠性和顺序性。
缓存
用于存储频繁访问的数据,提高系统的读取速度和响应性能。
缓存可以减少对后端存储系统的访问压力。
数据库
用于存储和管理系统的数据。
分布式架构中常使用分布式数据库来支持大规模数据的存储和查询。
容器化技术
将应用程序及其依赖项打包为容器,实现跨平台和快速部署。
容器化技术可以提供高度可移植性和可扩展性。
通信机制
同步通信
请求方发送请求后,必须等待响应方处理完成并返回结果,才能继续执行。
同步通信可以保证数据的准确性和一致性。
异步通信
请求方发送请求后,不需等待响应方处理,可以继续执行其他任务。
异步通信可以提高系统的并发处理能力。
远程过程调用(RPC)
允许不同计算节点上的应用程序之间进行远程调用。
RPC可以隐藏远程调用的复杂性,使得调用方可以像调用本地函数一样调用远程函数。
数据一致性
强一致性
保证数据在多个节点上的复制是同步的,任何时刻读取到的数据都是最新的。
强一致性通常会带来较高的延迟和性能损耗。
弱一致性
允许在多个节点之间存在短暂的数据不一致。
弱一致性可以提高系统的可用性和性能。
最终一致性
保证在一段时间后,多个节点上的数据最终达到一致状态。
最终一致性可以在一定程度上平衡一致性和性能的需求。
故障处理
容错设计
通过冗余和备份等手段来保证系统在部分组件失败时仍可继续运行。
容错设计可以提高系统的可靠性和稳定性。
故障检测与恢复
通过监控和检测系统中的故障发生情况,并采取相应的恢复措施。
故障检测与恢复可以减少系统停机时间和数据丢失风险。
分布式事务
保证分布式系统中涉及的多个操作的一致性。
分布式事务可以保证多个节点间的数据操作的原子性和一致性。
安全性
身份认证
验证用户或计算节点的身份合法性。
身份认证可以防止未授权访问和数据泄露。
数据加密
对敏感数据进行加密操作,保证数据在传输和存储过程中的安全性。
数据加密可以防止数据被窃取或篡改。
访问控制
限制用户或计算节点对系统资源的访问权限。
访问控制可以防止非法操作和重要数据的泄露。