Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
清新范er
JavaGuide
提交
cbb1e677
J
JavaGuide
项目概览
清新范er
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
cbb1e677
编写于
11月 14, 2019
作者:
S
SnailClimb
提交者:
GitHub
11月 14, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #543 from gpqhl0071/master
修改错别字
上级
f1853647
52302c51
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
4 deletion
+10
-4
docs/system-design/data-communication/summary.md
docs/system-design/data-communication/summary.md
+1
-1
docs/system-design/data-communication/why-use-rpc.md
docs/system-design/data-communication/why-use-rpc.md
+9
-3
未找到文件。
docs/system-design/data-communication/summary.md
浏览文件 @
cbb1e677
...
...
@@ -44,7 +44,7 @@
**消息中间件,也可以叫做中央消息队列或者是消息队列(区别于本地消息队列,本地消息队列指的是JVM内的队列实现)**
,是一种独立的队列系统,消息中间件经常用来解决内部服务之间的
**异步调用问题**
。请求服务方把请求队列放到队列中即可返回,然后等待服务提供方去队列中获取请求进行处理,之后通过回调等机制把结果返回给请求服务方。
异步调用只是消息中间件一个非常常见的应用场景。此外,常用的消息队列应用场景还
偷
如下几个:
异步调用只是消息中间件一个非常常见的应用场景。此外,常用的消息队列应用场景还
有
如下几个:
-
**解耦 :**
一个业务的非核心流程需要依赖其他系统,但结果并不重要,有通知即可。
-
**最终一致性 :**
指的是两个系统的状态保持一致,可以有一定的延迟,只要最终达到一致性即可。经常用在解决分布式事务上。
-
**广播 :**
消息队列最基本的功能。生产者只负责生产消息,订阅者接收消息。
...
...
docs/system-design/data-communication/why-use-rpc.md
浏览文件 @
cbb1e677
...
...
@@ -74,13 +74,17 @@ Server: Apache 0.84
</html>
```
**使用自定义 TCP 协议进行传输就会避免上面这个问题,极大地减轻了传输数据的开销。**
这也就是为什么通常会采用自定义 TCP 协议的 RPC 来进行进行服务调用的真正原因。初次之外,成熟的 RPC 框架还提供好了“服务自动注册与发现”、"智能负载均衡"、“可视化的服务治理和运维”、“运行期流量调度”等等功能,这些也算是选择 RPC 进行服务注册和发现的一方面原因吧!
**使用自定义 TCP 协议进行传输就会避免上面这个问题,极大地减轻了传输数据的开销。**
这也就是为什么通常会采用自定义 TCP 协议的 RPC
来进行进行服务调用的真正原因。除此之外,成熟的 RPC
框架还提供好了“服务自动注册与发现”、"智能负载均衡"、“可视化的服务治理和运维”、“运行期流量调度”等等功能,这些也算是选择
RPC 进行服务注册和发现的一方面原因吧!
**相关阅读:**
-
http://www.ruanyifeng.com/blog/2016/08/http.html (HTTP 协议入门- 阮一峰)
###一个常见的错误观点
###
一个常见的错误观点
很多文章中还会提到说 HTTP 协议相较于自定义 TCP 报文协议,增加的开销在于连接的建立与断开,但是这个观点已经被否认,下面截取自知乎中一个回答,原回答地址:https://www.zhihu.com/question/41609070/answer/191965937。
...
...
@@ -88,7 +92,9 @@ Server: Apache 0.84
### 题外话
初次之外,还需要注意的一点是 Spring Cloud Netflix 并没有使用 RPC 框架来进行不同服务之间的调用,而是使用 HTTP 协议进行调用的,速度虽然不比 RPC ,但是使用 HTTP 协议也会带来其他很多好处(这一点,可以自行查阅相关资料了解)。
除此之外,还需要注意的一点是 Spring Cloud Netflix 并没有使用 RPC
框架来进行不同服务之间的调用,而是使用 HTTP 协议进行调用的,速度虽然不比 RPC
,但是使用 HTTP 协议也会带来其他很多好处(这一点,可以自行查阅相关资料了解)。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录