写点什么

Kevin Webber:Java 的云迁移

  • 2017-11-30
  • 本文字数:1125 字

    阅读完需:约 4 分钟

Kevin Webber 在开始演讲的时候说,企业软件构建应用程序的形式比较散碎,不够系统,集成很复杂。传统的基础架构(Traditional infrastructures)具备主动 / 被动的粗糙故障转移(crude failover),支持在主动和被动系统之间复制复杂的状态。

在一个现代化项目中,架构师必须做出的最初几项决定(“第一英里(The First mile)”)是至关重要的。他不仅谈到了关键的架构决策,也提及了如何根据领域驱动设计( Domain-Driven Design)的原则来做出这些决策。为了定义所涉及的业务过程以及如何将这些过程转换为事件驱动(event-driven)系统,事件风暴(Event storming)将关键的利益相关者聚集到一个协作的环境中。团队应该关注在业务中已经发生的最有趣的事件。

在从遗留系统(legacy sysems)到反应系统(Reactive systems)的迁移中,其他一些诸如防护层 (ACL) 和 Strangler 模式的概念也同样有用。

洋葱架构(Onion architecture)与领域驱动设计(Domain Driven Design)的概念非常吻合。该架构中的以下几个层可以帮助实现不同方面的需求。

  • 基础架构:我们可以使用该层来实现诸如健康检查、跟踪和身份验证等交叉需求(cross-cutting requirements)。
  • API:用于路由和数据验证
  • 域:管理这个层中的有界上下文
  • 核心:这就是我们管理聚合(Aggregates)的地方

Webber 讨论了云原生对于应用程序的意义。应用程序需要是容器包装的、动态管理的和面向微服务的。

Webber 还谈到了微服务架构,他推荐道:团队首先应该从整体模型开始着手, 并使用微服务作为重构技术将系统分解成多个微服务。微服务模型不仅有助于分布式系统, 也有助于分布式团队。

很多团队专注于在服务级别上分解系统,但却在数据层保持耦合。在这样的架构中,任何数据模型都将影响多个服务。

在会议结束后,InfoQ 与Kevin 进行了交谈,了解了有关将Java 应用程序迁移到云基础架构上的更多详细信息。

Kevin 说到,一旦微服务有点对点的交互,那么在服务管理方面就会混乱。重要的是要记住, 如果一个微服务发生改变的时候影响了另一个,那么这种情况下它们就不算真正独立的微服务,两者应该整合为单一的服务。

微服务的构成可以利用 PubSub 模型来实现,PubSub 使用像 Kafka 之类的服务器, 先将事件发送到队列,再使用诸如 Cassandra 的 NoSQL 数据库将事件存储在事件日志存储(Event Log Store)中。

如果读者想要了解更多关于该话题的细节,可以在奥莱利(O’Reilly)中查阅 Webber 的 Mini 书《 Migrating Java to the Cloud

查看英文原文: Kevin Webber on Migrating Java to the Cloud


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-11-30 18:001350
用户头像

发布了 21 篇内容, 共 13.2 次阅读, 收获喜欢 13 次。

关注

评论

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

普渡科技宣布成立“PUDU-X”创新基金,为青年工程师筑梦未来

Geek_2d6073

美团二面:为什么Redis会有哨兵?

Java全栈架构师

Java 数据库 redis 程序员 面试

All in ONE!博睿数据重磅推出一体化智能可观测平台

博睿数据

博睿数据 IT运维 ONE平台

Authing 被世界经济论坛评选为 2022 技术先锋企业

Authing

身份云 科技 Idaas 科技企业

明天,龙蜥2位专家直播,第22届计算机系统会议等活动来了!

OpenAnolis小助手

Linux 开源 直播 内核 龙蜥技术

宜搭5月更新:跨应用数据读写能力升级,AI组件内测开放

一只大光圈

源码解读预告 |TiFlash DeltaTree 引擎设计及实现解析!

TiDB 社区干货传送门

青藤入选信通院“数据安全推进计划”成员单位

青藤云安全

数据安全 信通院

Redis「9」主从、高可用性方案

Samson

redis 学习笔记 5月月更

linux之awk使用技巧

入门小站

ECSM隐私协议

潇潇雨歇

springboot集成activiti整套方案()

金陵老街

Vue ERP Activiti spring-boot

4月券商App行情刷新及交易体验评测报告,7家券商入围领导者象限

博睿数据

性能测试 系统运维 博睿数据 券商排行

Authing 身份云招聘:增长黑客

Authing

招聘 科技

数据库连接池 -Druid 源码学习(十)

wjchenge

Druid 数据库连接池

半年面试数百场,我总结出了这份10w字Java面试复盘笔记

Java全栈架构师

Java spring 程序员 架构 面试

JSON在线对比差异工具

入门小站

工具

dfs专项练习题

工程师日月

DFS 5月月更

【高并发】什么是ForkJoin?看这一篇就够了!

冰河

并发编程 多线程 高并发 协程 异步编程

【活动报名】TiDB 社区天津站 Meetup 要来啦!

TiDB 社区干货传送门

生命科学领域下的医药研发通过什么技术?冷冻电镜?分子模拟?IND?

GPU算力

【LeetCode】数组中的第K个最大元素Java题解

Albert

LeetCode 5月月更

windows下C语言使用curl库访问HTTP下载文件

DS小龙哥

5月月更

计算机网络概述

工程师日月

计算机网络 5月月更

OceanBase 源码解读(十一):Location Cache 模块浅析

OceanBase 数据库

oceanbase 源码解读

AIRIOT物联网低代码平台如何配置OPC UA驱动?

AIRIOT

SysAK 应用抖动诊断篇—— eBPF又立功了! | 龙蜥技术

OpenAnolis小助手

Linux 工具 内核 ebpf 龙蜥技术

天翼云推荐新人返好礼,最高返利千元

天翼云开发者社区

5.26直播预告|《观见话题》第一期:跨境组网与加速上云的硬核解法

观测云

极速调取客户保单,YRCloudFile 助力保险存储架构升级

焱融科技

AI 存储 NAS 数字金融

大家谈的视频体验指标,都有哪些?如何测定?

声网

视频 Qoe Dev for Dev

Kevin Webber:Java的云迁移_语言 & 开发_Srini Penchikala_InfoQ精选文章