2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Vaughn Vernon 谈云原生和反应式现状

  • 2018-09-03
  • 本文字数:1456 字

    阅读完需:约 5 分钟

反应式 NoSQL 是现如今的重要概念,它们非常有用,但是,在阅读网文时, Vaughn Vernon 有时候会有这样的感觉,就是如果公司要想获得云原生应用程序的全部好处,就必须使用这些概念。他在一篇博文中强调,这不是真的,并且指出,不把所有的东西重新构建,也是很有可能从云中受益的。

Vernon 是《实现域驱动设计》和《基于Actor 模型的反应式消息传递模式》一书的作者。在试图阐明有关云原生和反应式的技术现状时,他回应了自己读过而又特别在意的六种言论。

信息是一种原始格式的实时流数据库

在Vernon 看来,当你需要快速响应业务变化时,流数据是一种非常有用的技术,目前,它是实时处理数据的最佳方式。不过,他指出,数据总是在云中流动的说法并不准确。大多数业务系统仍然使用静止的持久化状态数据。

他还指出,在处理流时,有一些智能解决方案可以帮助解析流数据,并且对缺少这类工具的技术栈发出了警告。

传统Java 工场的技能集不利于基于云的现代化应用程序

Vernon 强调,可以把富有经验的开发人员的技巧用在反应式架构中。公司不用因为采用新的技术栈就用新人替换现有的开发人员和架构师,那样会把核心业务置于风险之中。

Vernon 指出,为了帮助开发人员提高,应该给他们提供现代化的工具,比如支持并发和并行的硬件,这是现如今非常有用的东西。

数据不是永久的,总是在变化

Vernon 认为那不是真的;数据是持久化的,就像几十年来一直在做的那样。如果出现中断,而数据没有持久化,那么公司最有价值的资产就会丢失。通常,对于流而言,情况就是如此。当然,有一些例外。有时候,只需要对流中的数据进行抽样,在这种情况下,流中的部分数据可以丢失,而且没有任何影响。

当情况需要时,你不能认为使用 RDBMS 低级。在某些情况下,RDBMS 可能无法满足特定应用场景的扩展性需求。另外有些时候,它并不是当前任务的最佳选择,而随意忽略这样一种技术选择会导致许多不必要的复杂性。

在 Vernon 看来,重要的是要理解何时需要持久化,他还指出,大多数专家和开发人员都可以推断出来,做出可靠的决策。

数据是一个流,你无法对它执行 SQL 查询

就流本身而言,是这样的,但通常,数据流可以进入允许使用 SQL 进行查询的存储。查询实时流数据的其中一个例子是被称为连续查询的技术,Vernon 指出,这项技术已经推出很长时间了。

反应式是一种构建应用程序的新方法,单体应用无法从云中获益

包括单体应用程序无法从云中获益在内,这些言论对于Vernon 而言都很常见,但是错误的,他提到了一项称为“ lift and shift ”的技术,可以在保留遗留系统的同时从云中获益。在 Vernon 看来,一个恰当模块化的单体比一大堆强耦合的微服务要强多了。相反,问题来自脆弱的架构和糟糕的模块化,那通常会导致大泥球模式

Vernon 建议,当不同业务域的变化速率存在明显的差别时,考虑一下微服务,并且指出,知道在什么情况下优先选择应用程序微服务架构或单体架构非常重要。

当使用 Java 时,你必须改变做事方法,并采用反应式方法从而利用云的优势

Vernon 认为,Java 或另外一门 JVM 语言非常适合创建反应式应用程序以及实现实时、流式、数据驱动的场景。他还认为,Java 有一个光明的未来,并援引了 Bjarne Stroustrup 的话

只有两种 [编程] 语言:人们抱怨的语言和没人用的语言。

为了帮助构建 Java 原生、反应式应用程序,Vernon 已经开始致力于开源平台 vlingo 的开发,旨在从反应式、事件驱动的微服务架构中获益。该平台以领域驱动设计角色模型的思想为基础,现在已经提供下载

查看英文原文: Vaughn Vernon: The Reality of Being Cloud-Native and Reactive

2018-09-03 14:572001
用户头像

发布了 1008 篇内容, 共 447.1 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

【9.9-9.16】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

Elasticsearch安全又双叒叕出问题? 搜索引擎该怎么选

星环科技

软件测试 | 测试开发 | 测试人生 | 双非院校,从外包到外企涨薪85%,他的涨薪秘籍全公开

测吧(北京)科技有限公司

测试

原生实现异步处理利器 —— Observable

掘金安东尼

前端 9月月更

软件测试 | 测试开发 | web自动化测试-文件上传与弹框处理

测吧(北京)科技有限公司

测试

Sophon AutoCV Q&A大放送:如何加速视觉模型生产和落地(上篇)

星环科技

为企业产品实现随时随地的客户服务

Baklib

产品 企业 客户服务 帮助中心 降低成本

星环科技发布工业互联网解决方案,场景化赋能制造业转型升级

星环科技

软件测试 | 测试开发 | 测试人生 | 资深外包逆袭大厂测试开发:面试官的“歧视”表情深深刺痛了我

测吧(北京)科技有限公司

测试

热烈祝贺致欧家居获2022 IDC中国未来企业大奖「未来数字基础架构领军者优秀奖」

OceanBase 数据库

软件测试 | 测试开发 | 记一次connection-reset-by-peer问题定位

测吧(北京)科技有限公司

测试

自动化测试如何区分用例集合

老张

自动化测试 测试用例

设计模式简要介绍

六月的雨在InfoQ

Java 设计模式 单例模式 23种设计模式 9月月更

5 大核心能力+1 套全局防护策略,星环科技 Defensor 构建企业数据安全护城河

星环科技

软件测试 | 测试开发 | Real Distributed APEX

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 使用 adb 对 Android 声音控制全面适配

测吧(北京)科技有限公司

测试

关于iPhone 14 Pro 的灵动岛设计的思考

宇宙之一粟

iphone 思考 设计 9月月更

Sophon AutoCV Q&A大放送:如何加速视觉模型生产和落地(下篇)

星环科技

软件测试 | 测试开发 | Android动态权限详解

测吧(北京)科技有限公司

测试

ODC 3.4.0 现已上线,让数据库开发更简单

OceanBase 数据库

软件测试 | 测试开发 | 前端代码优化小技巧

测吧(北京)科技有限公司

测试

团队难带测试管理太难做?十多位名企测试专家带你成为优秀管理!

测吧(北京)科技有限公司

测试

禅道的Bug管理流程介绍

禅道项目管理

测试 禅道 bug管理

2022年汽车智能座舱市场分析

易观分析

汽车 智能座舱

JavaScript之面向对象

楠羽

JavaScript 笔记 9月月更

高效的知识管理应具备的元素

Baklib

知识管理 高效 知识库

如何做有价值的企业知识管理?

Baklib

创业 知识管理 企业 知识库

星环科技多模型数据统一存储的大数据分布式存储平台方案分享

星环科技

SQL 改写系列十:半连接转内连接

OceanBase 数据库

如何让用户用好你的在线设计协作工具?帮助中心来解决

Baklib

Vaughn Vernon谈云原生和反应式现状_架构_Jan Stenberg_InfoQ精选文章