文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

kubernetes中什么是Service Mesh

2023-06-04 17:25

关注

这篇文章主要为大家展示了“kubernetes中什么是Service Mesh”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“kubernetes中什么是Service Mesh”这篇文章吧。

一:什么是Service Mesh

1.可以将Service Mesh比作是程序或者微服务间的TCP/IP,负责服务之间的网络调用,限流,熔断和监控。对于编写应用程序来说一般无须关心 TCP/IP 这一层(比如通过 HTTP 协议的 RESTful 应用),同样使用 Service Mesh 也就无须关系服务之间的那些原来是通过应用程序或者其他框架实现的事情,比如 Spring Cloud、OSS,现在只要交给 Service Mesh 就可以了。

2.Service Mesh有如下几个特点:
a. 应用程序间通信的中间层
b.轻量级的网络代理
c.应用程序无感知
d.解耦应用程序的重试,超时,监控,追踪和服务发现

3.Service Mesh的架构
kubernetes中什么是Service Mesh
Service mesh 作为 sidecar 运行,对应用程序来说是透明,所有应用程序间的流量都会通过它,所以对应用程序流量的控制都可以在 serivce mesh 中实现。

二:为何使用Service Mesh

1.Service mesh 并没有给我们带来新功能,它是用于解决其他工具已经解决过的问题,只不过这次是在 Cloud Native 的 kubernetes 环境下的实现。

2.在传统的 MVC 三层 Web 应用程序架构下,服务之间的通讯并不复杂,在应用程序内部自己管理即可,但是在现今的复杂的大型网站情况下,单体应用被分解为众多的微服务,服务之间的依赖和通讯十分复杂。

3.在 Cloud Native 架构下,容器的使用给予了异构应用程序的更多可行性,kubernetes 增强的应用的横向扩容能力,用户可以快速的编排出复杂环境、复杂依赖关系的应用程序,同时开发者又无须过分关心应用程序的监控、扩展性、服务发现和分布式追踪这些繁琐的事情而专注于程序开发,赋予开发者更多的创造性。

三:Service Mesh如何工作

 Linkerd 为例讲解 service mesh 如何工作:

1.Linkerd 将服务请求路由到目的地址,根据其中的参数判断是到生产环境还是测试环境,是路由到本地环境还是公有云环境?所有的这些路由信息可以动态配置,可以是全局配置也可以为某些服务单独配置。

2.当 Linkerd 确认了目的地址后,将流量发送到相应服务发现端点(在 kubernetes 中是 service),然后 service 会将服务转发给后端的实例(Pod)。

3.Linkerd 根据它观测到最近请求的延迟时间,选择出所有应用程序的实例中响应最快的实例。

4.Linkerd 将请求发送给该实例,同时记录响应类型和延迟数据。

5.如果该实例挂了、不响应了或者进程不工作了,Linkerd 将把请求发送到其他实例上重试。

6.如果该实例持续返回 error,Linkerd 会将该实例从负载均衡池中移除,稍后再周期性得重试。

7.如果请求的截止时间已过,Linkerd 主动失败该请求,而不是再次尝试添加负载。

8.Linkerd 以 metric 和分布式追踪的形式捕获上述行为的各个方面,这些追踪信息将发送到集中 metric 系统。

四:Istio 与 Linkerd

当前的Service Mesh实现主要有两大阵营,Linkerd和Istio。

<table letter-spacing:0.2px;background-color:#FFFFFF;">

FeatureIstioLinkerd
部署架构Envoy/SidecarDaemonSets
易用性复杂简单
支持平台kuberenteskubernetes/mesos/Istio/local
当前版本0.3.01.3.3
是否已有生产部署

下图是Istio和Linkerd架构的不同,Istio是使用Sidecar模式,将Envoy植入到Pod中,而Linkerd则是在每台node上都以DaemonSet的方式运行。

kubernetes中什么是Service Mesh

以上是“kubernetes中什么是Service Mesh”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯