写点什么

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

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

关注

评论 1 条评论

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

读完这份阿里高质量性能优化全解,我的系统终于不再频繁瘫痪了

Java 阿里巴巴 编程 面试 金九银十

想要掌握未来嘛?这份腾讯高工撰写的Redis实战笔记就告诉你什么是未来!

Java 腾讯 面试 大厂 金九银十

堪比狗血剧!18名Java程序员凭阿里P8笔记,同时斩获大厂offer

Java 编程 面试 阿里 大厂

16. 奇点来临?

Databri_AI

人工智能

在线JSON转io-ts工具

入门小站

工具

复盘上次Redis缓存雪崩事故,中级Java工程师面试题

Java 程序员 后端

“融合创新”是区块链的应用发展趋势吗?

CECBC

网络攻防学习笔记 Day135

穿过生命散发芬芳

网络基础 9月日更

音视频剪辑DIY:用Python快速入门音视频剪辑

老猿Python

Python 音视频 视频剪辑 Moviepy 引航计划

oh,我的老伙计,你看看这近五十个dapr视频

newbe36524

k8s dapr

移动WEB开发会用到的 5 个API

devpoint

WebGL canvas Fetch 9月日更

网络安全之一个渗透测试小案例

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

Rust 与 C++:深入的语言比较

奔着腾讯去

c++ rust 安全 编程语言 并发

成熟的区块链技术是解决供应链金融痛点问题的根本出路

CECBC

人类视觉神经科学助力音视频产业革命 - 弱网下的极限实时通信

RTE开发者社区

音视频 弱网下的极限实时视频通信

MQ是一种新的通信模式

风翱

MQ 9月日更

硬核!4396万字神文精解高并发高可用系统实战,分布式系统一致性文档一经面试震惊寰宇!

Java 编程 架构 面试 程序人生

Nacos 开源、自研、商业化三位一体战略解读

阿里巴巴中间件

云计算 阿里云 微服务 云原生 nacos

☕【JVM技术指南】「理论总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】

码界西柚

JVM GC 垃圾回收算法 9月日更

2021年区块链被列为“七大重点产业之一”

CECBC

关系型数据库如何存储树形结构?

王博

敬自由:破壁人华为,开启PC的无界探索

脑极体

计算机操作系统学习笔记 | 操作系统功能

Regan Yue

操作系统 9月日更

Kafka 常用工具脚本总结

Se7en

FLV格式解析

轻口味

android 音视频 RTMP 9月日更

桐乡引入百度智能云开物工业互联网,数字经济再提速

百度大脑

人工智能

linux之dos2unix命令

入门小站

Linux

聊聊新工具Hutool

卢卡多多

POI 数据导入 9月日更

JavaScript进阶(上)

Augus

JavaScript 9月日更

【Vuex 源码学习】第一篇 - Vuex 的基本使用

Brave

源码 vuex 9月日更

基础+缓存雪崩+哨兵+集群+Reids场景设计,经验分享

Java 程序员 后端

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