QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:571471
用户头像

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

关注

评论

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

面试官:Redis 主从复制时网络开小差了怎么整?

redis 学习 面试

区块链带来的业务流程优化是数字化转型最深层次的变革

CECBC

区块链 数字化

8.2常见数据结构与Hash表原理分析

张荣召

8.4经典算法

张荣召

va_list 可变长参数原理

liu_liu

c 可变参数 va_list

架构师训练营 1 期 - 第八周总结(vaik)

行之

极客大学架构师训练营

每个程序员都应该知道的数字

多颗糖

数据库 计算机基础 存储

8.1文件与磁盘IO:如何把磁盘的读写速度提升十万倍?

张荣召

8.5网络通信基本原理与性能优化

张荣召

8.6非阻塞网络I/O

张荣召

数字货币交易所开发定制,币币撮合交易开发商

13530558032

区块链USDT系统开发解决方案,USDT支付系统技术开发

13530558032

第5周 技术选型(一)-作业

SuGeek

极客大学架构师训练营

【薪火计划】02 - 一将功成万骨枯

AR7

管理

适合初学者的Web Components教程[2019](译)

西贝

Java Web Component 组件

flink-sql流计算可视化UI平台

无情

sql flink 实时计算 平台

8.3红黑树原理与性能特性

张荣召

学习总结--week08

张荣召

我画着图,FluentAPI 她自己就生成了

newbe36524

C# .net .net core netcore

训练营第四周学习总结

爱码士

训练营

作业--week08

张荣召

架构师训练营第 1 期 第 8 周作业

李循律

极客大学架构师训练营

过滤Spark数据集的四种方法

大数志

大数据 spark 数据分析 数据科学

超赞!吃透这份Github点赞120k的Java知识面试笔记Offer拿到手软

比伯

Java 编程 程序员 架构 面试

高可用可伸缩微服务架构:基于Dubbo、SpringCloud和ServiceMesh完整蓝光版PDF分享

Java架构追梦

Java 微服务 dubbo Service Mesh SpringCloud

Spring改变版本号命名规则:此举对非英语国家很友好

YourBatman

Spring Boot 语义化 Spring Framework 日历化

训练营第4周作业

爱码士

训练营

机器学习的产业化变革中,华为云ModelArts的新成绩单

脑极体

区块链赋能供应链金融 | 应用优势与四类常见模式

CECBC

区块链 供应商审核

区块链钱包APP开发,开发搭建数字货币钱包

13530558032

【干货】内存条的基础讲解,够用绝大多数情况

亚兰—硅的传奇official

计算机基础 内存 装机 硬件

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