极客视点
极客时间编辑部
极客时间编辑部
113242 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/04:50
登录|注册

Reactive为什么突然翻红?

讲述:丁婵大小:6.64M时长:04:50
从 SOA 到微服务架构再到中台,服务的粒度越来越小,服务的数量越来越多。于是,一直不温不火的 Reactive 走入了人们的视线中,服务之间的通讯也成为了大家关注的焦点。
此前,InfoQ 在 ArchSummit 全球架构师峰会(北京站)现场采访了 Reactive 基金会的初创成员、 RSocket 开发者陈立兵(花名雷卷),他分享了 Reactive 和服务通讯协议的最新发展。以下是重点内容。

为什么 Reactive 会突然受到了关注?

Reactive 不是一个新事物,为什么在当前这个时间节点,Reactive 会突然翻红呢?主要是因为新技术的发展带动 Reactive 再次走入到大众视野中,这里的新技术具体包括微服务、云计算和 DDD(领域驱动设计)。
首先来看微服务。
随着业务的快速发展,业务复杂度越来越高,传统单体应用逐渐暴露出了一些问题,例如开发效率低、可维护性差等等。而微服务架构是将单个服务拆分成一系列小服务,这些小服务都拥有独立的进程,彼此独立,很好地解决了传统单体应用的上述问题,因此受到了业内的重视和推崇。
落地微服务架构就必须解决服务之间的通讯问题。传统的通讯方式是 RPC 调用,但是服务与服务之间通讯不只有 RPC,有些服务可能负责消费数据,有些可能负责数据采集或生成,有时服务之间的通讯是相互且对等的,服务的角色在分工细化之后,就需要一个更全面的通讯协议。因此,微服务的发展也就推动了 Reactive 的发展。
再来看云计算。
企业上云已经是大势所趋,但是上云之后,大家首先会关心的就是成本问题。
上云之前,企业一般是在年初的时候就做好一年的规划,购买足够多的机器,所以对于机器的利用率不是特别关心,只要保证不超出预算就可以。但是上云之后,机器利用率的高低直接关乎着每个月的 IT 费用,所以大家都想着利用率能不能高点、再高点,费用能不能省点、再省点。而异步就是提升机器利用率最好的方法之一,因此,云计算的发展也推动了 Reactive 的发展。
最后来看 DDD。
DDD 是一个开放的软件设计方法论,其划分服务的 Bounded Context 理念已经被微服务设计所接受。在各个 Context 之间如何通讯,DDD 推荐的做法是基于消息 / 事件的理念,但是具体使用什么样的技术、什么样的协议等,都没有明确,可以说是一个宽泛的概念。
DDD 与 Reactive 的结合,就很好地解决了 Context 之间如何相互通讯的问题,将抽象的概念能够以非常直观的方式进行实现,这个也是 DDD 倡导的从问题域到实现域一整套解决思路。

RSocket 是什么?

新技术的发展使得异步化、协程、Reactive 等重新走红,但是在具体微服务应用落地过程中,会遇到一个很大的难题,服务与服务之间的通讯变得非常复杂,而目前并没有一个功能全面的标准协议,大家都是在做各种协议的适配和组合。
于是,RSocket 应运而生了。
RSocket 是一个二进制的异步消息通讯协议,基于 Reactive Streams 规范具有异步、背压支持、多路复用、可扩展等特性,同时提供了 Java、JavaScript、Python、C++、Golang、Rust 各种语言的 SDK 实现,方便应用快速接入 RSocket 协议。

为什么需要 RSocket?

很多人都会好奇为什么我们会需要一个新的通讯协议,原因很简单,因为原来的通讯协议功能不够丰富和高效。现有的通讯协议基本都是解决特定领域的问题,并不能囊括所有通讯方式。
RSocket 通讯协议可以覆盖四种通讯方式,从根本上解决各种通讯问题,适配了新的技术发展。以前的通讯协议能解决特定领域的问题就可以了,是很薄的一层,而实际的通讯是复杂的。一个设计很好的协议可以从根本上满足不同应用之间的通讯需求,解决应用之间互联互通的问题,而不是当前各种协议相互转换和适配,增加架构的复杂度。
以上就是今天的内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
大纲
固定大纲
为什么 Reactive 会突然受到了关注?
RSocket 是什么?
为什么需要 RSocket?
显示
设置
留言
收藏
37
沉浸
阅读
分享
手机端
快捷键
回顶部