微服务演进与Spring Cloud扩展:案例分析
1. 微服务演进案例中的挑战与应对
在微服务系统中,可能会遇到诸如登机成功但事件发送失败的情况。针对这种情况,有两种处理方法:
- 方法一 :调用备用服务将事件本地存储,之后使用扫描程序在后续时间发送事件,甚至可以多次重试。不过,这种方法会增加系统复杂度,并非在所有情况下都高效。
- 方法二 :将异常抛回给用户,让用户重试。但从客户参与度的角度来看,这可能并非总是最佳选择。而第一种方法对系统健康更有益,所以需要进行权衡分析来确定最佳解决方案。
2. 系统实现视图与项目结构
- 实现视图 :以BrownField PSS微服务系统为例,实现了四个微服务,分别是Search、Fare、Booking和Check - in。为测试应用,开发了一个基于Spring MVC和Thymeleaf模板的网站应用,使用RabbitMQ实现异步消息传递,采用默认的H2数据库作为内存存储。
- 项目结构 :该系统的基本实现包含五个核心项目,各项目的端口范围如下表所示:
| 微服务项目 | 端口范围 |
| — | — |
| Book microservice | 8060 - 8069 |
| Check - in microservice | 8070 - 8079 |
| Fare microservice | 8080 - 8089 |
| Search microservice
超级会员免费看
订阅专栏 解锁全文
71

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



