写点什么

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

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

关注

评论

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

软件测试需要学习什么?好学吗?需要学多久?到底是报班好还是自学好?

伤心的辣条

程序员 程序人生 软件测试 自动化测试 Python自动化

静态链接,静态分派,动态链接

北洋

android 6月月更

黄硕:百度飞桨文心大模型在语音文本审核中的应用

声网

RTC Dev Meetup 生态专栏 语音处理

leetcode 310. Minimum Height Trees 最小高度树(中等)

okokabcd

LeetCode 搜索 数据结构与算法

读书笔记之:认知觉醒

甜甜的白桃

读书 书单 阅读 6月月更

物联网低代码平台如何查询授权信息?

AIRIOT

物联网 低代码开发

让你驱动力开机工作了,不是在待机状态。

叶小鍵

看完就会,从抓包到接口测试的全过程解析

伤心的辣条

程序员 自动化测试 接口测试 测试开发 Python自动化

gRPC C++开发环境搭建

赖猫

c c++ gRPC

快速实现微信登录第三方小程序快捷方式

Geek_99967b

小程序 小程序转app

线程的创建方法

卢卡多多

线程池 线程安全 6月月更

用FinClip实现App小程序微信授权登录详解

Geek_99967b

小程序 小程序容器

如何方便的将小程序转换成APP

Geek_99967b

小程序 小程序容器

模块四(千万级学生管理系统的考试试卷存储方案)

Geek_701557

人人都在搞数据治理

奔向架构师

数据治理 数据管理 6月月更

【涨姿势】你没用过的BadgeDrawable

yechaoa

android 6月月更 material design BadgeDrawable

Vue3 Composition API如何替换Vue Mixins

源字节1号

前端开发 小程序开发

flutter系列之:flutter中常用的ListView layout详解

程序那些事

flutter 程序那些事 6月月更

攻防演练中六条安全体系建议

穿过生命散发芬芳

6月月更 攻防演练

一文读懂当今AI圈大热的“MLOps”

澳鹏Appen

人工智能 机器学习 大数据 数据标注 运维开发

Lazada的算法本土化实践:让东南亚没有难投放的广告

科技新知

数据库每日一题---第11天:合作过至少三次的演员和导演

知心宝贝

数据库 前端 后端 6月月更

浅谈隐私计算与数据安全

I

学习笔记 数据安全 隐私计算 可信安全计算

【愚公系列】2022年06月 通用职责分配原则(一)-信息专家原则

愚公搬代码

6月月更

vue监听器

小恺

6月月更

Android ShapeableImageView使用详解,告别shape、三方库

yechaoa

android 6月月更 material design ShapeableImageView

换掉bpmn-js,让前端更熟悉工作流业务

相续心

前端 流程图 workflow

SQL优化

工程师日月

6月月更

架构实战营模块 8 作业

热猫

比Postman更适合国人的接口调试工具

伤心的辣条

程序员 自动化测试 接口测试 Python自动化 程序员程序人生

改造微服务的三个时机

阿泽🧸

微服务 6月月更

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