助力之手应用的微服务架构实践
1. 迈向微服务
传统单体架构在助力之手(Helping Hands)应用中存在一定局限性,可通过将组件与数据库分离为微服务来解决。微服务架构允许各个服务自主选择适合自身的技术栈和数据库,并能独立进行开发、更改和部署。
要确定现有单体应用组件的边界上下文,可按以下步骤操作:
1. 分析数据库访问模式和相关业务逻辑。
2. 对其进行隔离。
3. 基于业务能力进一步考虑组件的隔离可能性。
2. 按持久化隔离服务
在助力之手的现有单体应用中,消费者和提供者的数据库表被系统的所有核心组件访问。这些表适合封装成服务,并隔离到单独的数据库中,仅允许相应服务直接访问。其他服务需通过服务消费者服务和服务提供者服务来获取相关细节,而不是直接访问数据库。
具体操作如下:
- 由于已创建单独的服务来处理消费者和提供者的请求,因此无需与注册组件对应的服务。服务消费者服务和服务提供者服务可分别处理消费者和提供者的注册、修改或删除请求。
- 服务和订单服务可通过隔离相应数据库,分别处理与服务和订单相关的所有请求。订单服务可与服务消费者、服务提供者和服务进行交互,以获取订单所需的详细信息。
助力之手应用将结合使用 Datomic(http://www.datomic.com/)和 Elasticsearch(https://www.elastic.co/products/elasticsearch)数据库来支持不同的微服务。
3. 按业务逻辑隔离服务
在完成基于持久化的服务隔离后,需从业务逻辑角度评估现有组件以确定微服务。
超级会员免费看
订阅专栏 解锁全文
168万+

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



