Service Mesh相关论文学习

2022-03-20  本文已影响0人  周群力

一直觉得Service Mesh是个纯工程领域、没有啥需要科研解决的问题,但是搜了一下却发现居然有一些Service Mesh相关的论文。既然有论文,那么到底是学术界技术领先,还是industry领先呢?Service Mesh有什么值得学术界研究的问题呢?抱着这些好奇,我翻起了论文。本文记录下笔记。

Service Mesh: Challenges, State of the Art, and Future Research Opportunities

19年的文章,关于Service Mesh的综述

文章讲了啥

前面部分介绍了Service Mesh是什么,以及面临的主要挑战,偏科普。
后面部分列出了未来研究机会:

个人评价:猜测文章是想说sm出现不可用时,被代理的服务不会被影响。恰好信通院出台的service mesh行业规范也有相关要求,要求数据面出问题时,通信基础设施能够fallback回不走sidecar的微服务通信。
这个观点有点奇怪,因为如果要支持fallback就要维护两套技术栈(sdk和sidecar),就没有做sm的价值了。业界实践中a家和头条的service mesh都没这么做。

个人理解:这些是可观测性平台(就是做tracing/metrics/logging的那些系统)的演进方向,不是服务网格需要解决的问题

个人理解:说到无侵入tracing,大家常想到的是用strace、eBPF之类的技术,做系统调用级别的tracing,或者jvm应用通过java agent之类的手段动态改字节码、在运行时做一些“面向切面”的事情。但是文章说的并不是这类,而是inference-based approach。Google 的dapper论文有解释这种方案:


image.png

正如dapper论文所说,统计推断技术不准,而且有更多的计算成本,并不实用:


image.png

dapper给的方案是“应用级别透明”,意思是在中间件sdk内做这些事情,对业务代码透明就行了,没必要追求对整个app透明。
因此,个人不觉得统计推断tracing是个值得研究的问题。

MeshScope: a bottom-up approach for configuration inspection in service mesh

2020年的文章,放到了“Poster and Demo”环节,简单介绍了下他们在做什么东西,没有实际测试报告。

文章讲了啥

这篇文章提出的问题是:服务网格的配置太复杂了,很容易配错出问题。目前的解决方案都是在控制面做配置校验/配置审计,但是实际的配置链路是“管理员意图---配置---数据面行为”,光在控制面做校验不够,我们应该判断“数据面的真实行为”和“管理员意图”是否一致。于是作者们写了个配置校验工具MeshScope
具体方案是:

这部分只是一笔带过,因为作者还在做“策略校验”

感想

这个问题应该是个纯工程问题,就是“配置太复杂,怎么避免配错了影响稳定性”。之前负责的一些业务系统以及规则引擎平台总是会遇到这问题,还写了相关的分享文章,解法是围绕配置变更:

不过文章提到的“根据规则动态生成测试请求”还挺有意思的。

上一篇 下一篇

猜你喜欢

热点阅读