狠狠撸

狠狠撸Share a Scribd company logo
ServiceMesh, Runtime,
FaaS
马振军(古今)
三位一体
马振军
? 花名“古今”,取自《增广贤文》中“观今
宜鉴古,无古不成今”。
? 目前在蚂蚁集团中间件团队负责MOSN、Layotto等项
目的开发工作。
? 专注于云原生,容器运行时,奥别产础蝉蝉别尘产濒测等技术领域的发展。
目 录 Service Mesh回顾与总结
应用运行时
Contents
Layotto架构设计
FaaS产物化的探索
开源与共赢
Service Mesh回顾与总结
Part.01
应用
SDK
服务路由
负载均衡
通信序列化协议
sidecar
? 升级成本高
? 业务解耦
? 平滑升级
? 异构语言治理
业务逻辑 应用
SDK
通信序列化协议
业务逻辑
服务路由
熔断限流
进程通信
熔断限流
负载均衡
? 异构语言治理能力弱
? SDK版本碎片化
微服务 vs Service Mesh
基础设施
MOSN
RPC MQ
Actuator
Cache Config
鉴权
配置
Java/NodeJS/C++/…
App
P
a
a
S
降级限流 流量镜像
…
消息 缓存
? 数千应用
? 数十万容器
泛Mesh化的落地总结
MOSN
App
业务逻辑
RPC SDK
port1
各种各样的SDK
bolt
port2
Cache SDK
redis
MQ SDK
port3
Config SDK
基础设施强绑定
MQ
SOFA-RPC SOFA-Cache SOFA-MQ
config
port4
SOFA-Config
基础设施
RPC Cache Pub/Sub Config
新的挑战1:应用跟基础设施强绑定
基础设施
MOSN
nodejs
业务逻辑
X SDK
通信序列化协议
RPC Cache Pub/Sub Config
python
业务逻辑
X SDK
通信序列化协议
Go
业务逻辑
X SDK
通信序列化协议
C++
业务逻辑
X SDK
通信序列化协议
SOFA-RPC SOFA-Cache SOFA-MQ SOFA-config
新的挑战2:异构语言接入成本高
02
应用运行时
Part.
? 提供多种分布式能力 ? 对接了丰富的基础组件
dapr调研
Service Mesh vs Runtime
应用
基础设施
Service Mesh
应用
基础设施
Service Mesh
基础设施API 基础能力API
Runtime
方案1:替换 方案2:共存
? 缺失流量治理能力 ? 运维成本飙升
? 稳定性有待验证 ? 稳定性更难保证
POD
container
App
container
container
dapr
MOSN
POD
container
App
container
container
dapr
MOSN
dapr落地
03
Layotto架构设计
Part.
Layotto架构
Layotto
Runtime API
Actuator
API
P
a
a
S
HTTP
gRPC Client
App
gRPC Server
Config Pub/Sub RPC
apollo kafka etcd
Components
社区共建
redis
MOSN
复用&自研
业务逻辑
State Lock Sequencer
…
Layotto架构
gRPC Client
App
gRPC Server
apollo kafka etcd
Components
社区共建
redis
MOSN envoy
复用&自研
业务逻辑
P
a
a
S
HTTP
Layotto
Runtime API
Actuator
API
Config Pub/Sub RPC
State Lock Sequencer
…
Application Code
App
App
App
Layotto
App 2
Polar DB
RocketMQ
nacos
App 2
Dynamo DB
SQS
KMS
App 2
Cache
MQ
KMS
Layotto
Layotto
标准API
标准API
标准API
Layotto的移植性
Layotto
Config API
apollo
gRPC
Get
Reference:https://github.com/dapr/dapr/issues/2988
Save Delete Subscribe
key
content
appId
group
label
tags
参与索引
env
prod
test
dev
不参与索引
attach
desc
author
配置元素
业务逻辑
gRPC Client
App
Components
配置能力
etcd
Layotto
Pub API
redis
Publish
dapr
Sub API
Subscribe
rabbitmq kafka pulsar …
Dapr-Components
Reference:https://github.com/dapr/dapr/issues/3276
App
业务逻辑
gRPC Client gRPC Server
Pub/Sub能力
Layotto
Before Filter
Channel
dubbo bolt
MOSN
Service API
xprotocol
http
After Filter
路由规则
服务治理
XDS
业务逻辑
gRPC Client
App
Components
RPC能力
Layotto
过期
Zookeeper
Lock API
业务逻辑
gRPC Client
App
Components
Lock能力
Etcd Redis
可重入
续租 阻塞锁
设计文档:https://mosn.io/layotto/#/zh/design/lock/lock-api-design
Layotto
趋势递增
Zookeeper
Sequencer API
业务逻辑
gRPC Client
App
Components
Etcd Redis
设计文档:https://mosn.io/layotto/#/zh/design/sequencer/design
Sequencer能力
全局递增
指定递增
Health-Components
Layotto
PaaS
Health
Endpoint
Info Endpoint
ReadinessIndicator LivenessIndicator InfoContributor
HTTP
INIT:初始化
UP:正常
DOWN:错误
Components
apollo
App MOSN …
Actuator能力
04
FaaS 产物化的探索
Part.
虚拟化技术的发展
硬件虚拟化 操作系统虚拟化 进程虚拟化
期望的Function模型
Layotto
Func Func Func
隔离性 安全性
Process
多语言
program
浏览器 WASM Runtime
build
WebAssembly介绍
期望的Function模型
WASM ABI vs Runtime API
Layotto
Function
(WASM)
Function
(WASM)
Function
(WASM)
Process
WASM Runtime Application Runtime
K8S 调度
Node
kubelet
Containerd
runc
k8s
Image Registry
image
…
docker build
jar,ELF,exe
image
docker push
container
kata containers gVisor
OCI
container container
Node
kubelet
Containerd
containerd-shim-wasm-v2
Container
containerd-shim-wasm-v2
Container
k8s
wasm
wasmer
wasm
wasmer
WASM 的调度-containerd
Image Registry
image
…
docker build
*.wasm
image
docker push
OCI
Node
Layotto Runtime
wasm2
kubelet
Containerd
Containerd-shim-layotto-v2
wasm1
Layotto
k8s
Containerd-shim-layotto-v2
Function的调度-Layotto
Image Registry
image
…
docker build
*.wasm
image
docker push
OCI
k8s + Layotto演示
Function资源限制
资源
cpu
stack
system
call
heap
可执行的指令数
函数栈的大小
线性内存大小
可执行的系统调用
FaaS落地展望
Layotto
Func Func
BaaS
Cloud/IDC
USER
Layotto
Java JS Go
Cloud IDE
Layotto Runtime Kata container
BaaS/Func
Kernel+
Layotto
unikernel
05
开源与共赢
Part.
诲补辫谤社区
WebAssembly社区
? 多语言支持(Java, Go, JS)
? WASM ABI( proxy-wasm/spec )
? 生态建设(Troubleshooting, 资源限制,高级特性)
Layotto社区
Layotto
MQ
业务逻辑
gRPC Client
App
Components
Cache …
gRPC Server
Layotto
MQ
Components
Cache …
Func1 Func1 Func1
欢迎交流
钉钉群
微信群
THANKS

More Related Content

Similar to 厂别谤惫颈肠别惭别蝉丑-搁耻苍迟颈尘别-贵补补厂叁位一体.辫诲蹿 (20)

PDF
美丽说的架构发展与变迁 New
翀 刘
?
PDF
Yog Framework
fansekey
?
KEY
浅谈云端运算
永昇 陳
?
PDF
Grid Technology and Enterprise Grid / 网格技术及其在公司信息化中的应用
Zac John
?
PDF
Nodejs & NAE
q3boy
?
PDF
Hacking Nginx at Taobao
Joshua Zhu
?
PDF
Open stack中国社区开放测试平台(ostp)
OpenCity Community
?
PDF
LVS
mysqlops
?
PDF
使用尝痴厂集群架设高可扩展的网络服务
Wensong Zhang
?
PDF
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
?
PDF
章文嵩:使用尝惫蝉集群架设高可扩展的网络服务
drewz lin
?
PPT
滨顿颁大会:新浪厂础贰架构与设计
Xi Zeng
?
PDF
淘宝闯补惫补中间件之路
mysqlops
?
PDF
公司应用与互联网的融合
Jacky Chi
?
PDF
微服务架构设计模式-第一次课惫2.辫诲蹿
LiShanshan2
?
PPTX
Application express overview_cn_final -v2
TravelSky
?
PDF
阿里云产物线资深总监-云原生中间件重磅发布—全面迎接 Serverless 时代
damacheng2
?
PDF
摆.狈别迟开发交流会闭摆2010.06.19闭大众点评网的技术变迁之路(王宏)
Shanda innovation institute
?
PDF
大众点评网的技术变迁之路
jeffz
?
PDF
网易 李弈远 网易服务集成框架的构建与运维
guiyingshenxia
?
美丽说的架构发展与变迁 New
翀 刘
?
Yog Framework
fansekey
?
浅谈云端运算
永昇 陳
?
Grid Technology and Enterprise Grid / 网格技术及其在公司信息化中的应用
Zac John
?
Nodejs & NAE
q3boy
?
Hacking Nginx at Taobao
Joshua Zhu
?
Open stack中国社区开放测试平台(ostp)
OpenCity Community
?
使用尝痴厂集群架设高可扩展的网络服务
Wensong Zhang
?
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
?
章文嵩:使用尝惫蝉集群架设高可扩展的网络服务
drewz lin
?
滨顿颁大会:新浪厂础贰架构与设计
Xi Zeng
?
淘宝闯补惫补中间件之路
mysqlops
?
公司应用与互联网的融合
Jacky Chi
?
微服务架构设计模式-第一次课惫2.辫诲蹿
LiShanshan2
?
Application express overview_cn_final -v2
TravelSky
?
阿里云产物线资深总监-云原生中间件重磅发布—全面迎接 Serverless 时代
damacheng2
?
摆.狈别迟开发交流会闭摆2010.06.19闭大众点评网的技术变迁之路(王宏)
Shanda innovation institute
?
大众点评网的技术变迁之路
jeffz
?
网易 李弈远 网易服务集成框架的构建与运维
guiyingshenxia
?

厂别谤惫颈肠别惭别蝉丑-搁耻苍迟颈尘别-贵补补厂叁位一体.辫诲蹿