写点什么

MicroXchg 柏林座谈会:微服务的成熟度

  • 2018-04-02
  • 本文字数:1781 字

    阅读完需:约 6 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

MicroXchg 2018 柏林微服务座谈会上,一个专家组探讨了微服务的现状,并分析了炒作期是否已经结束,微服务是否已经成为一项成熟的技术。座谈会由 Susanne Kaiser 主持,他在讨论开始时提了一个问题,使用微服务需要具备什么前提条件。由 Stefan Tilkov Chris Richardson Elisabeth Engel Daniel Bryant 组成的专家组指出,重要的是要知道为什么希望使用微服务架构风格。有迁移需求吗?微服务主要是为了解决问题,而不是一项高端的新技术。

  • Bryant 是一名独立顾问兼 InfoQ 编辑,对于更多的技术前提,他援引了 Martin Fowler Phil Calçado 的说法,但他重点强调了理解自己的领域模型的重要性。对于一家并不真正地知道自己在构建什么的初创企业,他会选择效率最高的技术,而这通常不是微服务。
  • Engel 是来自 Gutefrage 的 UX 和软件工程师,她指出,如果当前的架构没有让你觉得痛苦,那么也许你应该继续使用。
  • Richardson 是 Eventuate 的创始人,他指出,如果当前的架构拖了你的后腿,那么这是迁移到微服务架构的好时机。
  • Tilkov 是 INNOQ 的联合创始人,他指出,没有微服务也可以构建出优秀的系统,甚至,有时候使用单体可以构建出更好的软件。

接下来,Kaiser 问道,采用微服务的最大障碍是什么以及如何克服它们。

  • Tilkov 认为,一个主要的障碍是你把服务边界或规模弄错了。这改起来太难,团队往往会接受最初的实现,即使那不是很棒。
  • 在 Richardson 看来,采用微服务时的根本问题是如何分解成一个有意义的服务集。另一方面,当和有几百万行代码的单体应用程序打交道时,开发人员每天都要面对那种复杂的情况。而和单个服务打交道就简单多了。
  • Engel 认为复杂度是最难的部分。在她看来,成功的关键是要有东西让开发人员查阅、理解和使用。
  • Bryant 指出,我们一定不能忘记和微服务有关的所有技术,而且,设计和构建系统的方法和架构本身一样重要。

在探讨引入微服务后前端面临的挑战时,Engel 指出,应用程序的用户仍然将其视为一个东西,因此,你必须保证,当内容来自不同的后端服务时,显示要保持一致。一项挑战是,前端技术不是为微服务后端而构建的。通常,其解决方案使用像了 iframe framesets 这样的旧技术,为此,就需要一些基于 JavaScript 的新技术。Tilkov 则指出,架构师必须更多地关注前端,认识到它的重要性。在他看来,前端通常比后端更重要。

接下来的问题比较笼统,就是微服务是否已经成为构建企业级应用程序的首选方式?

  • Richardson 和 Tilkov 认为,微服务不应该成为第一选择,他们强调,架构必须取决于上下文。对于单个的小型团队,单体几乎总是更好。涉及多个团队时,你可能应该考虑下某种形式的服务分解。
  • Engel 喜欢先准备一个单体架构,然后留有接口,在需要的时候可以分解。
  • 在 Bryant 看来,演化架构非常有意义,有利于将来的架构迁移。

除了微服务外,Kaiser 还问,无服务器架构是否是构建系统的下一步方案以及它们如何与微服务搭配使用。

  • Richardson 认为,无服务器和微服务互不相关,在他看来,无服务器是一种微服务部署方式——是容器将来的替代方案。
  • 在 Tilkov 看来,无服务器是完美的部署选项;他认为,从今五年之后,我们将不再部署 Kubernetes 集群。不过,他有一个问题,就是他不清楚如何构建一个由其中 100 个函数组成的大型系统。他认为,我们需要某种东西把它们聚合成一个更大的单元,并和仅使用数据库触发器调用存储过程构建大型系统进行了比较。
  • Bryant 提到,类似 Camunda 这样的新技术是使用领域专属语言(DSL)描述函数交互的业务流程管理器(BPM)的下一次进化。它们允许业务函数组合成业务流程,可能是把简单的高度事件驱动的函数组装成工作流的一种方式。

当问到,微服务是否会退潮,并进化成其他东西时,专家组一致认为,我们总是需要缩小规模、降低复杂度。技术和平台会进化,但微服务中边界这个核心理念以及看问题的内外视角很长一段时间都不会变。Bryant 认为,更标准的函数会被放入平台里,让开发人员可以更多地关注业务——也许,在不远的将来,软件工程师将和业务人员一起参加这个大会。

在近日举行的 QCon 伦敦 2018 大会上,有一个座谈会讨论了微服务和分布式系统的未来

大会演讲已经录音;有的已经发布,后续还会有更多内容。

查看英文原文 The Maturity of Microservices: MicroXchg Berlin Panel Discussion

2018-04-02 19:001126
用户头像

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

关注

评论

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

如何成为一名优秀的技术Leader?

架构精进之路

成长笔记 七日更 28天写作

2021面试脚本!夜读互联网Java开发27大专题,终入P7

比伯

Java 程序员 面试 计算机 技术宅

mq消费幂等总结

A

MQ 幂等性 db

关注直播 解锁采集器新功能

滴滴云

运维 可观测性 直播技术 滴滴夜莺

k8s 上运行我们的 springboot 服务之——springboot服务https请求

柠檬

Java k8s https Istio,

DCache 分布式存储系统|安装部署与应用创建

TARS基金会

缓存 分布式 微服务 存储 TARS

数据结构与算法 - 哈夫曼树

ios 数据结构与算法

Redis中哈希分布不均匀该怎么办

Java 数据库 编程 程序员 面试

深度模型的日志异常检测,还有谁不会?

华为云开发者联盟

运维 日志 网络 AIOPS 系统

AQS之ReentrantReadWriteLock写锁

伯阳

读写锁 ReentrantReadWriteLock 多线程与高并发 lock

FFMpeg解码API以及在解码过程中存在的丢帧问题

wangwei1237

ffmpeg 视频解码

对微服务架构设计实践中若干问题的探讨

xcbeyond

微服务 28天写作

Java 程序经验小结:避免使用终结方法

后台技术汇

28天写作

Spring Boot 中集成ActiveMQ

武哥聊编程

Java springboot SpringBoot 2 28天写作 Activemq

架构师 3 期 3 班 -week9- 总结

zbest

总结 week9

有人相爱,有人年少财务自由,有人数据结构都背不出来

Java架构师迁哥

第一周

Richard

腾讯T3大佬亲自教你!一起刷完了这份1307页的安卓面试宝典吧,吐血整理

欢喜学安卓

android 程序员 面试 移动开发

数字钱包系统软件开发|数字钱包APP开发

系统开发

Pulsar vs Kafka,CTO 如何抉择?

Apache Pulsar

大数据 pulsar 消息中间件

架构师 3 期 3 班 -week9- 作业

zbest

作业 week9

基于机器学习的逻辑回归模型

无誉

[JetPack] LiveData源码解析

Changing Lin

android 技术 JetPack

还热乎的面经

书旅

百度 面试 面经

软件测试--cookie学习

测试人生路

软件测试

程序员的简历,要注意以下几点

田维常

简历

持币生息钱包APP系统开发|持币生息钱包软件开发

系统开发

美团图数据库平台建设及业务实践

NebulaGraph

图数据库

爱了爱了!带着问题深入学习Handler,吊打面试官系列!

欢喜学安卓

android 程序员 面试 移动开发

全球城市ZoneId和UTC时间偏移量的最全对照表

YourBatman

GMT UTC ZoneId 时区

高效学习:如何制定有价值的学习目标

石云升

学习 28天写作

MicroXchg柏林座谈会:微服务的成熟度_语言 & 开发_Jan Stenberg_InfoQ精选文章