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

news2025/1/16 5:06:00

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

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

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

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

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

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

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

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

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.coloradmin.cn/o/1569584.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

与机器对话:ChatGPT 和 AI 语言模型的奇妙故事

原文:Talking to Machines: The Fascinating Story of ChatGPT and AI Language Models 译者:飞龙 协议:CC BY-NC-SA 4.0 从 ELIZA 到 ChatGPT:会话式人工智能的简史 会话式人工智能是人工智能(AI)的一个分…

【C++ STL迭代器】iterator

文章目录 【 1. 迭代器的属性 】【 2. 不同容器支持的迭代器 】【 3. 迭代器的定义方式 】【 4. 实例 】4.1 定义方式:正向迭代器和反向迭代器4.2 迭代器属性:前向迭代、双向迭代、随机迭代4.2 迭代器的遍历方法4.3 auto关键字 自动指定迭代器定义类型 背…

Pycharm安装及使用图文教程(附下载地址)

1. Pycharm简介 大家在使用Python的时候往往会选择一款自己熟悉的编译器。大多数Python使用者会选择PyCharm这款软件来进行Python的学习与开发。 关于PyCharm,PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具&a…

每日五道java面试题之ZooKeeper篇(一)

目录: 第一题. ZooKeeper 是什么?第二题. Zookeeper 文件系统第三题. Zookeeper 怎么保证主从节点的状态同步?第四题. 四种类型的数据节点 Znode第五题 . Zookeeper Watcher 机制 – 数据变更通知 第一题. ZooKeeper 是什么? Zoo…

Python爬虫:http和https介绍及请求

HTTP和HTTPS 学习目标: 记忆 http、https的概念和区别记忆 浏览器发送http请求的过程记忆 http请求头的形式记忆 http响应头的形式了解 http响应状态码 1 为什么要复习http和https 在发送请求,获取响应的过程中 就是发送http或https的请求&#xff0c…

grep无法使用完整的正则表达式

问题描述 grep无法使用完整的正则表达式,比如前置断言、后置断言、\d和\t、\n等 问题原因 使用了扩展正则,而不是perl正则。规则和perl正则不同 从文档上讲得很清楚: -E PATTERN is an extended regular expression 他是扩展表达式&#…

网络安全 | 什么是负载均衡器?

关注WX: CodingTechWork 介绍 负载均衡是在多个服务器之间有效分配网络流量的过程。负载均衡的目的是优化应用程序的可用性,并确保良好的终端用户体验。负载均衡可协助高流量网站和云计算应用程序应对数百万个用户请求,从而保证客户请求不会…

Driver not loaded之记录Qt访问MySql的解决经历

对于这个问题的本质原因,我也搞不明白,所以记录的方法不一定对所有人行之有效。我的目的很简单,就是把数据库用起来,经过查找网上资料,最终把数据库跑起来了。因此记录如下: 1,出现这个问题是缺…

【Linux】网络基础常识{OSI七层模型/ TCP/IP / 端口号 /各种协议}

文章目录 1.网络常识1.0DHCP协议1. 1IP地址/MAC地址/ARP协议是什么?IP/MACARP:IP ⇒ MAC 1.2手机连接wifi的原理 SSID与BSSID手机连接wifiSSID与BSSID 1.3手机如何通过“数据/流量”上网?1.4电脑连接wifi的原理?电脑通过热点上网…

Linux云计算之Linux基础3——Linux基本认识操作

1、终端 终端(terminal):人和系统交互的必要设备,人机交互最后一个界面(包含独立的输入输出设备) 物理终端(console):直接接入本机器的键盘设备和显示器虚拟终端(tty):通过软件方式虚拟实现的终端。它可以…

各种滤波算法

各种滤波算法 1. 半径离群点去除(Radius Outlier Removal,半径滤波)2. 统计离群点剔除(Statistical Outlier Removal, 统计滤波)3. 体素网格将采样(voxel grid downsampling)4. 最远点采样(Farthest Point Sampling, FPS)5. 正态空间将采样(Normal Space Sampling, …

第六期丨酷雷曼无人机技能培训

第6期无人机技能提升培训 盼望着盼望着,第六期无人机技能提升培训会终于如期和大家见面了。 2024年1月1日,国务院、中央军事委员会颁布《无人驾驶航空器飞行管理暂行条例》,对民用无人机飞行活动实施更为严格的规范约束,越来越多…

AOP源码解析

一、注册AnnotationAwareAspectJAutoProxyCreator&#xff0c;引入postProcessAfterInitialization 1、Spring 入口&#xff1a; <aop:aspectj-autoproxy /> registerAspectJAnnotationAutoProxyCreatorIfNecessary,注册AnnotationAwareAspectJAutoProxyCreator Annot…

elsint报错Delete `␍`eslintprettier/prettier

一&#xff0c;原因 这篇博客写得很清楚&#xff1a;解决VSCode Delete ␍eslint(prettier/prettier)错误_vscode 删除cr-CSDN博客 还有这篇文章&#xff0c;解决办法很详细&#xff1a;滑动验证页面 二&#xff0c;解决办法 根目录下新建.prettierrc.js文件 module.exports…

wordpress外贸独立站模板

wordpress外贸独立站模板 WordPress Direct Trade 外贸网站模板&#xff0c;适合做跨境电商的外贸公司官方网站使用。 https://www.waimaoyes.com/wangzhan/22.html

入门用Hive构建数据仓库

在当今数据爆炸的时代&#xff0c;构建高效的数据仓库是企业实现数据驱动决策的关键。Apache Hive 是一个基于 Hadoop 的数据仓库工具&#xff0c;可以轻松地进行数据存储、查询和分析。本文将介绍什么是 Hive、为什么选择 Hive 构建数据仓库、如何搭建 Hive 环境以及如何在 Hi…

读《Spring实战》:面向切面

AOP术语 通知&#xff08;Advice&#xff09; 在AOP中&#xff0c;切面的工作被称为通知&#xff0c;也就是通知就是具体要干的工作。 spring中有5中通知&#xff1a; 前置通知&#xff1a; 在目标方法之前调用通知功能后置通知&#xff1a; 在目标方法之后调用通知功能返回…

无线电和雷达频谱大全

1&#xff0c;频率单位 2&#xff0c;全球警用雷达频率 3&#xff0c;军用雷达频段 4&#xff0c;国际电联ITU雷达频段 5&#xff0c;无线电频段 6&#xff0c;电子对抗ECM频段 7&#xff0c;声波频段

C#清空窗体的背景图片

目录 一、涉及到的知识点 1.设置窗体的背景图 2.加载窗体背景图 3.清空窗体的背景图 二、 示例 一、涉及到的知识点 1.设置窗体的背景图 详见本文作者的其他文章&#xff1a;C#手动改变自制窗体的大小-CSDN博客 https://wenchm.blog.csdn.net/article/details/137027140…

基于SpringBoot和Vue的金融融资管理系统的设计和实现【附源码】

1、系统演示视频&#xff08;演示视频&#xff09; 2、需要交流和学习请联系