暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

关键技术Sidecar

Jerry分享汇 2021-04-12
1395

什么是Sidecar模式

    Sidecar模式是一种将应用功能从应用本身剥离出来作为单独进程的方式。该模式允许我们向应用无侵入添加多种功能,避免了为满足第三方组件需求而向应用添加额外的配置代码。

    就像边车加装在摩托车上一样,在软件架构中,Sidecar附加到主应用,或者叫父应用上,以扩展/增强功能特性,同时Sidecar与主应用是松耦合的。举个例子,假设现在有6个相互通信的微服务,每个微服务都需要具有可观察性、监控、日志记录、配置、断路器等功能,而所有这些功能都是在微服务中使用一些第三方库实现的。

    这样一组服务的实际情况可能会非常复杂,增加了应用的整体复杂性,尤其是当每个微服务用不同的语言编写、使用不同的基于.net、Java、Python等语言的第三方库……

Sidecar模式的好处

  • 将公用基础设施相关功能抽象到不同的层来降低微服务的代码复杂性

  • 不需要在每个微服务中编写配置代码,因此减少了微服务架构中的代码重复

  • 应用和底层平台之间实现了松耦合

Sidecar模式如何工作

    Service Mesh层可以位于应用程序侧的Sidecar容器中,同一Sidecar的多个副本可以附在每个应用旁。

    来自单个服务的所有传入和传出网络流量均通过Sidecar代理,完成微服务之间的流量管理、遥测数据收集以及策略的执行等等。从某种意义上来说,服务对于网络是无感知的,只知道所附加的Sidecar代理,这就是Sidecar模式工作的本质,它将网络依赖抽象成了Sidecar。

    总结来说,在从一体化架构向微服务架构的转型让我们可以相对独立、大规模地部署应用,而在容器环境中,Sidecar模式可以很好地兼容,帮助我们降低微服务架构复杂性,更好地实现服务发现、流量管理、负载均衡、路由。

文章转载自Jerry分享汇,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论