微服务场景应用解析
1. 电商遗留应用现代化改造
1.1 改造方法
由于面临诸多问题,一家在线电商公司决定从整体部署中拆分出小型微服务。每个微服务实现一个功能,如产品搜索,由独立的团队开发。每个团队从需求工程到生产环境运行,对单个微服务负全部责任。微服务通过 REST 与整体应用和其他微服务通信。客户端 GUI 也根据用例在各个微服务之间划分,每个微服务为其用例提供 HTML 页面,微服务的 HTML 页面之间允许有链接,但不允许访问其他微服务或整体应用的数据库表,服务集成仅通过 REST 或 HTML 页面链接完成。
微服务可以相互独立部署,这使得对微服务的更改无需与其他微服务或团队协调即可部署,极大地促进了功能的并行开发,减少了协调工作。随着微服务的添加,整体应用的更改大幅减少,许多功能不再需要对整体应用进行更改,因此整体应用的更改和部署频率降低。最初计划在某个时间完全替换整体应用,但现在看来更可能的是减少其部署频率,因为大多数更改发生在微服务内部,完全替换既不必要,在经济上也不合理。
1.2 面临挑战
- 初始复杂性增加 :实施微服务一开始会带来额外的复杂性,所有微服务都需要自己的基础设施,同时还得支持整体应用。
- 服务器管理挑战 :微服务需要更多的服务器,这带来了不同的挑战。监控和日志文件处理需要处理来自不同服务器的数据,因此信息需要集中整合。不仅在生产环境,在不同的测试阶段和团队环境中都要处理大量服务器,这需要良好的基础设施自动化。需要支持整体应用和微服务的不同类型基础设施,导致服务器总数大幅增加。 <
超级会员免费看
订阅专栏 解锁全文
168万+

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



