本文来说下什么是服务网格

文章目录

  • Service Mesh是什么
    • 服务调用复杂度问题
    • Service Mesh怎么解决的
  • Service Mesh功能特性
  • Service Mesh实现
  • 本文小结

Service Mesh是什么

简单来讲,Service Mesh 简化了微服务架构中服务间调用复杂度

这就涉及到了2个问题

  • 服务调用怎么复杂了?
  • Service Mesh 怎么解决的?

服务调用复杂度问题

对于每个微服务,我们可以简单的视为包含2个部分:

  • 业务逻辑
  • 网络功能

其中网络部分是非常复杂的,需要解决很多问题,例如:

  • 使用什么网络传输协议(HTTP1.x/2.x, gRPC ……)
  • 服务发现
  • 熔断机制
  • 处理超时
  • 重试
  • 服务调用时的负载均衡

每个微服务都需要处理这些网络问题,如果所有微服务都使用同一套语言还好,可以使用一个框架统一解决,但如果使用了多种语言,那么每种语言又需要统一处理一遍。

所以,可以说:

微服务架构中,最复杂的不是构建服务本身,而是处理服务间调用问题


Service Mesh怎么解决的

业务逻辑

微服务实现自己的业务功能。

内部网络功能

虽然很多网络功能都可以统一由 Service Mesh 解决,但有些基础的功能还需要微服务自己来解决。

例如,和 Service Mesh 如何沟通呢?使用 HTTP1.x, gRPC, TCP?

这部分功能通常由开发框架中的网络库来解决。

Service Mesh Sidecar(边车)

这部分就是用来解决应用级别通用的网络问题,例如熔断、超时、服务发现 ……。

把这些问题与微服务中的业务代码完全隔离开,开箱即用。

Service Mesh Control Plane

负责管理所有 service mesh 的代理。

例如:

1)访问控制

2)监控

3)服务发现

……


Service Mesh功能特性

梳理一下 Service Mesh 的核心功能:

  • 服务间调用的弹性处理:熔断、超时、重试、错误处理、负载均衡、故障转移。
  • 服务发现:通过专用服务注册表发现服务终结点。
  • 路由:提供原始的路由功能,不涉及服务中业务相关的路由功能。
  • 监控:度量、监控器、分布式日志、分布式跟踪。
  • 安全:传输层安全,key 管理。
  • 访问控制:基于黑名单、白名单的访问控制。
  • 部署:原生支持容器,Docker 和 Kubernetes。
  • 通信协议:HTTP1.x, HTTP2, gRPC, TCP。

Service Mesh实现

非常流行的2个开源实现:

  • Linkerd
  • Istio

他们的架构都比较简单,实现机制不同。


本文小结

Service Mesh 把通用的服务调用需要处理的问题都统一处理了,你可以更加专注于服务自身的业务了,也可以放心的使用不同开发语言。

但 Service Mesh 也有不足,首先就是增加了系统整体的复杂度,例如增加了 Sidecar、Control Plane,而且服务间的通信不像以前那么直接了,需要经过代理。还有就是成熟度还不是很高,需要大规模线上应用的磨合完善。

什么是服务网格(Service Mesh)相关推荐

  1. 下一代微服务架构——服务网格Service Mesh

    下一代微服务架构--服务网格Service Mesh 下一代微服务架构--服务网格Service Mesh 服务治理 什么是服务治理 系统架构形态演进 现阶段存在的问题 Service Mesh是什么 ...

  2. istio简介和基础组件原理(服务网格Service Mesh)

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 微服务对于每个功能的开发细化了,但是对与系统的管理复杂度增强了,尤其是网络流量的管理. 试想一下:黑名单,导流,加密,访问控制,流量监控,熔断,限速, ...

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

    1. Service Mesh是什么(What) Service Mesh中文含义服务网格,是一种微服务网络层治理方案. 服务网格将微服务中与网络相关的部分抽象出来,形成一个应用层的抽象网络层,专门负 ...

  4. 服务网格Service Mesh学习整理

    服务网格从总体架构上来讲,就是一堆紧挨着各项服务的用户代理,外加一组任务管理流程组成. 代理在服务网格中被称为数据层或数据平面(data plane), 管理流程被称为控制层或控制平面(control ...

  5. 微服务的未来,服务网格Service Mesh!!!

    微服务确实为分布式架构带来了极大的改善,但是侵入到服务中的各种配置也确实令人眼花缭乱,最近偶然接触到了Service Mesh(服务网格),感觉确实是个好东西,下面借鉴一些网络资源,简单的整理一下思路 ...

  6. Linkerd 2.11 服务网格Service Mesh 开箱

    客户端安装 https://github.com/linkerd/linkerd2/releases/download/stable-2.11.1/linkerd2-cli-stable-2.11.1 ...

  7. 浅谈服务治理、微服务与Service Mesh(一二三)

    本文为转载#原文链接:易商阜极 引言 本系列文章将为大家介绍当下最流行的服务治理.微服务等相关内容,从服务治理.SOA.微服务到最新的服务网格(Service Mesh)进行综合介绍和分析.作为本系列 ...

  8. 下一代微服务(service Mesh)

    有没有同学了解过Service Mesh. 什么是Service Mesh? 简单来说,它可以直接翻译成服务网格.它是一个基础设施层,用于处理服务之间的通信,并且负责请求的可靠传输.什么意思呢? se ...

  9. 下一代微服务!Service Mesh 2018年度总结

    作者团:敖小剑.崔秀龙.单家骏.宋净超.田晓亮.徐蓓.张超盟 \n 前言 \n 在2017年年底,在Service Mesh刚刚兴起之时,应InfoQ的邀请撰写过一篇名为 "Service ...

最新文章

  1. 高效sql性能优化极简教程
  2. 重磅!我国建成首个自动驾驶封闭高速公路测试环境
  3. Postfix邮件设定相关
  4. centos7 致命错误:curl/curl.h:没有那个文件或目录 #include curl/curl.h
  5. C# 值类型与引用类型(1)
  6. TextArea里Placeholder换行问题
  7. J2EE中使用jstl报http //java sun com/jsp/jstl/core cannot be reso
  8. Fgui Glist 实现无限滑动 虚拟列表
  9. win10完美运行红警
  10. 微软Rdlc报表设计器下载 RdlcDesigner
  11. 2017-2018-2 20179215《网络攻防实践》第八周作业
  12. android 换肤 字体颜色,Android换肤
  13. 修改Ceph 监视器地址
  14. 大数据与云计算技术周报(第150期)
  15. 设计模型之Visitor模式-图书馆管理系统应用C++实现
  16. ios代码中的内存泄露,内存检测工具leaks 检测不出来
  17. python 响铃_python——字符串-阿里云开发者社区
  18. 【2019.8.9 慈溪模拟赛 T2】摘Galo(b)(树上背包)
  19. 你总问,全面发展还是术业专攻?这就是答案
  20. 将正方形矩阵顺时针转动90度(Java)

热门文章

  1. App iPhone版内部测试使用办法
  2. ubuntu网站收集
  3. Linux扩展正则表达式
  4. 2018 前端开发框架对比
  5. 大数据驱动智能制造 物联网引爆工业革命商机
  6. 关于juniper配速小记
  7. OpenCV探索之路(十):图像修复技术
  8. 第一百八十二节,jQuery-UI,知问前端--日历 UI
  9. Lua学习笔记5:类及继承的实现
  10. 8月全球搜索引擎市场:百度位居第四 份额大涨