深入浅出 -- 系统架构之分布式架构

​​​​​​分布式架构:

根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。

当垂直应用越来越多时,应用之间的交互不可避免,可将共用的基础服务或核心模块抽取出来作为独立服务,逐渐形成稳定的服务中心,使前端应用灵活快捷的面向多变的市场需求。

**优点:**将基础业务功能进行了抽取,系统间相互独立调用,降低服务耦合,提高了代码的复用率和开发效率。

**缺点:**系统间的耦合度变高了,调用关系错综复杂,难以维护。

分布式架构虽然降低了服务耦合,但是服务拆分时也有很多问题需要思考:

服务拆分的粒度如何界定?

服务之间如何调用?

服务的调用关系如何管理?

人们需要制定一套行之有效的标准来约束分布式架构。

  • 分布式架构 简单来说就是一组计算机组成一个系统的整体,一致对外提供服务
  • 这组计算机内的不同系统,都可以互相通信
  • 客户端到服务端的一次请求响应,可能会历经多台计算机。
RPC

RPC 协议是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC 协议假定某些传输协议的存在,如 TCP 或 UDP,为通信程序之间携带信息数据。在 OSI 网络通信模型中,RPC 跨越了传输层和应用层。RPC 使得开发包括网络分布式多程序在内的应用程序更加容易。这个时期典型的 RPC 协议如 RMI、WebService 等(gRPC 和 Thrift 都属于现代意义的 RPC)。

RPC 优势
  1. 交互方式简单,客户端/服务端间的交互协议容易统一;
  2. 跨语言异构支持;
  3. 不存在 ESB 中的单点故障可能。
RPC 不足
  1. 交互方式较为单一,不能进行复杂的多模块之间的协议交互;
  2. 异常处理困难;
  3. 缺少服务治理能力;
  4. 采用私有协议,扩展性较差。
相关推荐
上海云盾第一敬业销售5 分钟前
选择适合企业的高防CDN服务:架构解析与实践分享
安全·web安全·架构
momom28 分钟前
分布式缓存集群高可用架构与一致性哈希优化实践
分布式·后端·架构
hhhhhaaa33 分钟前
多节点矩阵式任务系统:统一配置中心与动态规则引擎架构设计
后端·算法·架构
heimeiyingwang1 小时前
【架构实战】分布式事务TCC模式:两阶段提交的工程艺术
分布式·架构
大江东去浪淘尽千古风流人物1 小时前
【Kimera】MIT SPARK 实时度量-语义 SLAM 全栈解析:VIO + 鲁棒 PGO + 语义网格四模块架构与 EuRoC 实测深度剖析
大数据·架构·spark
GIS数据转换器1 小时前
蓄能电力大数据监管平台
大数据·人工智能·分布式·数据挖掘·数据分析·智慧城市
大江东去浪淘尽千古风流人物1 小时前
【Kimera-VIO】MIT SPARK 实时度量-语义 VIO/SLAM:六模块并行架构与智能因子图优化深度解析
大数据·架构·spark
大江东去浪淘尽千古风流人物1 小时前
【Kimera-Semantics】实时三维语义重建深度解析:Fast/Merged 双路积分、对数概率体素 Bayesian 融合与 ROS 全链路实现
大数据·架构·spark
zhangzeyuaaa1 小时前
Kafka 核心原理超通俗详解|Offset、消费组、分区、持久化一次讲透
分布式·kafka
@不误正业1 小时前
多Agent协作框架深度实战-从ReAct到Plan-and-Execute全架构演进
前端·react.js·架构·agent