SlideShare a Scribd company logo
1 of 39
Download to read offline
ServiceMesh, Runtime,
FaaS
马振军(古今)
三位一体
马振军
• 花名“古今”,取自《增广贤文》中“观今
宜鉴古,无古不成今”。
• 目前在蚂蚁集团中间件团队负责MOSN、Layotto等项
目的开发工作。
• 专注于云原生,容器运行时,WebAssembly等技术领域的发展。
目 录 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.
dapr社区
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 ServiceMesh-Runtime-FaaS三位一体.pdf

美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New翀 刘
 
Yog Framework
Yog FrameworkYog Framework
Yog Frameworkfansekey
 
淺談雲端運算
淺談雲端運算淺談雲端運算
淺談雲端運算永昇 陳
 
Grid Technology and Enterprise Grid / 网格技术及其在企业信息化中的应用
Grid Technology and Enterprise Grid / 网格技术及其在企业信息化中的应用Grid Technology and Enterprise Grid / 网格技术及其在企业信息化中的应用
Grid Technology and Enterprise Grid / 网格技术及其在企业信息化中的应用Zac John
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAEq3boy
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
Open stack中国社区开放测试平台(ostp)
Open stack中国社区开放测试平台(ostp)Open stack中国社区开放测试平台(ostp)
Open stack中国社区开放测试平台(ostp)OpenCity Community
 
使用LVS集群架设高可扩展的网络服务
使用LVS集群架设高可扩展的网络服务使用LVS集群架设高可扩展的网络服务
使用LVS集群架设高可扩展的网络服务Wensong Zhang
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平drewz lin
 
章文嵩:使用Lvs集群架设高可扩展的网络服务
章文嵩:使用Lvs集群架设高可扩展的网络服务章文嵩:使用Lvs集群架设高可扩展的网络服务
章文嵩:使用Lvs集群架设高可扩展的网络服务drewz lin
 
IDC大会:新浪SAE架构与设计
IDC大会:新浪SAE架构与设计IDC大会:新浪SAE架构与设计
IDC大会:新浪SAE架构与设计Xi Zeng
 
淘宝Java中间件之路
淘宝Java中间件之路淘宝Java中间件之路
淘宝Java中间件之路mysqlops
 
企业应用与互联网的融合
企业应用与互联网的融合企业应用与互联网的融合
企业应用与互联网的融合Jacky Chi
 
微服务架构设计模式-第一次课v2.pdf
微服务架构设计模式-第一次课v2.pdf微服务架构设计模式-第一次课v2.pdf
微服务架构设计模式-第一次课v2.pdfLiShanshan2
 
Application express overview_cn_final -v2
Application express overview_cn_final -v2Application express overview_cn_final -v2
Application express overview_cn_final -v2TravelSky
 
大众点评网的技术变迁之路
大众点评网的技术变迁之路大众点评网的技术变迁之路
大众点评网的技术变迁之路jeffz
 
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)Shanda innovation institute
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维guiyingshenxia
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维colderboy17
 

Similar to ServiceMesh-Runtime-FaaS三位一体.pdf (20)

美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New
 
Yog Framework
Yog FrameworkYog Framework
Yog Framework
 
淺談雲端運算
淺談雲端運算淺談雲端運算
淺談雲端運算
 
Grid Technology and Enterprise Grid / 网格技术及其在企业信息化中的应用
Grid Technology and Enterprise Grid / 网格技术及其在企业信息化中的应用Grid Technology and Enterprise Grid / 网格技术及其在企业信息化中的应用
Grid Technology and Enterprise Grid / 网格技术及其在企业信息化中的应用
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
Open stack中国社区开放测试平台(ostp)
Open stack中国社区开放测试平台(ostp)Open stack中国社区开放测试平台(ostp)
Open stack中国社区开放测试平台(ostp)
 
LVS
LVSLVS
LVS
 
使用LVS集群架设高可扩展的网络服务
使用LVS集群架设高可扩展的网络服务使用LVS集群架设高可扩展的网络服务
使用LVS集群架设高可扩展的网络服务
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
 
章文嵩:使用Lvs集群架设高可扩展的网络服务
章文嵩:使用Lvs集群架设高可扩展的网络服务章文嵩:使用Lvs集群架设高可扩展的网络服务
章文嵩:使用Lvs集群架设高可扩展的网络服务
 
IDC大会:新浪SAE架构与设计
IDC大会:新浪SAE架构与设计IDC大会:新浪SAE架构与设计
IDC大会:新浪SAE架构与设计
 
淘宝Java中间件之路
淘宝Java中间件之路淘宝Java中间件之路
淘宝Java中间件之路
 
企业应用与互联网的融合
企业应用与互联网的融合企业应用与互联网的融合
企业应用与互联网的融合
 
微服务架构设计模式-第一次课v2.pdf
微服务架构设计模式-第一次课v2.pdf微服务架构设计模式-第一次课v2.pdf
微服务架构设计模式-第一次课v2.pdf
 
Application express overview_cn_final -v2
Application express overview_cn_final -v2Application express overview_cn_final -v2
Application express overview_cn_final -v2
 
大众点评网的技术变迁之路
大众点评网的技术变迁之路大众点评网的技术变迁之路
大众点评网的技术变迁之路
 
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
 

ServiceMesh-Runtime-FaaS三位一体.pdf