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

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

关注

评论

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

【HZERO微服务平台1】开源免费的企业级PaaS平台

qiaoxingxing

签约计划第二季

如何避免移动研发的一些坑

Speedoooo

研发效能 ios开发 APP开发 APP软件开发 Andriod开发

AOP在JavaScript和TypeScript中的应用

RingCentral铃盛

如何在建木CI中使用Vault管理密钥

Jianmu

DevOps CI/CD 开源软件

CSS之选择器(五)

Augus

CSS 12月日更

值得收藏!2021百度开源技术干货大汇总

百度开发者中心

开源 2021 内容合集 技术专题合集 百度开源

【等保小知识】安全等保是什么意思?是ccrc吗?

行云管家

等保 等级保护 ccrc

超写实“龚俊数字人”上线,百度智能云助力各行业打造定制数字人

百度开发者中心

人工智能

43 K8S之节点/Pod亲和调度

穿过生命散发芬芳

k8s 28天写作 12月日更

简单3步,OpenHarmony上跑起ArkUI分布式小游戏

HarmonyOS开发者

OpenHarmony

如何知道页面浏览时长?

神策技术社区

采集 iOS SDK 页面浏览

架构训练营 week2 学习总结

红莲疾风

「架构实战营」

【等保测评】山东省9家等保测评机构名单汇总

行云管家

等保 等级保护 等保测评 等保评测

一个小插曲

Tiger

28天写作

英特尔技术发力:着眼10倍封装密度提升,30%~50%晶体管密度提升,布局非硅基半导体

科技新消息

火遍全网的「蚂蚁呀嘿」教程开源了!

百度开发者中心

开源

【HZERO微服务平台2】源码分析之网关

qiaoxingxing

签约计划第二季

【HZERO微服务平台4】源码分析之admin服务刷新路由、权限、swagger的过程

qiaoxingxing

签约计划第二季

恒源云(GPUSHARE)_CV领域之几何变化

恒源云

深度学习 CV

【HZERO微服务平台3】源码分析之oauth服务token生成、校验、获取信息、传递

qiaoxingxing

签约计划第二季

跨平台多主机键鼠共享

Arch

[架构实战营] 模块六作业

张祥

架构实战营

Linux一学就会之RAID磁盘阵列的原理与搭建

学神来啦

Linux 运维 linux运维 raid linux云计算

使用WT工具恢复MongoDB数据

MongoDB中文社区

mongodb

MongoDB在 AWS Marketplace 中推出即用即付产品,有力提升客户体验

MongoDB中文社区

mongodb

JetBrains又出神器啦!Fleet,体验飞一般的感觉

程序那些事

Java ide JetBrains 程序那些事 12月日更

利用漏洞修复漏洞:青藤提供的「Log4j命令注入漏洞(CVE-2021-44228)」【免重启】在线热补丁服务现已上线!

青藤云安全

网络安全 漏洞修复

如何高效完成HarmonyOS分布式应用测试?|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS ArKUI 3.0

百度开源一款基于 Git 的多仓库管理工具:MGit

百度开发者中心

git 开源

node.js中利用IPC和共享内存机制实现计算密集型任务转移

RingCentral铃盛

Go语言学习查缺补漏ing Day8

恒生LIGHT云社区

golang 编程语言 Go 语言

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