ServiceMesh简介

简介: 维基百科的定义:微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通信。

关于Service mesh的定义,最为广泛接受的观点是:它是一种控制应用程序不同部分彼此共享数据的方式。这一描述包含了service mesh的方方面面。事实上,它听起来更像是大多数开发人员从客户端-服务器应用程序中熟悉的中间件。

Service mesh也有其独特之处:它能够适应分布式微服务环境的独特性质。在搭建在微服务中的大规模应用程序中,有许多既定的服务实例,它们跨本地和云服务器运行。所有这些移动部件显然使得各个微服务难以找到他们需要与之通信的其他服务。Service mesh可以在短时间内自动处理发现和连接服务,而无需开发人员以及各个微服务自行匹配。

我们可以将service mesh等同为软件定义网络(SDN)的OSI网络模型第7层。正如SDN创建一个抽象层后网络管理员不必处理物理网络连接,service mesh将解耦在抽象架构中的与你交互的应用程序的底层基础架构。

随着开发人员开始努力解决真正庞大的分布式架构的问题,service mesh的概念适时地出现了。这一领域的第一个项目是Linkerd,它一开始是Twitter内部项目的一个分支。Istio是另一个十分流行的service mesh项目,它起源于Lyft,现在这一项目获得了许多企业的支持。、

Service mesh负载均衡
Service mesh其中一个关键功能是负载均衡。我们常常将负载均衡视为网络功能——你想要防止服务器或网络链接被流量淹没,因此相应地你会路由你的数据包,而Service mesh在应用程序层面也在执行类似的事情。

本质上,Service mesh的工作之一是跟踪分布在基础设施上的各种微服务的哪些实例是“最健康的”。它可能对他们进行调查来查看它们如何工作的或跟踪哪些实例对服务请求响应缓慢并将后续请求发送到其他实例。此外,service mesh也会为网络路由做类似的工作,如果发现当消息需要很长时间才能送达,那么service mesh将会采用其他路由进行补偿。这些减速可能是由于底层硬件出现问题,或者仅仅是由于服务因请求过载或处理能力不足导致的。但没有关系,service mesh会找到另一个相同服务的实例,然后将其路由以替代响应缓慢的实例,高效利用了整个应用程序的资源。

相关文章
|
2月前
|
Prometheus Kubernetes Cloud Native
云原生周刊:Argo Rollouts 支持 Kubernetes Gateway API 1.0 | 2024.7.1
探索开源世界:Kubetools的推荐系统[Krs](https://github.com/kubetoolsca/krs)助力K8s优化,追踪K8s组件清单,指引IAC集成。阅读建议: Prometheus与Thanos的进化故事,Adidas容器平台管理经验,K8s请求实现详解。关注云原生:Argo Rollouts支持Gateway API 1.0,Kubewarden v1.14强化策略与镜像安全。
|
22天前
|
Kubernetes Cloud Native JavaScript
云原生入门:Kubernetes的简单部署与管理探索Python编程的魔法:从基础到进阶
【8月更文挑战第28天】随着云计算技术的蓬勃发展,云原生(Cloud Native)已经成为现代软件开发和运维的重要理念。本篇文章将引导读者了解云原生的基础概念,并以Kubernetes为例,展示如何在云平台上进行简单的部署和管理。通过实际操作,你将学会如何利用Kubernetes管理容器化应用,进而掌握云原生服务的核心技能。 【8月更文挑战第28天】在这篇文章中,我们将一起踏上一段激动人心的旅程,穿越Python编程的世界。无论你是初学者还是有一定经验的开发者,这篇文章都将为你揭示Python的奥秘和魅力。我们将从基础语法开始,逐步深入到面向对象编程、函数式编程技巧,以及如何利用Pytho
|
2月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:Kubernetes在微服务架构中的应用Python编程之旅:从基础到进阶
【7月更文挑战第31天】随着云计算技术的迅猛发展,云原生概念应运而生,它代表了一种构建和运行应用程序的全新方式。本文将通过实际代码示例,深入探讨Kubernetes这一云原生关键技术如何在微服务架构中发挥其强大的作用。我们将从容器化开始,逐步过渡到Kubernetes集群的搭建与管理,最后展示如何部署和管理一个微服务应用。
41 2
|
4月前
|
监控 Cloud Native 安全
【阿里云云原生专栏】云原生下的API管理:阿里云API Gateway的应用场景与优势
【5月更文挑战第23天】阿里云API Gateway是高性能的API托管服务,适用于微服务API聚合、安全管理及流量控制。它提供统一入口、多种认证方式和流量控制策略,确保服务稳定性。具备高度可扩展性、丰富插件生态和简化API生命周期管理等特点。通过简单步骤,如创建API、配置后端服务、设置认证和发布,即可快速上手。作为云原生时代的API管理解决方案,阿里云API Gateway助力企业高效、安全地管理API,推动业务创新和数字化转型。
83 1
|
4月前
|
缓存 监控 负载均衡
构建微服务架构下的API网关实践指南
【2月更文挑战第22天】在现代的软件开发实践中,微服务架构因其灵活性和可扩展性而成为众多企业的首选。随着服务数量的增长,有效地管理这些服务的入口——API网关,成为了确保系统稳定性和效率的关键。本文将探讨如何在微服务环境中构建一个高性能、可扩展的API网关,以及它如何帮助实现请求路由、负载均衡、认证授权和监控等功能,同时提供了一系列实施的最佳实践和面临的挑战解决方案。
|
存储 Prometheus Kubernetes
云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署
基于 Nacos 的注册中心/配置中心能力,实现了无需依赖 K8s,也能使用 Ingress API 管理网关路由。
|
API 微服务 调度
基于网关服务治理的研究与实践(六)服务编排
本文是基于网关服务治理的研究与实践系列的第六篇文章,从以上几篇文章中,介绍了网关服务治理相关内容,包括微服务架构、服务治理相关概念、服务治理技术框架、API网关技术及自研网关,服务编排也是以上架构技术基础上的进一步深入的研究,也是服务治理领域非常值得研究的内容。
2531 7
基于网关服务治理的研究与实践(六)服务编排
|
消息中间件 存储 JavaScript
揭开serverless框架OpenWhisk的工作原理
揭开serverless框架OpenWhisk的工作原理
475 0
揭开serverless框架OpenWhisk的工作原理
|
存储 Kubernetes 负载均衡
|
SQL JSON Kubernetes
KubeVela 项目和能力简介 | 学习笔记
快速学习 KubeVela 项目和能力简介
KubeVela 项目和能力简介 | 学习笔记