Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

ServiceMesh-Runtime-FaaS三位一体.pdf

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 39 Anzeige
Anzeige

Weitere Verwandte Inhalte

Aktuellste (20)

Anzeige

ServiceMesh-Runtime-FaaS三位一体.pdf

  1. 1. ServiceMesh, Runtime, FaaS 马振军(古今) 三位一体
  2. 2. 马振军 • 花名“古今”,取自《增广贤文》中“观今 宜鉴古,无古不成今”。 • 目前在蚂蚁集团中间件团队负责MOSN、Layotto等项 目的开发工作。 • 专注于云原生,容器运行时,WebAssembly等技术领域的发展。
  3. 3. 目 录 Service Mesh回顾与总结 应用运行时 Contents Layotto架构设计 FaaS产品化的探索 开源与共赢
  4. 4. Service Mesh回顾与总结 Part.01
  5. 5. 应用 SDK 服务路由 负载均衡 通信序列化协议 sidecar • 升级成本高 • 业务解耦 • 平滑升级 • 异构语言治理 业务逻辑 应用 SDK 通信序列化协议 业务逻辑 服务路由 熔断限流 进程通信 熔断限流 负载均衡 • 异构语言治理能力弱 • SDK版本碎片化 微服务 vs Service Mesh
  6. 6. 基础设施 MOSN RPC MQ Actuator Cache Config 鉴权 配置 Java/NodeJS/C++/… App P a a S 降级限流 流量镜像 … 消息 缓存 • 数千应用 • 数十万容器 泛Mesh化的落地总结
  7. 7. 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:应用跟基础设施强绑定
  8. 8. 基础设施 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:异构语言接入成本高
  9. 9. 02 应用运行时 Part.
  10. 10. • 提供多种分布式能力 • 对接了丰富的基础组件 dapr调研
  11. 11. Service Mesh vs Runtime 应用 基础设施 Service Mesh 应用 基础设施 Service Mesh 基础设施API 基础能力API Runtime
  12. 12. 方案1:替换 方案2:共存 • 缺失流量治理能力 • 运维成本飙升 • 稳定性有待验证 • 稳定性更难保证 POD container App container container dapr MOSN POD container App container container dapr MOSN dapr落地
  13. 13. 03 Layotto架构设计 Part.
  14. 14. 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 …
  15. 15. 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 …
  16. 16. 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的移植性
  17. 17. 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
  18. 18. 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能力
  19. 19. Layotto Before Filter Channel dubbo bolt MOSN Service API xprotocol http After Filter 路由规则 服务治理 XDS 业务逻辑 gRPC Client App Components RPC能力
  20. 20. Layotto 过期 Zookeeper Lock API 业务逻辑 gRPC Client App Components Lock能力 Etcd Redis 可重入 续租 阻塞锁 设计文档:https://mosn.io/layotto/#/zh/design/lock/lock-api-design
  21. 21. Layotto 趋势递增 Zookeeper Sequencer API 业务逻辑 gRPC Client App Components Etcd Redis 设计文档:https://mosn.io/layotto/#/zh/design/sequencer/design Sequencer能力 全局递增 指定递增
  22. 22. Health-Components Layotto PaaS Health Endpoint Info Endpoint ReadinessIndicator LivenessIndicator InfoContributor HTTP INIT:初始化 UP:正常 DOWN:错误 Components apollo App MOSN … Actuator能力
  23. 23. 04 FaaS 产品化的探索 Part.
  24. 24. 虚拟化技术的发展 硬件虚拟化 操作系统虚拟化 进程虚拟化
  25. 25. 期望的Function模型 Layotto Func Func Func 隔离性 安全性 Process 多语言
  26. 26. program 浏览器 WASM Runtime build WebAssembly简介
  27. 27. 期望的Function模型 WASM ABI vs Runtime API Layotto Function (WASM) Function (WASM) Function (WASM) Process WASM Runtime Application Runtime
  28. 28. K8S 调度 Node kubelet Containerd runc k8s Image Registry image … docker build jar,ELF,exe image docker push container kata containers gVisor OCI container container
  29. 29. 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
  30. 30. 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
  31. 31. k8s + Layotto演示
  32. 32. Function资源限制 资源 cpu stack system call heap 可执行的指令数 函数栈的大小 线性内存大小 可执行的系统调用
  33. 33. FaaS落地展望 Layotto Func Func BaaS Cloud/IDC USER Layotto Java JS Go Cloud IDE Layotto Runtime Kata container BaaS/Func Kernel+ Layotto unikernel
  34. 34. 05 开源与共赢 Part.
  35. 35. dapr社区
  36. 36. WebAssembly社区 • 多语言支持(Java, Go, JS) • WASM ABI( proxy-wasm/spec ) • 生态建设(Troubleshooting, 资源限制,高级特性)
  37. 37. Layotto社区 Layotto MQ 业务逻辑 gRPC Client App Components Cache … gRPC Server Layotto MQ Components Cache … Func1 Func1 Func1
  38. 38. 欢迎交流 钉钉群 微信群
  39. 39. THANKS

×