当前位置: 首页 > news >正文

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

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

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

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

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

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

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

服务拆分的粒度如何界定?
服务之间如何调用?
服务的调用关系如何管理?
人们需要制定一套行之有效的标准来约束分布式架构。

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

RPC

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

RPC 优势
  1. 交互方式简单,客户端/服务端间的交互协议容易统一;
  2. 跨语言异构支持;
  3. 不存在 ESB 中的单点故障可能。
RPC 不足
  1. 交互方式较为单一,不能进行复杂的多模块之间的协议交互;
  2. 异常处理困难;
  3. 缺少服务治理能力;
  4. 采用私有协议,扩展性较差。
http://www.lryc.cn/news/334079.html

相关文章:

  • 6. Z 字形变换(Java)
  • 【Linux入门】用户的基本指令
  • 3.9 Python格式化字符串
  • Linux驱动学习:从Linux主机nfs共享文件到uboot
  • Linux下场景模拟--cpu、内存打满测试
  • Vue中watch与计算属性computed
  • nginx部署前端教程
  • 设计模式:工厂模式
  • 系统监测工具-tcpdump的使用
  • Java智慧校园系统源码 微信小程序+电子班牌
  • OpenAI Sora:浅析文生视频模型Sora以及技术原理简介
  • canal部署
  • 001集——在线网络学习快速完成——16倍速度
  • golang web 开发 —— gin 框架 (gorm 链接 mysql)
  • 区块链相关概念
  • 文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑灵活爬坡产品的虚拟电厂两阶段分布鲁棒优化运营策略》
  • 2.k8s架构
  • xss.pwnfunction-Ligma
  • 分布式限流——Redis实现令牌桶算法
  • 鸿蒙原生应用已超4000个!
  • manga-ocr漫画日文ocr
  • STL、Vector和Set的讲解和例题分析
  • Android 13 aosp hiddenapi config
  • 数据仓库面试总结
  • git Failed to connect to 你的网址 port 8282: Timed out
  • [C++][算法基础]堆排序(堆)
  • 备考ICA----Istio实验15---开启 mTLS 自动双向认证实验
  • Hive SchemaTool 命令详解
  • 51单片机入门_江协科技_17~18_OB记录的笔记
  • xss.pwnfunction-Ah That‘s Hawt