微服务模式:Sidecar

Sidecar模式用于分离微服务中的横切关注点,提高模块性。它将通用功能如日志、安全、错误处理等从服务主体中移除,通过单独的模块、库或服务提供给其他组件使用,降低了架构复杂性。然而,Sidecar的维护和性能影响是其潜在缺点。常见的Sidecar实现方式包括存储在单独库中或作为独立服务运行,但需要权衡版本管理和性能优化。
摘要由CSDN通过智能技术生成

 

合理设计的微服务应遵循单一职责原则,因此分离应该被架构中的其他服务重用的通用功能很重要。Sidecar模式提倡通过识别每个服务中的通用功能来增强模块性,将它们组合到库中,或将它们移到单独的服务中。

顾名思义,Sidecar模式提倡分离横切关注点(cross-cutting concern),将横切关注点从实际服务中移除,推送到单独的模块、库或服务,然后这些功能可被架构中的其他服务重用。

本文讨论了微服务架构中哪种功能可以作为候选功能或可以被视为Sidecar,以及Sidecar的实现方法和优缺点。

Sidecar候选功能

面向切面编程带来了分离横切关注点这个值得关注的概念;简而言之,从代码中移除通用功能,只关注业务逻辑,这就是在服务内的每个方法/函数中重复相同代码的意义所在。

Sidecar模式本质上相似;唯一的区别是,Sidecar模式从微服务方面进行对话。将代码的通用部分抽象出来变得更重要了。

一些最重要的候选功能包括如下:

•日志聚合

•安全

•错误处理,并在发布错误日志或将错误事件推送到Kafka主题或监控队列之后采取必要的动作。

•项目中的通用功能类似于实体(数据库模型)或其他服务也使用的特定业务逻辑。

•其他服务正常运行所需要的服务或数据库配置、Kafka配置、队列配置等方面的配置更改。

•缓存需求(如果有这种需求的话)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值