微服务入门与挑战应对
1. 走进微服务
早在2014年了解微服务概念时,我才意识到自己在2009年参与的一个项目中,其实已经在不知不觉中开发类似微服务的东西了。当时我们开发了一个基于一系列独立功能的平台,为了方便客户挑选使用平台功能,每个功能都被开发成一个自主软件组件,拥有自己的持久数据,并且仅通过定义良好的API与其他组件通信。
平台组件从A到F进行了泛化命名,每个组件都有自己的持久数据存储,不与其他组件共享数据库。组件使用Java和Spring框架开发,打包成WAR文件,部署在Java EE Web容器(如Apache Tomcat)中。根据客户需求,平台可部署在单台或多台服务器上,比如两节点部署场景。
2. 自主软件组件的好处
将平台功能分解为一组自主软件组件带来了诸多好处:
- 部分部署 :客户可以使用定义良好的API,将平台的部分组件部署到自己的系统环境中,并与现有系统集成。例如,某客户选择部署组件A、B、D和E,并与系统A和系统B集成。
- 功能替换 :客户可以用自己系统中已有的实现替换平台的部分功能,可能需要对平台API中的现有功能进行一些调整。比如,某客户用自己的实现替换了平台中的组件C和F。
- 独立升级 :平台中的每个组件都可以独立交付和升级。由于使用了定义良好的API,一个组件升级到新版本时,不依赖其他组件的生命周期。例如,组件A从v1.1升级到v1.2,调用组件A的组件B无需升级。
- 独立扩展 :借助定义良好的API,平台中的每个组件都可以独
超级会员免费看
订阅专栏 解锁全文
112

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



