编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Layotto:快速构建云原生应用,帮助应用和基础设施解耦

wxchong 2024-11-27 21:40:59 开源技术 17 ℃ 0 评论

#挑战30天在头条写日记#

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

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

要求

  • Golang 1.14 及以上,或者 Java 8 、Maven 3
  • Docker

功能

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

工程架构

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

Layotto 提供了多种语言版本的 SDK,SDK 通过 gRPC 与 Layotto 进行交互。

如果您想把应用部署到不同的云平台(例如将阿里云上的应用部署到 AWS),您只需要在 Layotto 提供的 配置文件 里修改配置、指定自己想用的基础设施类型,不需要修改应用的代码就能让应用拥有 "跨云部署" 能力,大大提高了程序的可移植性。

快速开始

API

API

status

desc

State

?

提供读写 KV 模型存储的数据的能力

Pub/Sub

?

提供消息的发布 / 订阅能力

Service Invoke

?

通过 MOSN 进行服务调用

Config

?

提供配置增删改查及订阅的能力

Lock

?

提供 lock/unlock 分布式锁的实现

Sequencer

?

提供获取分布式自增 ID 的能力

File

?

提供访问文件的能力

Binding

?

提供透传数据的能力

Service Mesh

feature

status

desc

Istio

?

跟 Istio 集成,作为 Istio 的数据面

可扩展性

feature

status

desc

API 插件

?

为 Layotto 添加您自己的 API

可观测性

feature

status

desc

Skywalking

?

Layotto 接入 Skywalking

Actuator

feature

status

desc

Health Check

?

查询 Layotto 依赖的各种组件的健康状态

Metadata Query

?

查询 Layotto 或应用对外暴露的元信息

流量控制

feature

status

desc

TCP Copy

?

把 Layotto 收到的 TCP 数据 dump 到本地文件

Flow Control

?

限制访问 Layotto 对外提供的 API

在 Sidecar 中用 WebAssembly (WASM) 写业务逻辑

feature

status

desc

Go (TinyGo)

?

把用 TinyGo 开发的代码编译成 *.wasm 文件跑在 Layotto 上

Rust

?

把用 Rust 开发的代码编译成 *.wasm 文件跑在 Layotto 上

AssemblyScript

?

把用 AssemblyScript 开发的代码编译成 *.wasm 文件跑在 Layotto 上

作为 Serverless 的运行时,通过 WebAssembly (WASM) 写 FaaS

feature

status

desc

Go (TinyGo)

?

把用 TinyGo 开发的代码编译成 *.wasm 文件跑在 Layotto 上,并且使用 k8s 进行调度。

Rust

?

把用 Rust 开发的代码编译成 *.wasm 文件跑在 Layotto 上,并且使用 k8s 进行调度。

AssemblyScript

?

把用 AssemblyScript 开发的代码编译成 *.wasm 文件跑在 Layotto 上,并且使用 k8s 进行调度。

项目地址:

https://github.com/mosn/layotto

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表