首页 > 其他分享 >Multi-Runtime多运行时架构

Multi-Runtime多运行时架构

时间:2022-12-27 20:00:54浏览次数:53  
标签:Multi 架构 Service Mesh Runtime Sidecar

概念

Multi-Runtime

Multi-Runtime 是一种服务端架构思路,把应用里的所有中间件挪到 Sidecar 里,使得“业务运行时”和“技术运行时”分离开。

首先来看 Service Mesh,和传统 RPC 框架相比,Service Mesh 的创新之处在于引入了 Sidecar 模式。Service Mesh 只解决了服务间通讯的需求,而现实中的分布式应用存在更多需求,比如“协议转换”、“状态管理”等。Multi-Runtime 架构提出将各种各样的分布式能力外移到独立 Runtime,最后和应用 Runtime 共同组成微服务,形成所谓的“Multi-Runtime” (多运行时) 架构。

具体细节可以详阅《Multi-Runtime Microservices Architecture》和《Mecha:将 Mesh 进行到底》

Multi-Runtime 架构实例

Dapr

Dapr 的全称是“Distributed Application Runtime”,即“分布式应用运行时”,是一个由微软发起的开源项目。

Dapr 的 Sidecar,除了可以和 Service Mesh 一样支持服务间通讯,还可以支持更多的功能,如 state (状态管理) 、pub-sub (消息通讯) ,resource binding (资源绑定,包括输入和输出) 。Dapr 将每种功能抽象出标准化的 API (如 state API) ,每个 API 都有多种实现,比如用户可以面向 state API 编程,但是可以随意切换存储组件。

架构:

img

Layotto

Layotto 是由蚂蚁集团 2021 年开源的一个实现 Multi-Runtime 架构的项目,核心思想是在 Service Mesh 的数据面(MOSN里支持 Dapr API 和 WebAssembly 运行时,实现一个 Sidecar 同时作为 Service Mesh 数据面、多运行时 Runtime、FaaS 运行时。项目地址为:https://github.com/mosn/layotto

架构:

img

Service Mesh

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

Service Mesh 架构图

参考:https://jimmysong.io/kubernetes-handbook/usecases/service-mesh.html

部署形态

  • Sidecar 模式,每个应用独享一个代理

图片

  • 节点上所有 Pod 共享同一个代理

图片

  • 节点上每个 Service Account 共享一个代理

图片

  • 混合模式:轻量 Sidecar+ 远端代理

图片

参考

标签:Multi,架构,Service,Mesh,Runtime,Sidecar
From: https://www.cnblogs.com/bigbigtree/p/17008866.html

相关文章

  • 简读 || A Belief Propagation Algorithm for Multipath-Based SLAM
    原文链接:ABeliefPropagationAlgorithmforMultipath-BasedSLAM|IEEEJournals&Magazine|IEEEXplore开源代码:https://www2.spsc.tugraz.at/people/eriklei/BP-......
  • 架构重构的技巧
    架构重构的定义:代码重构定义:对软件代码做任何改动以增加可读性或者简化结构而不影响输出的结果目的:增加可读性、增加可维护性、增加可扩展性关键点:不影响......
  • 架构师图谱
    作为一个程序猿,每个人都有一个架构师梦,那么如何成为一个架构师,成为架构师又需要具备哪些技能呢?这里总结了软件开发中的一些技能树,图谱来源于网络。架构师图谱Java图谱微服务......
  • LNMP架构环境之Nginx项目1:搭建游戏网站
    1)配置站点目录cd/usr/share/nginx/rm-frhtml/通过SCP工具将gamme.zip上传到/usr/share/nginx/html/目录下#上传游戏程序unzipgame.zipcd /usr/share/nginx/sbin/2)......
  • arm架构配置yum源
    注意:arm架构的yum源配置暂时未能成功通过阿里云镜像,网易镜像成功创建。1.清除缓存yumcleanall2.创建备份目录mkdir/etc/yum.repos.d/bak3.备份mv/etc/yum.......
  • 技术架构(11)- API网关
    API网关是服务统一的请求入口,对请求进行路由、负载均衡、协议转换、安全防护、限流熔断等,把与业务无关的技术处理部分提炼出来,让服务专注于实现业务逻辑。协议转换系统......
  • 企业架构中如何进行平台化-银行案例
    备注:这一篇是来自在自己写的书某些章节删减,在这里并不对文章中所涉及到内容深入展开。  一、企业架构企业信息架构这个词已经存在很多年, 从1987年的ZachmanFramework......
  • Kubernetes基础(基本概念、架构)(十)
    一、介绍Kubernetes(简称K8S)的出现是容器化技术发展的必然结果,容器化是应用程序级别的虚拟化,运行单个内核上有多个独立的用户空间实例,这些实例就是容器;容器提供了将应用......
  • 支持Docker的底层技术(Namespaces?CGroups?UnionFS?Docker 架构?)(二)
    上一篇介绍了Docker基本概念,这一篇介绍下支持Docker的底层技术Docker本质就是宿主机的一个特殊进程,Docker是通过namespace实现资源隔离,通过cgroup实现资源限制,通过......
  • 【《硬件架构的艺术》读书笔记】09 电磁兼容性能设计指南(2)
    这一节就大致浏览一下,不细看了。9.6减少EMC/EMI的技术三个方法:1、在源头抑制发射。2、耦合路径尽可能低效。3、受体几乎不受发射影响。9.6.1系统级技术9.6.1.1展频......