Service Mesh

文章目录

  • 一、微服务落地困难
  • 二、Service Mesh简介
  • 三、为何使用Service Mesh
  • 四、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 Mesh_第1张图片
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_第2张图片
服务消费方请求服务提供方都采用service mesh的例子:
Service Mesh_第3张图片
上图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进行通信,如下图:
Service Mesh_第4张图片
Willian MorganService Mesh(服务网格)的定义是:Service Mesh是 一个基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,Service Mesh保证请求可以在这些拓扑中可靠地传输。在实际应用当中,Service Mesh通常是由一系列轻量级的网络代理组成的,它们与应用程序部署在一起,但应用程序不需要知道它们的存在。

当该Sidecar在微服务中大量部署时,这些Sidecar节点自然就形成了一个网格:
Service Mesh_第5张图片

三、为何使用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

你可能感兴趣的:(JavaEE)