Layotto 是一款使用 Golang 开发的应用运行时,旨在帮助开发人员快速构建云原生应用

前言

大家好,我是老马。

sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。

最近想学习一下 SOFA 对于生态的设计和思考。

sofaboot 系列

SOFABoot-00-sofaboot 概览

SOFABoot-01-蚂蚁金服开源的 sofaboot 是什么黑科技?

SOFABoot-02-模块化隔离方案

SOFABoot-03-sofaboot 介绍

SOFABoot-04-快速开始

SOFABoot-05-依赖管理

SOFABoot-06-健康检查

SOFABoot-07-版本查看

SOFABoot-08-启动加速

SOFABoot-09-模块隔离

SOFABoot-10-聊一聊 sofatboot 的十个问题

Layotto 项目文档

1. 项目概述

Layotto 是蚂蚁集团开源的 服务网格应用运行时,基于 MOSN 构建,旨在通过标准化 API 实现应用与基础设施的解耦,提升跨平台部署能力和异构语言支持。

  • 核心目标:提供统一的分布式能力抽象(如状态管理、消息订阅、配置管理等),降低应用对底层中间件的依赖。
  • 架构定位:整合 Service Mesh 与 Multi-Runtime 理念,通过单一 Sidecar 同时支持服务治理和分布式能力。

2. 核心功能

2.1 支持的 API

Layotto 提供以下标准化 API(截至 v0.1.0 版本):

  • Configuration API:动态配置管理。
  • PubSub API:消息发布与订阅。
  • State API:分布式状态管理(如缓存、数据库)。
  • Distributed Lock API:分布式锁。
  • Sequencer API:分布式唯一 ID 生成。
  • RPC API:服务间通信。
  • Actuator API:健康检查与运行时元数据查询。

2.2 集成能力

  • Service Mesh 集成:支持通过 4 层或 7 层流量治理(限流、流量镜像等),兼容 Istio。
  • 多语言支持:基于 gRPC 和 WASM 实现跨语言调用。
  • 组件扩展:复用 Dapr 社区组件,支持对接多种基础设施(如 Redis、Kafka 等)。

3. 架构设计

3.1 分层架构

plaintext 复制代码
+-------------------+     +-------------------+
|    Application    |     |   运维平台(如 K8s)|
+-------------------+     +-------------------+
           ↓ HTTP/gRPC                ↑ HTTP
+---------------------------------------------+
|                  Layotto                   |
|  - 标准化 API(gRPC/HTTP)                 |
|  - 服务治理(流量控制、熔断等)              |
+---------------------------------------------+
           ↓ 对接多种协议
+---------------------------------------------+
|              基础设施(Redis、MQ 等)        |
+---------------------------------------------+

架构图描述:Layotto 作为中间层,向上提供统一 API,向下对接异构基础设施。

3.2 关键特性

  • 可移植性:应用通过标准 API 与 Layotto 交互,无需修改代码即可跨云部署或在 Layotto/Dapr 间切换。
  • 性能优化:基于 MOSN 实现低延迟(RT <0.2ms)与低资源占用(CPU 增加 0%~2%,内存增长 <15MB)。

小结

希望本文对你有所帮助,如果喜欢,欢迎点赞收藏转发一波。

我是老马,期待与你的下次相遇。

相关推荐
橙色云-智橙协同研发6 小时前
从 CAD 图纸到 Excel 数据:橙色云智橙 PLM 打造制造企业数字化协同新模式
大数据·功能测试·云原生·cad·plm·云plm·bom提取
鬼火儿8 小时前
SpringBoot】Spring Boot 项目的打包配置
java·后端
cr7xin8 小时前
缓存三大问题及解决方案
redis·后端·缓存
大佬,救命!!!9 小时前
C++多线程同步与互斥
开发语言·c++·学习笔记·多线程·互斥锁·同步与互斥·死锁和避免策略
平凡而伟大(心之所向)9 小时前
云架构设计与实践:从基础到未来趋势
人工智能·阿里云·系统架构·安全架构
赵文宇(温玉)9 小时前
构建内网离线的“github.com“,完美解决内网Go开发依赖
开发语言·golang·github
qq7422349849 小时前
Python操作数据库之pyodbc
开发语言·数据库·python
Joker100859 小时前
仓颉自定义序列化:从原理到高性能多协议实现
开发语言
Adellle9 小时前
2.单例模式
java·开发语言·单例模式
间彧9 小时前
Kubernetes的Pod与Docker Compose中的服务在概念上有何异同?
后端