演讲分享

Knative是Google发起的 serverless 项目,希望通过提供一套简单易用的 serverless 开源方案,将 serverless 标准化。

在勇敢的选择了Service Mesh作为未来技术方向之后,蚂蚁金服率先开始了Service Mesh大规模落地探索。在此过程中,我们遇到很多问题,面临各种挑战,也有了一些思路和方法。今天我们将这些实践分享出来,并结合我们开源的SOFAMesh项目,和大家一起探讨:如何更好的将Service Mesh这样的新兴技术落地于实际生产环境。

蚂蚁金服Service Mesh产品(SOFAMesh)的技术选型,架构设计和开源策略

今天我们不谈技术,不谈架构,也不谈具体的产品,我们来聊一聊在未来一两年之内,Service Mesh技术会在微服务相关的市场带来什么样的变化?

从萌芽到壮大,Service Mesh技术在2017年快速成长,Istio更是霸气登场。在下一代微服务的蓬勃气势下,各路英豪,无论是名门世家,还是江湖草莽,相继做出决断和选择。

新一轮的江湖厮杀又一次开始…

出版作品

2017年的Service Mesh历程,在平淡中开始,如戏剧般结束,留给我们一个充满想象和憧憬的2018。让我们一起来回顾这堪称精彩的一年。

技术博客

SOFAMesh需要增加多个通讯协议的支持,在开发中我们发现按照Istio标准的开发方式,会有大量重复的工作和代码。通过x-protocol我们在SOFAMesh中实现简单快捷的协议扩展,可以方便的支持新的TCP通讯协议。

虽然大多数的服务都不会要求极致性能,但是系统中总是有可能出现个别服务的确对性能要求很高,为了满足这些特例而不至于因此整体否决Servicemesh方案,我们需要在Servicemesh的大框架下提供一个折中方案。

为了更方便的支持通讯协议扩展,为了更灵活的性能与功能的平衡,为了兼容现有SOA体系,我们在SOFAMesh项目中引入了名为x-protocol的解决方案,在Istio之上进行补充,让我们从DNS通用寻址方案开始。

在Service Mesh技术社区的微信群中,针对Istio Mixer Cache设计中缓存存放和逻辑分离的潜在分险,进行了深入探讨,截屏实录,原汁原味。

签名是Mixer Check Cache的核心操作,涉及到最重要的缓存查找,还有性能,但是,其实在理解了引用属性和absent key的概念后,也非常简单。

Mixer Check Cache的主流程代码解析。

Mixer check Cache设计时,由于受限于无法得知mixer adaper会使用哪些属性,因此不得不引入两层缓存的设计,而absence key的使用也增加了代码阅读上的困难。在展开代码阅读和讲解之前,我们先在本文中概括讲述mixer check cache的 …

为了保证性能,避免每次请求都远程访问Mixer,Istio在Envoy中精心设计了一套Mixer Cache机制。在Mixer这个精美的花瓶下面,垫上了一块厚实的板砖。

为了架构的优雅,Istio设计了Mixer,将大量的功能从Sidecar中搬了出来。为了减少Mixer远程调用带来的性能,又精心设计了一套复杂的缓存。只是,这个Mixer Cache,有一个地方需要探讨……

苦等一年,始终不见Istio的性能有实质性提升,失望之余,开始反思Istio而至Service Mesh的架构。焦点所在:proxy到底该做哪些事情?架构的优美和性能的实际表现该如何平衡?

和我联系