写点什么

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

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

关注

评论

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

为什么需要可编程代理

Flomesh

负载均衡 代理 Pipy 可编程代理

湖仓一体,Hologres加速云数据湖DLF技术原理解析

阿里云大数据AI技术

sql 大数据 分布式计算 Cloud Native MaxCompute

TiDB 6.0 的「元功能」:Placement Rules in SQL 是什么?

PingCAP

2021年最新基于Spring Cloud的微服务架构分析

爱好编程进阶

Java 面试 后端开发

Alibaba最新出品Java面试手册,号称金九银十面试“完美日记

爱好编程进阶

Java 面试 后端开发

CAT客户端如何从Apollo中读取配置?

爱好编程进阶

Java 面试 后端开发

TASKCTL 资源树刷新、重载和重置的不同区别

敏捷调度TASKCTL

DevOps 分布式 敏捷开发 自动化运维 大数据运维

报告解读下载 | 首份《中国数据库行业分析报告》重磅发布!

墨天轮

数据库 国产数据库 达梦 polarDB gbase8a

叮咚!请查收来自一线数据科学家和大数据工程师的实战经验| IDP Meetup No.02 回顾

Baihai IDP

Python 大数据 AI 算法 数据科学

2021银四特惠:分享字节跳动(提前批

爱好编程进阶

Java 面试 后端开发

BS-GX-016基于SSM实现教材管理系统

爱好编程进阶

Java 面试 后端开发

【高并发】如何解决可见性和有序性问题?这次彻底懂了!

冰河

并发编程 多线程 协程 异步编程 精通高并发系列

Build On 活动预告 | 构建你的第一个基于知识图谱的推荐模型

亚马逊云科技 (Amazon Web Services)

云计算

区块链+数字资产,未来财富的新起点

易观分析

区块链 数字经济

Envoy熔断限流实践(二)Rainbond基于RLS服务全局限流

北京好雨科技有限公司

百度小程序包流式下载安装优化

百度Geek说

小程序

华为云GaussDB(for Influx)揭密:数据分级存储

华为云开发者联盟

华为云 GaussDB(for Influx) 时序数据 数据分级存储 Influx

什么是域名(Domain Name ) ?

源字节1号

10年Java开发经验,超过500人面试阿里的同学,总结出这108道面试题

爱好编程进阶

Java 面试 后端开发

985应届进大厂,后端开发两年被裁,对前路迷茫的我

爱好编程进阶

Java 面试 后端开发

制约国内企业知识管理发展的因素

小炮

知识管理 企业知识管理 企业知识管理工具

Git技巧小能手

西门阿杰

git 版本控制

GAIA-IR: GraphScope 上的并行化图查询引擎

6979阿强

大数据 并行计算 图计算 GraphScope 图分析

预备,请关注!DingOS先导小视频发布!

鼎道智联

显卡是什么?显卡和Graphics的区别在哪里?

Finovy Cloud

人工智能 算法 云服务器 GPU服务器 显卡、gpu

2021阿里技术官重磅推出“Java进阶必备宝典” 5大专题 6000字解析

爱好编程进阶

Java 面试 后端开发

行业大咖齐聚 多元主题碰撞 OpenHarmony技术日等你来

Geek_283163

OpenAtom OpenHarmony

玩转LiteOS组件:玩转Librws

华为云开发者联盟

TCP websocket LiteOS LiteOS组件 Librws

TASKCTL 消息订阅参数设置说明

敏捷调度TASKCTL

DevOps 分布式 敏捷开发 ETL任务 自动化运维

流程图太大? 来个流程收缩展开功能

相续心

前端 工作流 流程图 SOP

OceanBase 参编金科联盟标准发布,推动数据库产业规范化发展

OceanBase 数据库

oceanbase

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