AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

算力 | 手写红黑树

九叔(高翔龙)

数据结构 算法 二叉树 红黑树

Linux常用命令速查

jiangling500

linux命令

漫画:什么是 “智能供应链” ?

京东科技开发者

云计算 供应链 智能供应链

深度剖析github star数15.1k的开源项目redux-thunk

徐小夕

Java GitHub 大前端 React

创业项目快速分析框架

boshi

创业 商业

甲方日常 61

句子

工作 随笔杂谈 日常

冰河教你一次性成功安装K8S集群(基于一主两从模式)

冰河

Docker 云原生 k8s

为什么边缘计算将终止云计算?

VoltDB

数据库 云计算 数据分析 边缘计算

数据结构与算法系列之跳表(GO)

书旅

数据结构 算法 Go 语言

深入浅出 Go - sync.Pool 源码分析

helbing

Go 语言

华为工程师又爆一份“架构师宝典”,价值百万薪“史诗级”操作系统,送你备战金三银四要不要?

编程 程序员 计算机网络 操作系统

架构第十一周作业

Nick~毓

《华为数据之道》读书笔记:第 10 章 未来已来:数据成为企业核心竞争力

方志

数字化转型 数据治理

修炼码德系列:简化条件表达式

Silently9527

Java 经验分享 代码重构 代码规范

Spring 源码学习 04:初始化容器与 DefaultListableBeanFactory

程序员小航

spring 源码 源码阅读

Forsage智能合约系统APP开发|Forsage智能合约软件开发(现成)

系统开发 现成系统

区块链落地开发,区块链版权应用搭建

t13823115967

区块链+ 区块链落地开发 区块链版权应用搭建

EXCEL、图片处理常用技巧

jiangling500

Excel 图片处理

AnyRTC --- Flutter 实现视频通话

anyRTC开发者

flutter 音视频 WebRTC 跨平台 sdk

关于Mysql常用数据类型的小抄

xzy

MySQL

《穿越数据的迷宫》笔记:中文版序二

方志

数据治理

Appium之测试微信小程序

清菡软件测试

App

高速公路二维码定位报警系统搭建解决方案

t13823115967

高速公路二维码定位报警 智慧公安

360OS张焰:AI视觉在教育中的应用

ZEGO即构

线程池 ForkJoinPool 简介

Java老k

Java 线程池 forkjoinpool 工作窃取

《穿越数据的迷宫》笔记:第1章 数据管理的重要性

方志

数据治理

有奖讨论|作为程序员,女朋友是怎么吐槽你的?

Simon郎

女朋友 话题讨论

Accept-Language是什么? 就在身边,你却没看见的“冷知识”系列(不定期偶遇)

八苦-瞿昙

随笔杂谈 HTTP

GO训练营第2周总结

Glowry

智能新时代 安全新未来 首届国网北京电力人工智能数据竞赛正式启动

极客播报

Gradle doesn't run because it can't find tools.jar in JRE

mengxn

kotlin Gradle

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