网站首页 > 开源技术 正文
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
猜你喜欢
- 2024-11-27 物联网中长连接状态下的TCP业务如何实现低功耗
- 2024-11-27 你可知道tcp拥塞控制?
- 2024-11-27 如何使用scrcpy手机无线投屏到电脑
- 2024-11-27 最简明的 Tcpdump 抓包入门指南
- 2024-11-27 Java I/O模型及其底层原理,夯实你的开发基础
- 2024-11-27 图文并茂 讲什么是TCP 好东西
- 2024-11-27 Wireshark工作使用小结
- 2024-11-27 一篇不错的网络数据抓包
- 2024-11-27 最新最全防火墙设置相关 常用的一些命令
- 2024-11-27 【开源】音视频并发测试工具
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)