写点什么

微服务设计介绍

  • 2014-06-16
  • 本文字数:682 字

    阅读完需:约 2 分钟

长久以来,我们一直在构建着一体化的软件,后来转向了 SOA ,不过依然存在问题,现在我们又遇到了微服务。近日, Russ Miles 在使用 Java 平台设计与构建抗脆弱的微服务介绍中谈到了软件开发的现状。

Russ 比较了大圆石、岩石与鹅卵石,其中像大圆石这样的大块石料是很难变化或是移动的。SOA 则类似于岩石,依然难以移动,无法满足我们的期望。微服务类似于鹅卵石,是很容易移动的。

Russ 认为抗脆弱意味着我们需要对系统进行分解;我们不仅要拥抱变化,还要依靠变化而成长,这才才会变得越来越好。若想达成这一点,首要的就是简单性,通过很多小东西来完成一件事,实现一个目标。在向微服务转变时,设计简单的组件与系统是关键所在。我们要聚焦在组件的演化上,以及如何构建系统才能支持演化与改变。

Russ 将微服务定义为单一目的的服务,它只做一件事,并且粒度划分良好,支持系统的演化以及你认为在运行期与设计期重要的东西。主要的焦点在于要能构建适应性良好的软件,只有粒度足够细,能够支持架构变化的差异性才能做到。

微服务是以正确的方式做 SOA 的事情么?Russ 认为 SOA 的一个问题在于相对于 UNIX 管道来说这个术语包含了太多的内容。他认为管道是非常重要的,是驱动微服务创建的主要动力。在 SOA 中,特别是按照层次组织的服务,我们丧失了数据流,因为这是在服务内部编排的。

Russ 听到的一个很大的抱怨就是将一个系统划分为多个小服务时遇到的管理与监控问题。他给出的建议是无论成功抑或失败都不要构建发送消息的服务,而是让其发送“可执行的信息”,服务不仅应该告知自身的问题,还要提供解决方案。

查看英文原文: An Introduction to Microservices Design

2014-06-16 23:042195
用户头像

发布了 88 篇内容, 共 268.7 次阅读, 收获喜欢 8 次。

关注

评论

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

新手小白必须知道的Linux基础:常用命令(1)

学神来啦

Linux linux命令 linux运维 linux 文件权限控制 Linux教程

ETL工程师必看!超实用的任务优化与断点执行方案

敏捷调度TASKCTL

大数据 ETL算法 ETL ETL任务 ETL系统

亮相Google I/O,字节跳动是这样应用Flutter的

字节跳动技术团队

和12岁小同志搞创客开发:如何驱动各类型传感器?

不脱发的程序猿

DIY 传感器 如何驱动各类型传感器? 创客

前后端分离浅析以及分离教程

北游学Java

前后

一文回顾 Java 入门知识(中)

逆锋起笔

Java 后端 JAVA开发 java基础 javase

【星环案例】我们用TDH+Sophon把工厂“搬”进高校实验室,推进产学研一体化

星环科技

一周信创舆情观察(5.24~5.30)

统小信uos

有道精品课全链路测试的改进和思考

有道技术团队

测试 有道精品课

☕【JVM技术之旅】全流程化分析Java对象的创建过程

码界西柚

JVM 6月日更 对象布局 内存结构

从一面就被拒到收割字节offer,我花了一年时间,功夫不负有心人

Java架构师迁哥

毕业5年的同学突然告诉我,他已经是年薪50W的Java架构师了

Java架构师迁哥

Qcon全球软件开发大会 融云分享SDK交付质量保障经验

融云 RongCloud

将DataX执行结果通过钉钉上报

白粥

DataX

为鸿蒙OS说两句公道话(我对鸿蒙OS的一些看法)

Phoenix

GitHub火到糊!这份阿里内部10W字Java面试总结,让你薪资翻倍

Java架构追梦

Java 架构 面试 跳槽

Java日志的心路历程

程序猿阿星

Java log4j logback log4j2框架 Java日志

【案例】构建应急指挥体系,实现生产过程实时监控

星环科技

踩准时钟节拍、玩转时间转换,鸿蒙轻内核时间管理有妙招

华为云开发者联盟

鸿蒙 时间管理 计数器 时间转换 计时

华为云IoT设备接入服务全体验

华为云开发者联盟

物联网 IoT 华为云 智能IoT边缘服务 华为云IoT云服务

三位一体:打造软硬服一体化的区块链平台

趣链科技

区块链 联盟链 Baas 一体机 底层平台

【LeetCode】连续数组Java题解

Albert

算法 LeetCode 6月日更

Overbit Flash|5 月加密货币市场风暴抹去了 90% 以上的 NFT 交易量

Overbit学院

比特币 加密货币 NFT Overbit 保证金交易

难忘阿里,4面技术5面HR附加笔试面,走的真艰难真心酸

Java 编程 程序员 面试 架构师

小树量化机器人系统开发(马丁策略)

薇電13242772558

区块链 数字货币

Fabric架构演变之路

趣链科技

区块链 fabric 联盟链架构 演变

联邦学习这件小事

趣链科技

区块链 联邦学习 技术架构

获5项大奖,发布《云计算开放应用架构标准》,阿里云持续领航云原生

阿里巴巴中间件

【融云技术】超大规模并发下自定义属性的设置与分发

融云 RongCloud

什么是交叉编译

IT蜗壳-Tango

IT蜗壳教学 6月日更

2021年阿里/腾讯/美团/字节1万道Java中高级面试题汇总,新鲜出炉

Java架构师迁哥

微服务设计介绍_SOA_Jan Stenberg_InfoQ精选文章