凯文·韦伯谈Java的云迁移和微服务
极客时间编辑部
讲述:丁婵大小:1.07M时长:02:21
近日,凯文·韦伯(Kevin Webber)在 2017 Reactive 峰会上的演讲中,提到了企业级 Java 应用的云迁移以及微服务架构等多个话题。
韦伯拥有 18 年以上的 Java 开发和架构经验,并于 2016 年创立了软件咨询公司 RedElastic。
在韦伯看来,企业软件构建应用程序的形式比较散碎,不够系统,集成很复杂。传统的基础架构(Traditional infrastructures)具备主动或被动的粗糙故障转移(crude failover),支持在主动和被动系统之间复制复杂的状态。
而为了定义所涉及的业务过程以及如何将这些过程转换为事件驱动(event-driven)系统,事件风暴(Event storming)将关键的利益相关者聚集到一个协作的环境中。团队应该关注在业务中已经发生的最有趣的事件。
同时韦伯还谈到了洋葱架构(Onion architecture),他认为洋葱架构与领域驱动设计(Domain Driven Design)的概念非常吻合。该架构中的以下几个层可以帮助实现不同方面的需求。
基础架构:开发者可以使用该层来实现诸如健康检查、跟踪和身份验证等交叉需求。
API:该层用于路由和数据验证。
域:管理这个层中的有界上下文。
核心:开发者们管理聚合(Aggregates)的地方。
当谈到微服务架构时,他认为团队应该首先从整体模型开始着手,并使用微服务作为重构技术,将系统分解成多个微服务。微服务模型不仅有助于分布式系统,也有助于分布式团队。
他表示,很多团队专注于在服务级别上分解系统,但却在数据层保持耦合。在这样的架构中,任何数据模型都将影响多个服务。
会议结束后,InfoQ 与韦伯进行了更深入的交谈。韦伯指出,一旦微服务有点对点的交互,那么在服务管理方面就会混乱。在他看来,如果一个微服务发生改变的时候影响了另一个,那么这种情况下它们就不算是真正独立的微服务,两者应该整合为单一的服务。
最后,韦伯分享了微服务的构成实践,他表示,微服务的构成可以利用 PubSub 模型来实现,PubSub 使用像 Kafka 之类的服务器,先将事件发送到队列,再使用诸如 Cassandra 的 NoSQL 数据库将事件存储在事件日志存储中。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论