微服务:架构新选择的利弊剖析
1. IT 遗留系统困境
在 IT 行业,很多人可能都处于一种类似“棚户区”的工作环境中。这里所谓的“棚户区”,指的是缺乏规划和基础设施的遗留系统。这些系统往往无序生长,难以满足依赖它们的人们的基本需求。
遗留系统存在诸多问题:
- 维护困难 :需要持续的维护和巧妙的临时解决方案。
- 工具和流程原始 :缺乏可重复性,尤其是在发布、仪表盘展示和监控方面。
- 架构和规划缺失 :系统增长缺乏框架和可扩展库的支持,充斥着变通方法、捷径和部落知识。
- 技术债务高 :变更可能导致下游出现问题,团队在大量技术债务的重压下苦苦挣扎。
2. 微服务的定义
如果陷入这样的应用困境,微服务是一种被证明有效的解决方案。以下是几种对微服务的经典定义:
- James Lewis 和 Martin Fowler :将单个应用程序开发为一组小型服务,每个服务在自己的进程中运行,并通过轻量级机制(通常是 HTTP 资源 API)进行通信。这些服务围绕业务能力构建,并可通过全自动开发机制独立部署,对这些服务的集中管理极少,它们可以用不同的编程语言编写,使用不同的数据存储技术。
- Adrian Cockroft :微服务架构是一种面向服务的架构,由具有边界上下文的松散耦合元素组成。
3. 微服务的大小
关于微服务的大小,有不同的
微服务架构的利弊与应对策略
超级会员免费看
订阅专栏 解锁全文
65

被折叠的 条评论
为什么被折叠?



