文档章节

Service Mesh:什么是Sidecar模式

好雨云帮
 好雨云帮
发布于 2018/06/21 10:55
字数 739
阅读 52
收藏 0

谈到Service Mesh微服务架构,就不得不谈Sidecar模式——一种单节点、多容器的应用设计形式。Sidecar主张以额外的容器来扩展或增强主容器,而这个额外的容器被称为Sidecar容器。

一些例子如下:

Web-server容器可以与一个sidecar容易共同部署,该sidecar容器从文件系统中读取由Web-server容器生成的web-server日志,并将日志/stream发送到原称服务器(remote server)。Sidecar容器通过处理web-server日志来作为web-server容器的补充。当然,可能会有人说,为什么web-server不自己处理自己的日志?答案在于以下几点:

  • 隔离(separation of concerns):让每个容器都能够关注核心问题。比如web-server提供网页服务,而sidecar则处理web-server的日志,这有助于在解决问题时不与其他问题的处理发生冲突;

  • 单一责任原则(single responsibility principle):容器发生变化需要一个明确的理由。换句更容易理解的话来说,每个容器都应该是能够处理好“一件”事情的,而根据这一原则,我们应该让不同的容器分别展开工作,应该让它们处理的问题足够独立;

  • 内聚性/可重用性(Cohesiveness/Reusability):使用sidecar容器处理日志,这个容器按道理应该可以应用的其他地方重用;

以上例子正如下图所示:

另一个例子是在web-server容器与sidecar容器共同部署时,将文件系统与git存储库同步。(我们需要注意Git同步容器的重用醒)如下图所示,应用容器知识链接到本地机器的Redis服务器上:


开源PaaS Rainbond v3.6.0版本现已发布,提供Service Mesh微服务架构的开箱即用,插件式扩展治理功能,并支持spring cloud、api gateway、dubbo等框架。

进一步了解:Rainbond

© 著作权归作者所有

好雨云帮

好雨云帮

粉丝 44
博文 124
码字总数 155873
作品 1
朝阳
私信 提问
Service Mesh 及其主流开源实现解析

原文出处:行思錄 什么是 Service mesh Service Mesh 直译过来是 ,目的是解决系统架构微服务化后的服务间通信和治理问题。服务网格由 sidecar 节点组成。在介绍 service mesh 之前,我们先来...

行思錄
2018/05/16
0
0
全方位详解Service Mesh(服务网格)

Service mesh是近几年才出现的一个新兴概念。它可以解决微服务之间通信愈发复杂的问题。那么什么是Service mesh?它有什么具体的功能?它的架构又是如何的呢?它与Kubernetes的关系是怎样的?...

RancherLabs
09/12
3.2K
1
阿里巴巴 Apache Dubbo 布道师谈 Service Mesh

“Service Mesh要解决分布式架构下如何集成的问题,同时它又是云原生的核心,Dubbo Mesh正在做这方面的实践。--- 阿里巴巴Apache Dubbo布道师 吕仁琦 ” 本文整理自2018杭州云栖大会首届开发...

技术小能手
2018/10/15
0
0
蚂蚁金服 Service Mesh 渐进式迁移方案|Service Mesh Meetup 实录

敖小剑,蚂蚁金服高级技术专家,十六年软件开发经验,微服务专家,Service Mesh 布道师,Servicemesher 社区联合创始人 龙轼,阿里巴巴技术专家、前京东 Hadoop 负责人、Hadoop 代码贡献者、...

花肉酱
2018/11/29
0
0
阿里Apache Dubbo布道师谈Service Mesh技术

本文整理自2018杭州云栖大会首届开发者生态峰会吕仁琦的分享,来自“阿里巴巴中间件”公众号。 Service Mesh和Dubbo Service Mesh这个“热”词是在2016年9月被“造”出来,而今年被称为Servi...

架构师技术联盟
2018/09/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

02.日志系统:一条SQL更新语句是如何执行的?

我们还是从一个表的一条更新语句说起,我们创建下面一张表: create table T(ID int primary key, c int); 如果要将ID=2这一行c的值加1,SQL可以这么写: update T set c=c+1 where ID=2; 前...

scgaopan
今天
7
0
【五分钟系列】掌握vscode调试技巧

调试前端js 准备一个前端项目 index.html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1......

aoping
今天
6
0
PhotoShop 高级应用:USM锐化/S锐化/防抖

、 高反差锐化+混合模式:叠加模式 【将更多的边缘细节添加到图像中】

东方墨天
今天
7
0
Python数据可视化之matplotlib

常用模块导入 import numpy as npimport matplotlibimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltimport matplotlib.font_manager as fmfrom mpl_toolkits.mplot3d i......

松鼠大帝
昨天
5
0
我用Bash编写了一个扫雷游戏

我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进一步时,我决定用 Bash 编写一个扫雷游戏来加以练习。 我在...

老孟的Linux私房菜
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部