写点什么

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

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

关注

评论

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

毕业三年了,我开始明白为什么说三年是一个坎

鄙人薛某

程序员 程序人生 职场回顾

华为云FusionInsight MRS通过信通院大数据能力评估 单集群突破2万+规模

数据湖洞见

大数据 FusionInsight MRS 华为云

统一物品编码破解追溯“断链”困局

CECBC

这样的二维码,你见过吗?

诸葛小猿

Java Python 后端 二维码 myqr

Struct embedding in Go

Interstate5

time.Time dynamodb apigateway Go 语言

CORS 和 CSRF 修炼宝典

Geek_z9ygea

大前端 Web CORS CSRF

为了把握新基建风口,科技公司都在紧密筹备这件事...

极客时间企业版

技术选型课程小结

梅子黄时雨

极客大学架构师训练营

ArrayList源码阅读

慌张而黑糖

ArrayList 源码阅读

Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车

newbe36524

Docker Reactive ASP.NET Core

redis系列之——分布式锁

诸葛小猿

Java redis 分布式 分布式锁

typora设置图片自动上传,实现快速发文章

诸葛小猿

Typora PicGo gitee 上传图片

如何通过DDD构建一辆汽车

冯文辉

领域驱动设计 DDD

golang内存对齐

PONPON

go内存对齐 Go 语言

数据分析师成长体系漫谈-数仓模型设计

analysis-lion

学习 数据仓库 数据分析 随笔杂谈

鲲鹏说:高考之路你们走,高考阅卷我来守

脑极体

架构师训练营第六周总结

Melo

极客大学架构师训练营

数据库分片

Axe

阿里四面你都知道吗?

root

Java 程序员 互联网 阿里 简历

人生就是体会矛盾的过程

封不羁

成长 感悟

kubernetes集群安装(二进制)

小小文

Kubernetes 容器

依旧乐观的李彦宏,十年寻光的百度AI

脑极体

聊聊Spring的IOC以及JVM的类加载

小隐乐乐

Hadoop大数据存算分离下,如何解决新旧存储共存?

XSKY星辰天合

如何学习Visual Studio Code

博文视点Broadview

学习 读书笔记 vscode 能力提升 编辑器

信创舆情一线--5省发布区块链发展计划

统小信uos

区块链 舆情

啃碎并发(七):深入分析Synchronized原理

猿灯塔

Java

开发者必备——API设计问题

Noneplus

架构师训练营-作业5

紫极

分布式缓存与消息队列

紫极

Scala中如何优雅地实现break操作

吴慧民

scala

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