精华内容
下载资源
问答
  • Service Mesh详细介绍

    2021-03-26 01:16:25
    一个非常详细的资料来介绍Service Mesh的架构演变历程。
  • service mesh istio介绍

    2018-09-02 22:10:29
    service mesh istio介绍,学习新一代微服务开发service mesh istio介绍,学习新一代微服务开发
  • Service Mesh

    万次阅读 2020-05-21 08:45:58
    服务网格Service Mesh介绍

    一、微服务落地困难

    随着互联网、移动互联网的发展,微服务在国内从2015年兴起,2017、2018微服务热度很高,因为它解决了企业的实际问题,企业将一个系统的业务处理拆分成一个一个微小的服务,服务与服务之间的耦合度非常低,大大提高了系统开发的生产力,借助云计算的能力,可自动化管理微服务开发、容器化部署、监控,并完在服务容错、限流、降低等微服务治理。

    当前很多传统企业慢慢向互联网技术转型,其中微服务就是技术转型的核心,微服务在落地时遇到了很大的困难!

    微服务落地就是企业的软件系统采用微服务技术构建,开发成为云原生应用。

    什么是云原生(Cloud Native)应用?

    CNCF是一个开源Linux基金会(https://www.cncf.io/),它致力于推进云端原生应用和服务的开发,由CNCF孵化的项目目前达到20多个,其中包括当前热门的KubernetesPrometheus等;CNCF的成员包括:googleIBM、 英特尔、阿里巴巴、华为、思科、DockereBay、红帽等一百多家…

    CNCF定义的云原生应用包括以下特征:

    1. 面向微服务:面向微服务开发、测试、运维
    2. 容器化封装:在容器中运行应用程序,并作为应用程序部署的独立单元,最终应用程序运行在公有云或私有云中
    3. 自动化管理:使用自动化的管理平台对容器部署、运维进行统一调度,提高系统的资源利用率,降低运维成本

    二、Service Mesh简介

    Service Mesh(服务网格),它是一种微服务开发的理念。微服务开发要支持代码0侵入则可大大降低了微服务开发的难度,提高微服务落地的速度,即不必使用统一的微服务框架进行开发,对于一些老系统不论开发语言是什么0代码侵入则可以改为微服务。

    服务消费方采用service mesh例子:

    在这里插入图片描述
    Service MeshService A处于同一个PodPodKubernetes中的概念,Pod是一个容器环境下的“逻辑主机”,上图说明Service Mesh AService A处于同一个主机,Service Mesh AService A通过127.0.0.1本地地址通信。
    上图Service A请求Service B的流程如下:

    1. Service A请求Service mesh A
    2. Service mesh A请求Service mesh B
    3. Service mesh A请求Service mesh C

    务提供方采用service mesh例子:
    在这里插入图片描述
    服务消费方请求服务提供方都采用service mesh的例子:
    在这里插入图片描述
    上图Service A请求Service B的流程如下:

    1. Service A请求Service mesh A
    2. Service mesh A请求Service mesh B
    3. Service mesh B请求Service B

    Service Mesh作为TCP/IP之上的一个抽象层,微服务只负责业务逻辑,Sidecar来负责微服务的通信、容错、限流、降低等功能,Sidecar就是把微服务层面的功能抽取了出来,应用程序之间通过Service Mesh进行通信,如下图:
    在这里插入图片描述
    Willian MorganService Mesh(服务网格)的定义是:Service Mesh是 一个基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,Service Mesh保证请求可以在这些拓扑中可靠地传输。在实际应用当中,Service Mesh通常是由一系列轻量级的网络代理组成的,它们与应用程序部署在一起,但应用程序不需要知道它们的存在。

    当该Sidecar在微服务中大量部署时,这些Sidecar节点自然就形成了一个网格:
    在这里插入图片描述

    三、为何使用Service Mesh

    1. 作为基础设施层,抽取微服务通信、治理功能
    2. 老系统0代码侵入改造为微服务
    3. Service Mesh负责微服务通信、治理功能,这样微服务专注业务开发

    四、Service Mesh发展

    业界将Spring Cloud称为第一代微服务技术,即侵入式微服务框架,将Service Mesh称为下一代的微服务技术。

    Service Mesh起源于2016年,2017年越来越多的企业开始知道Service Mesh,业界将2018年称为Service Mesh元年,预示着Service Mesh将从2018年开始发展。 Service Mesh发展至今已有如下开源项目: LinkerdEnvoyIstioConduit华为mesher新浪Motan Mesh

    展开全文
  • service mesh

    2019-07-21 17:36:09
    几个和service mesh 相关的文章 初识 Service Mesh 微服务 | 我为啥不看好 ServiceMesh ServiceMesh究竟解决什么问题?
    展开全文
  • 微服务之四Service Mesh介绍

    千次阅读 2018-07-15 16:47:59
    微服务之四Service Mesh介绍网上的干货不少,这里就先务点虚,说明一下什么是Service Mesh,现在基本上将Service Mesh翻译成网格。Service Mesh是专用的基础设施层。 轻量级高性能网络代理。 提供安全的、快速的、...

    微服务之四Service  Mesh介绍

    网上的干货不少,这里就先务点虚,说明一下什么是Service Mesh,现在基本上将Service Mesh翻译成网格。

    Service Mesh是专用的基础设施层。

    轻量级高性能网络代理。

    提供安全的、快速的、可靠地服务间通讯。

    与实际应用部署一起,但对应用透明。

    应用作为服务的发起方,只需要用最简单的方式将请求发送给本地的服务网格代理,然后网格代理会进行后续的操作,如服务发现,负载均衡,最后将请求转发给目标服务。

    其实说成大白话,就是为了让服务可以非侵入式编程,更容易维护和部署。到目前为止,Service Mesh经历了两代,即以linkerd为代表的linkerd1.0和以Istio1.0的第二代。当然还有Buoyant 公司的Conduit.

    总体上来讲,二者各有千秋。

    哪个更牛一些,估计得看发展的速度和对社区支持力度了。接下来会在整个过程中不断的穿插的介绍一些最新的技术信息。

    展开全文
  • Service Mesh初识

    2019-02-21 18:39:31
    什么是Service Mesh? 为什么需要Service MeshService mesh 特点: Service Mesh 基本原理 Service Mesh架构 方案  Istio 介绍  Linkerd 介绍 最后 什么是Service Mesh? 根据Linkerd CEO William ...

    什么是Service Mesh?

    为什么需要Service Mesh?

    Service mesh 特点:

    Service Mesh 基本原理

    Service Mesh架构

    方案

          Istio 介绍

          Linkerd 介绍

    最后


    什么是Service Mesh?

    根据Linkerd CEO William Morgan定义,Service Mesh是用于处理服务间通信的基础设施层,用于在云原生应用复杂的服务拓扑中实现可靠的请求传递。在实践中,Service Mesh通常是一组与应用一起部署,但对应用透明的轻量级网络代理。

    Service Mesh与传统基础设施层不同之处在于,它形成了一个分布式的互连代理网络,以sidecar形式部署在服务两侧,服务对于代理无感知,且服务间所有通信都由代理进行路由。

    为什么需要Service Mesh?

    “Smart endpoint and dumb pipes”是微服务架构在集成服务时采用的一个核心理念,这一理念改变了过去臃肿集中的ESB(企业服务总线),无疑是正确方向上的一大进步,但同时也给我们出了一些难题——多智能才不会过于智能,而服务轻重大小的程度如何拿捏?我们应该如何处理微服务系统中服务间交互的复杂性?放在服务内部还是外部?如果是内部,如何处理业务逻辑关系,或者应该与基础设施更为相关?如果是外部,如何避免重蹈ESB的覆辙?

    皮的不谈,先来看看处理服务间通信时需要关注的点:

    • 服务发现
    • 负载均衡
    • 路由
    • 流量控制
    • 通信可靠性
    • 弹性
    • 安全
    • 监控/日志

    似乎都是老生常谈,存在于任何需要处理网络的分布式系统之中,区别在于,当所涉及微服务数量呈指数级增加,这些问题也会被相应放大。

    一个已经被广泛应用的解决方案是利用api网关来处理服务外部和服务之间的请求,提供例如服务发现、路由、监控、流量控制等。

    然而,api网关有一个比较致命的缺陷,它容易出现单点故障并且实践不当很有可能会变得异常臃肿。另一方面,api网关核心是面向用户,也就是说它可以解决从用户到微服务的流量问题,但不能解决所有问题,而我们需要的是一个完整的方案,或者至少是一些能够与api网关互补的方案和工具。

    另一种选择是在网络堆栈的较低层级(4/3)进行可靠性、监控、流量控制等方面处理。这种选择的问题是,在较低较低的操作难易满足应用层的问题。联想end-to-end(端到端)的理论,我们前面提到的那几个关注点实际上还是集中在应用层,也只能在应用层成功实现。

    像Netflix、Twitter等SOA/微服务的早期采用者,他们通过建立内部库的方式处理这些问题,然后提供给所有服务使用。这种方法的问题在于,把库扩展到成百上千个微服务中难度极高,而且这些库相对来说是比较”脆弱“的,我们很难保证他们可以适应所有的技术堆栈选择。

    程度上来说,Service Mesh与这些库很类似,但Service Mesh是与服务相邻的独立进程。服务连接到代理,代理反过来又与其他代理(HTTP1.1/2、GRPC)进行通信。它们是相对独立的进程,在应用层或应用层之下分布和运行,进而解决了上述两个方案存在的缺陷。

    Service mesh 特点:

    • 应用程序间通讯的中间层;
    • 轻量级网络代理;
    • 应用程序无感知;
    • 解耦应用程序的重试、超时、监控、追踪和服务发现;

    Service Mesh 基本原理

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

    Phil Calçado 在他的这篇博客 Pattern: Service Mesh 中详细解释了 Service Mesh 的来龙去脉:

    1. 从最原始的主机之间直接使用网线相连
    2. 网络层的出现
    3. 集成到应用程序内部的控制流
    4. 分解到应用程序外部的控制流
    5. 应用程序的中集成服务发现和断路器
    6. 出现了专门用于服务发现和断路器的软件包/库,Twitter’s Finagle和 Facebook’s Proxygen。这时候还是集成在应用程序内部
    7. 出现了专门用于服务发现和断路器的开源软件,如:NetflixOSS ecosystem
    8. 最后作为微服务的中间层Service Mesh出现

    Service Mesh 的架构如下图所示

    Service Mesh架构

    Service Mesh由data plane构成,其中所有服务通过sidecar代理进行服务通信。(所有代理相互连接形成一个Mesh,Service Mesh由此得名)网格同时包含一个control plane——可以将所有独立的sidecar代理连接到一个分布式网络中,并设置网格还包括一个控制平面——它将所有独立的sidecar代理连接到一个分布式网络中,并设置由data plane指定的策略。

    Control plane定义服务发现、路由、流量控制等策略。这些策略可以是全局的,也可以是限定的。Data plane负责在通信时应用和执行这些策略。

    方案

    目前社区Service Mesh的开源解决方案有:Buoyant 公司推出的 Linkerd 和 Google、IBM 等厂商牵头的 Istio。Linkerd 更加成熟稳定些,Istio 功能更加丰富、设计上更为强大,社区相对也更加强大一些。所以普遍认为 Istio 的前景会更好,但是毕竟还处于项目的早期,问题还很多。

    Istio 介绍

    Istio是由Google、IBM和Lyft开源的微服务管理、保护和监控框架。Istio为希腊语,意思是”起航“。官方中文文档地址:https://istio.doczh.cn

    Istio架构图

    Istio架构分为控制层和数据层。

    1. 数据层:由一组智能代理(Envoy)作为sidecar部署,协调和控制所有microservices之间的网络通信。
    2. 控制层:负责管理和配置代理路由流量,以及在运行时执行的政策。

    Istio架构各个组成部分。

    • Envoy:Istio使用Envoy代理的扩展版本,该代理是以C++开发的高性能代理,用于调解service mesh中所有服务的所有入站和出站流量。
    • Mixer:Mixer负责在service mesh上执行访问控制和使用策略,并收集Envoy代理和其他服务的遥测数据。
    • Istio Manager:Istio-Manager用作用户和Istio之间的接口,收集和验证配置,并将其传播到各种Istio组件。
    • Istio-auth:Istio-Auth提供强大的服务间和最终用户认证,使用相互TLS,内置身份和凭据管理。

    Linkerd 介绍

    Linkerd 是开源网络代理,设计为以服务网格部署:用于管理,控制和监控应用程序内的服务与服务间通讯的专用层。

    Linkerd 架构图

    Linkerd 基本功能 原文链接

    1. Load balancing:负载均衡算法,它们使用实时性能指标来分配负载并减少整个应用程序的尾部延迟。
    2. Circuit breaking:自动熔断,将停止将流量发送到被认为不健康的实例,从而使他们有机会恢复并避免连锁反应故障。
    3. Service discovery:服务发现后端集成,通过删除特定的(ad-hoc)服务发现实现来帮助您降低代码的复杂性。
    4. Dynamic request routing:动态请求路由和重新路由,允许您使用最少量的配置来设置分段服务(staging service),金丝雀(canaries),蓝绿部署(blue-green deploy),跨DC故障切换和黑暗流量(dark traffic)。
    5. Retries and deadlines:在某些故障时自动重试请求,并且可以在指定的时间段之后让请求超时。
    6. TLS:可以配置为使用 TLS 发送和接收请求,您可以使用它来加密跨主机边界的通信,而不用修改现有的应用程序代码。
    7. HTTP proxy integration:可以作为 HTTP 代理,几乎所有现代 HTTP 客户端都广泛支持,使其易于集成到现有应用程序中。
    8. Transparent Proxying:在主机上使用 iptables 规则,设置通过 linkerd 的透明代理
    9. gRPC: 支持 HTTP/2 和 TLS,允许它路由 gRPC 请求,支持高级 RPC 机制,如双向流,流程控制和结构化数据负载。
    10. Distributed tracing:分布式跟踪和度量仪器,可以提供跨越所有服务的统一的可观察性。
    11. Instrumentation:支持分布式跟踪和度量仪器,可以提供跨越所有服务的统一的可观察性。

    最后

    总结来说,Service Mesh是“时间的产物”,Docker、Kubernetes等容器技术直接推进了对于Service Mesh的需求,让复杂的系统可以被轻松部署和管理。

    未来Service Mesh将如何发展还未可知,或许会像TCP/IP一样形成标准,或许不同工具和平台会独具一格……但有一点是确认的,Service Mesh对于微服务生态的价值令人难以忽视,能够将繁重的服务治理工作变得简单高效,何乐而不为?

     

    相关阅读:

    参考资料:

    展开全文
  • 这篇文章讲述了mesh GATT serviceMesh Provisioning ServiceMesh Proxy Service)的一个场景和示例。 涉及到三个Device:Provisioner、Node 1、Node 2。 三个过程: (1) Node 1发送可被连线的包含mesh ...
  • Service Mesh的定义服务网格是一个基础设施层,用于处理服务间通信。云原生应用有着复杂的网络拓扑,网络服务负责在这些拓扑中实现请求的可靠传递。在实践中,服务网格通常实现为一组轻量级网络代理,它们与应用程序...
  • 现在我们基本上把 Service Mesh 的定义介绍清楚了,大家应该可以大概了解什么是 Service Mesh 了。 2 Service Mesh 演进历程 第二个部分和大家追溯一下 Service Mesh 的演进历程。要注意,虽然 Service Mesh ...
  • ServiceMesh

    2021-04-16 10:04:31
    今年,ServiceMesh(服务网格)概念在社区里头非常火,有人提出2018年是ServiceMesh年,还有人提出ServiceMesh是下一代的微服务架构基础。作为架构师,如果你现在还不了解ServiceMesh的话,是否感觉有点落伍了? 那么...
  • Service Mesh 入门实战

    千次阅读 2018-04-12 10:41:41
    课程介绍 过去一年时间,Service Mesh 悄然兴起,成为云堆栈的一个重要组件。...本系列课程将带领读者学习什么是 Service MeshService Mesh 能做什么,为什么 Service Mesh 是构建云原生应用的主要...
  • ServiceMesh2018年度总结 应InfoQ的邀请,再次撰写ServiceMesh2018年度总结。 即将,邀请了Service Mesh社区的一众好友共襄盛举,希望能为Service Mesh2018年的发展做一个系统而全面的总结。特此鸣谢! 预览地址: ...
  • Service Mesh概述

    2019-11-16 23:31:06
    服务网格架构服务网格的实现模式Istio 架构解析从边车模式到 Service Mesh什么是边车模式边车模式设计边车模式解决了什么问题从边车模式到 Service MeshKubernetes vs Service Mesh 什么是服务网格? 服务网格是用于...
  • Service Mesh简介

    万次阅读 2019-07-29 13:30:34
    什么是service mesh 根据Linkerd CEO William Morgan定义,Service Mesh是用于处理服务间通信的基础设施层,用于在云原生应用复杂的服务拓扑中实现可靠的请求传递。在实践中,Service Mesh通常是一组与应用一起...
  • 1、Service Mesh介绍 Service Mesh翻译为“服务网格”,作为服务间通信的基础设施层。轻量级高性能网络代理,提供安全的、快速的、可靠地服务间通讯,与实际应用部署一起,但对应用透明。应用作为服务的发起方,只...
  • ServiceMesh学习

    2020-10-21 16:46:02
    service_mesh介绍文章

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,957
精华内容 6,782
关键字:

mesh介绍service