HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

微服务设计介绍

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

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

关注

评论

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

Kubernetes DevOps CD工具对比选型

行云创新

Docker DevOps 云原生 k8s pod

低代码助力企业数字化转型会让程序员失业?

行云创新

程序员 云原生 软件开发 低代码 数字化转型

2022如何评估与选择低代码开发平台?

优秀

低代码 低代码平台

你真的理解粘包与半包吗?3分钟搞懂它

C++后台开发

网络编程 网络协议 TCP/IP 后端开发 C++开发

微服务远程Debug,Nocalhost + Rainbond微服务开发第二弹

北京好雨科技有限公司

Kubernetes 云原生 PaaS 容器云 rainbond

谈谈 SAP 系统的权限管控和事务记录功能的实现

汪子熙

SAP abap Netweaver 7月月更 权限监控

如何在软件研发阶段落地安全实践

华为云开发者联盟

云计算 后端 软件开发 安全发布

【Unity Shader】插入Pass实现模型遮挡X光透视效果

萧然🐳

游戏开发 Unity 7月月更 shader

博睿数据入选《2022爱分析 · IT运维厂商全景报告》

博睿数据

博睿数据 性能监测 智能运维AIOps

Sator推出Web3游戏“Satorspace” ,并上线Huobi

股市老人

API、ETL、ESB/MQ 已成明日黄花?时代为何需要一个全新的实时数据架构?

tapdata

开源 数据集成 实时数据 Tapdata架构 实时数据平台

低代码(lowcode)帮助运输公司增强供应链管理的4种方式

优秀

低代码 供应链物流

三千余字细说大厂高频Java面试题Redis缓存雪崩-击穿-穿透

了不起的程序猿

java程序员 java面试 Java’

MRS离线数据分析:通过Flink作业处理OBS数据

华为云开发者联盟

大数据 后端

HTML5网页3D场景制作之Three.js初体验-制作3D字体

迷彩

前端 3D three.js 7月月更

“未来办公”三大新趋势:分布式、移动、人工智能辅助

WorkPlus

鸿蒙智能家居【1.0】

坚果

HarmonyOS OpenHarmony 7月月更

dapp丨defi丨nft丨lp单双币流动性挖矿系统开发详细说明及源码

开发微hkkf5566

当AI对话系统像自动驾驶一样分级,谁能率先跑出L5?

硬科技星球

人工智能 AI人机对话

智慧物流平台:让海外仓更聪明

WorkPlus

DataSimba推出微信小程序,DataNuza接受全场景考验? | StartDT Hackathon

奇点云

数据中台

如何选择合适的自动化测试工具?

禅道项目管理

工具 自动化测试

RISCV64

贾献华

7月月更

一文读懂数仓中的pg_stat

华为云开发者联盟

数据库 后端

A tour of gRPC:03 - proto序列化/反序列化

BUG侦探

gRPC RPC protocolBuffer

99%的人都不知道|私有化部署还永久免费的即时通讯软件!

WorkPlus

行业案例|数字化经营底座助力寿险行业转型

Kyligence

数字化转型 Kyligence

Pisa-Proxy SQL 解析之 Lex & Yacc

SphereEx

数据库 sql SphereEx

企业即时通讯软件是什么?它有哪些优势呢?

WorkPlus

Python 入门指南之数据结构

海拥(haiyong.site)

Python 7月月更

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