×

Layotto Golang开发的应用运行时

消耗积分:0 | 格式:zip | 大小:6.41 MB | 2022-05-13

王平

分享资料个

授权协议 Apache-2.0
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
所属分类 云计算云原生

软件简介

Layotto(/leɪˈɒtəʊ/) 是一款使用 Golang 开发的应用运行时,旨在帮助开发人员快速构建云原生应用,帮助应用和基础设施解耦。它为应用提供了各种分布式能力,比如状态管理,配置管理,事件发布订阅等能力,以简化应用的开发。

Layotto 以开源的 MOSN 为底座,在提供分布式能力以外,提供了 Service Mesh 对于流量的管控能力。

功能:

  • 服务通信
  • 服务治理,例如流量的劫持和观测,服务限流等
  • 作为 istio 的数据面
  • 配置管理
  • 状态管理
  • 事件发布订阅
  • 健康检查、查询运行时元数据
  • 基于WASM的多语言编程

工程架构

如下图架构图所示,Layotto 以开源 MOSN 作为底座,在提供了网络层管理能力的同时提供了分布式能力,业务可以通过轻量级的 SDK 直接与 Layotto 进行交互,而无需关注后端的具体的基础设施。

Layotto 提供了多种语言版本的 SDK,SDK 通过 gRPC 与 Layotto 进行交互,应用开发者只需要通过 Layotto 提供的配置文件配置文件 来指定自己基础设施类型,而不需要进行任何编码的更改,大大提高了程序的可移植性。

pYYBAGJp8viAQdSPAAE3am7PtTI792.jpg

诞生背景

Layotto希望可以把 Multi-Runtime 跟Service Mesh两者的能力结合起来,无论你是使用MOSN还是Envoy或者其他产品作为Service Mesh的数据面,都可以在不增加新的sidecar的前提下,使用Layotto为这些数据面追加Runtime的能力。

例如,通过为MOSN添加Runtime能力,一个Layotto进程可以既作为istio的数据面 又提供各种Runtime API(例如Configuration API,Pub/Sub API等)。

此外,随着探索实践,我们发现sidecar能做的事情远不止于此。 通过引入WebAssembly ,我们正在尝试将Layotto做成 FaaS (Function as a service) 和 reloadable sdk 的运行时容器。

如果你对诞生背景感兴趣,可以看下这篇演讲

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !