写点什么

Axon 大会专题讨论:为什么应该使用微服务?

  • 2018-10-07
  • 本文字数:1810 字

    阅读完需:约 6 分钟

在最近于阿姆斯特丹举行的事件驱动微服务大会上,来自大会组织方 AxonIQ Frans van Buul 在小组讨论一开始就指出,微服务在今天已经很主流。他回顾了我们已经了解的东西,同时也思考了我们在未来几年的发展方向。

参加讨论的有 Promontech 的 Michael Kazarian 、Barclays 的 Prem Chandrasekaran 、Open Value 的 Bert Jan Schrijver 、AxonIQ 的 Allard Buijze 和 Pivotal 的 David Caron 。Van Buul 的第一个问题是为什么我们应该使用微服务。

  • 在 Schrijver 看来,这和可伸缩性有关。就团队而言,它是多个团队合作开发一个产品的能力。就运维而言,它是独立扩展系统不同部分的能力。他认为,如果你以正确的方式构建一个微服务系统,你几乎可以拥有无限的横向可伸缩性。

  • Buijze 指出,从技术上讲,我们使用的是单体应用还是微服务并不重要;从理论上讲,你可以像扩展微服务一样扩展一个单体应用。微服务给我们的是,每个服务有一个稳固而明确的边界。虽然架构师为组件之间的通信设置了限制,但作为开发人员,我们很容易忽略它们。如果在技术上可以与另一个组件直接通信,我们就会这样做,而忽视架构师已经制定的任何规则。如果一个组件的边界明确定义,甚至是由另一个团队管理的,就更容易保持这些边界的完整性。

  • 大约三年前,Kazarian 及其公司开始使用微服务。他们的目标是,从专注于构建核心领域的业务能力入手。他相信,微服务可以帮助他明确特性应该在哪里实现,并帮助团队保持边界。

  • Chandrasekaran 也认为,界限更加明确,这样就不容易滥用不属于你的东西。他指出,硬件的发展使微服务成为可能,所有云提供商提供的基础设施都大大简化了。对他来说,所有这些都很有说服力,但他指出,仍有一些问题需要解决。

  • 对 Caron 来说,成功的一个关键因素是,作为一家公司,你是否要战略性地加入。如果你建立了某种形式的创新实验室,让最好的开发者尝试微服务,那么你不会从中受益。此外,如果你不愿意投资于所需的文化变革,并专注于价值交付,那么你将很难获益。

Van Buul 有时会纠结于一个问题,那就是,为什么我们用小服务做了 10 年的 SOA,却突然发现它真的很糟糕,而现在,我们应该做微服务。为什么会这样?

  • Allard 指出,SOA 和微服务本质上是相同的概念。SOA 的问题出在营销和应用上,当时,大型的供应商开始销售大型的 SOA 套件,目的是赚钱。他还认为,Netflix 的架构在某种程度上影响了他们使用新技术向微服务迁移。另一个重要的区别是,我们今天拥有的基础设施更符合标准,可以帮助我们以更简单的方式交付小型组件。

  • Chandrasekaran 持谨慎乐观态度,但他指出,微服务仍在发展中。我们听到的大多是成功的故事,但他肯定,人们遇到过很多问题。他认为,我们还没有足够的证据证明微服务让我们行动更快。

接着,Van Buul 问了做微服务的先决条件:你需要什么样的技能和组织?

  • 在 Chandrasekaran 看来,这和自动化有关;你能以多快的速度将业务想法交付到生产环境、收集反馈信息、改进并再次部署?重复而又可靠地完成这项工作的唯一方法是,在整个持续交付过程中实现高水平的自动化。他还指出,无论是单体应用还是微服务,开发都只需要很少的时间,花时间的是后续工作,如安全。

  • Kazarian 来自一家大银行,他们不具备所有的自动化技能。对他来说,一个挑战是如何帮助他的开发人员在合适的地方编写正确的代码,并获得相应的好处,比如隔离性和可测试性。微服务为他提供了一种方法,让他可以开始将他的单体部署分解成许多独立部署。他还指出,微服务并不是万能的;不同公司之间的大小不同。

在最后一个问题中,Van Buul 展望了未来。我们遗漏了什么,明年我们将讨论什么?

  • Shrivjer 认为,我们需要能够帮助我们创建新服务的服务,而不必考虑基础设施。作为一名开发人员,他只想部署一个服务,而不必考虑其他任何东西。

  • Chandrasekaran 相信,在没有完整生态系统的情况下,服务间测试将得到更多的支持。他指出,说我们要部署函数可能很时髦,但他认为,还有一些问题需要解决,比如延迟。

  • Kazarian 一直希望提高运营效率,可以按照业务要求更快、更高质量的完成代码。对他来说,就是简化基础设施的复杂性。他的工程师应该是该领域的 DDD 专家,但他们正疲于应付基础设施。

最后,Buijze 指出,AxonIQ 致力于应用程序级的简化,使开发人员能够专注于业务功能。最困难的部分是人;如何真正构建正确的东西,使软件开发更人性,因为技术就在那里。

查看英文原文: Axon Conference Panel: Why Should We Use Microservices?

2018-10-07 08:271589
用户头像

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

关注

评论 1 条评论

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

如何合并K个有序链表

Skysper

算法

Go timer 是如何被调度的?

HHFCodeRv

Go 语言

双向链表,还能这么实现

实力程序员

阿里云,让「服务」成为一种先进生产力

ToB行业头条

云计算 阿里云

react源码解析8.render阶段

全栈潇晨

React react源码

企业管理软件开发新模式:抛开旧思维,轻松做系统

雯雯写代码

软件开发 企业管理

云图说|OLAP开源引擎的一匹黑马,MRS集群组件之ClickHouse

华为云开发者联盟

Clickhouse MRS 华为云 云图说 OLAP开源引擎

Java 并发编程—— Exchanger

Antway

6月日更

数仓建设之路(一)

undefined

如何看懂常用原理图符号、如何阅读原理图

不脱发的程序猿

电路设计 原理图符号 阅读原理图

【Vue2.x 源码学习】第七篇 - 阶段性梳理

Brave

源码 vue2 6月日更

【LeetCode】汉明距离Java题解

Albert

算法 LeetCode 6月日更

分布式管理员zookeeper

卢卡多多

zookeeper CAP 6月日更

真香!SpringBoot+SpringCloud Alibaba全套脑图+学习笔记+大厂面试题

Java架构追梦

Java 架构 微服务 springboot SpringCloud

AI缘起——达特茅斯会议

行者AI

人工智能

美团主办国际顶会ICCV 2021研讨会,食品视觉领域顶级挑战赛开启报名

科技热闻

百度Geek们教你怎样成为复盘高手

百度Geek说

深度分享丨如何使用微细分仪打造金融场景下的战术级客户分群

索信达控股

大数据 金融科技 用户细分 客户数据平台 客户画像

视频监控系统供电方式及选择方法

不脱发的程序猿

视频监控系统 供电方式 智能监控

MySQL next-key lock 加锁范围总结

程序员小航

MySQL 索引 锁机制

Bzz云算力挖矿app开发,Bzz分币系统搭建

上新!H3C Magic NX54双频5400M Wi-Fi 6路由器:549元

科技热闻

公安警情研判分析系统搭建,警情可视化指挥调度

读深入ES6记[一]

蛋先生DX

ES6 6月日更

Service worker 的概念和用法

编程三昧

大前端 ServiceWorker

Chia奇亚挖矿app开发|系统搭建

開發I3O6O643Zq7

挖矿 #区块链# IPFS怎么挖矿 Chia奇亚挖矿

安卓内存监控悬浮窗,算法题+JVM,知识点总结+面试题解析

欢喜学安卓

android 程序员 面试 移动开发

智能家居弱电布线设计注意事项

不脱发的程序猿

智能家居 弱点布线

【Flutter 专题】126 图解自定义两侧对齐 ACETabBar 标签导航栏

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

不看绝对血亏!跳槽面试大厂被拒,2021最新版!

欢喜学安卓

android 程序员 面试 移动开发

独热编码&词向量

Qien Z.

nlp 6月日更 独热编码 词向量 句子向量

Axon大会专题讨论:为什么应该使用微服务?_语言 & 开发_Jan Stenberg_InfoQ精选文章