服务网格(Service Mesh)是什么?

简介: 概述服务网格的概念,了解服务网格的作用及业界产品

1. Service Mesh是什么(What)

Service Mesh中文含义服务网格,是一种微服务网络层治理方案.

服务网格将微服务中与网络相关的部分抽象出来,形成一个应用层的抽象网络层,专门负责微服务的网络治理

2. Service Mesh解决了什么问题(Why)

简而言之,Service Mesh解决的就是微服务中所有的网络问题.

没有Service Mesh之前,微服务之间的通信依赖于各种框架自身的实现:

比如:

注册中心有注册中心的通信框架;

负载均衡有负载均衡的实现逻辑;

限流熔断可能又是另外一套通信逻辑;

...

问题:

  1. 这些网络层的通信都包含在一个一个的微服务框架中,想要做到微服务之间的通信,就必须精通这些框架
  2. 而当微服务到了一定的规模后,整个微服务架构中某一个微服务出现问题时,由于长链路问题,极难排查微服务的问题
  3. 微服务的概念应该是面向应用的,与语言无关,而在当前的微服务架构中,极难兼容不同语言
  1. 比如: 如何在一个SpringCloud的项目中加入一个python的微服务? python无法注册到Eureka中或者说Eureka这个注册中心的框架是面向java的.
  1. 网络通信存在于框架中,无法拆离开,当网络通信模块出现某个问题需要升级时,必须升级整个项目
  1. 比如现在的微服务框架底层都使用Netty作为网络通信框架,那么当Netty出现一个类似Log4j2这样的安全漏洞时,又将会掀起怎样的波浪?可以预见的是百分之90的服务都会面临紧急升级的问题

而Service Mesh将网络通信抽离到一个与服务平等的地位,但是与服务又不是内嵌的关系,这样就会使网络通信集中在Service Mesh中完成,而服务除了与Service Mesh通信外,完全专注于业务开发,无需理会负载均衡,注册发现,熔断限流等等多种框架中的通信模块.

这里就可以明白Service Mesh作为一个网络抽象层的意义,就是专门针对微服务网络的治理.

再来一张图(来源: https://zhuanlan.zhihu.com/p/61901608),可以体会一下Service Mesh

其中: 绿色的为微服务, 蓝色的为Service Mesh

微服务专注于业务开发

而所有的网络通信都由Service Mesh来完成.

3. Service Mesh业界产品

Service Mesh是一种思想,一种架构,必然有具体的落地实现才行.

  1. Linkerd: 开源项目,由Buoyant提供商业支持
  2. Istio: 开源产品 Google/IBM/Lyft等公司主导 各云厂商均有自身商业产品
  3. AWS app Mesh: 闭源 AWS专用服务
  4. Rancher
  5. HashiCorp
  6. ...


目录
相关文章
|
22天前
|
运维 负载均衡 监控
探索微服务架构下的服务网格(Service Mesh)实践之路
【8月更文挑战第30天】 在当今日益复杂的分布式系统中,微服务架构已成为众多企业解决系统扩展与维护难题的利器。然而,随着服务的不断增多和网络交互的复杂性提升,传统的微服务管理方式开始显得力不从心。服务网格(Service Mesh)作为一种新兴的解决方案,旨在通过提供应用层的网络基础设施来简化服务间通讯,并增强系统的可观察性和安全性。本文将分享我在采用服务网格技术过程中的经验与思考,探讨如何在现代云原生环境中有效地实施服务网格,以及它给开发和运维带来的变革。
|
4月前
|
监控 负载均衡 数据安全/隐私保护
探索微服务架构下的服务网格(Service Mesh)实践
【5月更文挑战第6天】 在现代软件工程的复杂多变的开发环境中,微服务架构已成为构建、部署和扩展应用的一种流行方式。随着微服务架构的普及,服务网格(Service Mesh)作为一种新兴技术范式,旨在提供一种透明且高效的方式来管理微服务间的通讯。本文将深入探讨服务网格的核心概念、它在微服务架构中的作用以及如何在实际项目中落地实施服务网格。通过剖析服务网格的关键组件及其与现有系统的协同工作方式,我们揭示了服务网格提高系统可观察性、安全性和可操作性的内在机制。此外,文章还将分享一些实践中的挑战和应对策略,为开发者和企业决策者提供实用的参考。
|
4月前
|
负载均衡 监控 Go
Golang深入浅出之-Go语言中的服务网格(Service Mesh)原理与应用
【5月更文挑战第5天】服务网格是处理服务间通信的基础设施层,常由数据平面(代理,如Envoy)和控制平面(管理配置)组成。本文讨论了服务发现、负载均衡和追踪等常见问题及其解决方案,并展示了使用Go语言实现Envoy sidecar配置的例子,强调Go语言在构建服务网格中的优势。服务网格能提升微服务的管理和可观测性,正确应对问题能构建更健壮的分布式系统。
413 1
|
4月前
|
运维 监控 负载均衡
探索微服务架构下的服务网格(Service Mesh)实践之路
【4月更文挑战第30天】 在现代云计算的大背景下,微服务架构以其灵活性和可扩展性成为众多企业转型的首选。然而,随着服务的激增和网络交互的复杂化,传统的服务通信模式已无法满足需求,服务网格(Service Mesh)应运而生。本文通过分析服务网格的核心组件、运作机制以及在企业中的实际应用案例,探讨了服务网格在微服务架构中的关键作用及其带来的变革,同时提出了实施过程中面临的挑战和解决策略。
|
4月前
|
运维 监控 负载均衡
探索微服务架构下的服务网格(Service Mesh)实践
【4月更文挑战第28天】 在现代云原生应用的后端开发领域,微服务架构已成为一种广泛采用的设计模式。随着分布式系统的复杂性增加,服务之间的通信变得愈加关键。本文将深入探讨服务网格这一创新技术,它旨在提供一种透明且高效的方式来管理、监控和保护微服务间的交互。我们将从服务网格的基本概念出发,分析其在实际应用中的优势与挑战,并通过一个案例研究来展示如何在现有的后端系统中集成服务网格。
|
4月前
|
Oracle 关系型数据库
oracle asm 磁盘显示offline
oracle asm 磁盘显示offline
232 2
|
4月前
|
存储 Oracle 关系型数据库
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
|
SQL Oracle 关系型数据库
Oracle ASM磁盘和磁盘组的常用SQL语句
Oracle ASM磁盘和磁盘组的常用SQL语句
266 0
|
文字识别 Oracle NoSQL
oracle 11g 单机asm配置
oracle 11g 单机asm配置
637 0
|
Oracle 关系型数据库
❤️Oracle ASM加磁盘及剔盘操作❤️
❤️Oracle ASM加磁盘及剔盘操作❤️
293 0