7、云原生服务网格与示例架构解析

云原生服务网格与示例架构解析

1. 服务网格概述

在云原生环境中,每个服务独立构建和部署,且可能与其他微服务进行通信。随着解决方案的扩展,微服务数量增多,服务间的通信变得更加复杂。为了确保服务具备弹性,能够应对网络问题,需要实现请求重试、定义超时时间、使用断路器等功能。

传统做法是使用具有特定通信功能的库,但如果服务使用不同的编程语言实现,管理这些库会成为噩梦。因为需要确保每个语言特定的库实现都保持最新,对一个版本的库进行的任何更改都需要应用到所有不同版本。

服务网格的理念是将通用功能从每个服务中移出,放入服务网格,从而提高开发人员的生产力,实现服务特性与服务网格通用功能的分离。

2. 服务网格的核心组件 - 代理

服务网格的主要构建块是代理,它与每个服务实例相邻运行。在Kubernetes中,代理以边车(Sidecar)的形式与服务运行在同一个Pod中,共享相同的网络。代理的任务是拦截进入或离开服务的所有请求,每个代理都有自己的配置,用于定义如何处理传入或传出的流量。此外,代理还会发出指标,这些指标可以由服务网格控制平面收集。

除了边车代理,也可以为每个主机运行一个代理,在Kubernetes中可以使用DaemonSet来实现。

使用边车代理简单且配置较少,但会增加额外的资源成本,因为每个Pod中都运行了一个额外的容器。如果运行大量服务实例,这可能会成为问题。通过为每个主机运行一个代理可以降低成本,但与边车代理相比,设置配置可能不那么直接。

在决定使用边车方法还是每主机方法时,需要考虑以下因素:
- 服务和边车代理的数量:资源消耗随着服务副本数量的增加而增长。如果每

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值