Apache/Dubbo-go 2022 最新形态

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. Apache/Dubbo-go 2022 最新形态 dubbogo社区 于雨
2. Content § 1 K8s master 注册中心 § 2 Service Mesh § 3 Apache/dubbo-go-pixiu § 4 跨域通信 § 5 服务优雅下线 § 6 社区
3. 个人介绍 于雨 (@AlexStocks) • dubbogo 社区负责人、阿里开源大使 https://github.com/dubbogo • 基础系统从业者 IM/NoSQL/RPC/ServiceMesh • 开源项目贡献者 kv: Redis/Pika/Pika-Port/etcd rpc : Muduo/Dubbo/Dubbo-go/Sentinel-golang
4. 1. K8s master 注册中心
5. Kubernetes VS dubbo-go k8s service :一套完全独立的服务管理体系 dubbo interface : key: interface/version/group value: ip:port/revision/ service/method/role K8s service ≈ Dubbo Directory + Router + Load Balance + Filter
6. endpoint 维度 • 服务注册:将每个 pod 提供 的 interface 信息放到 endpoint 的 metadata 的 annotation 中注册 • 监听 k8s 的 api server 中的 对应的 endpoint 的变化,利 用 k8s 健康检查,有效剔除 无用的节点 缺点:一个 endpoint 代表一个 服务发现的监控单元,需要根 据 每 个 service 的 group 和 version 组 合 , 生 成 多 个 endpoint Metadata : annotation:com.apache.xx? group=xx&version=1.0
7. Operator 维度 目前k8s 提供operator的方式来发布应用, operator可以定制化 。 dubbo-go operator: • 支持服务注册,通过 k8s api server 以 crd 的形式写入 k8s etcd • 支持服务的健康检查,及时的剔除不健康 的服务 dubbo-go: • 通过 k8s api server 对 crd 资源进行查询 • crd 资源的监听,及时变更 crd 资源的变化 优点:主流方案,高度定制化 挑战:单独维护 operator 的运维成本
8. Dubbogo v1.x 方案
9. 2. Service Mesh
10. What’s service mesh The term service mesh is used to describe the network of microservices that make up such applications and the interactions between them. https://istio.io/latest/docs/concepts/what-is-istio/ For all the hype, the service mesh is architecturally pretty straightforward. It’s nothing more than a bunch of userspace proxies, stuck “next” to your services (we’ll talk about what “next” means in a bit), plus a set of management processes. https://buoyant.io/service-mesh-manifesto/
11. Istiod based Service Discovery https://github.com/dubbogo/tools
12. Dubbogo Proxyless Service Mesh Control Plane - 业务改造成本低 - 迁移成本低 - 无 proxy 性能损失 Router Rule com.alibaba.dubbo.hello 192.168.1.1 192.168.1.2 192.168.1.3
13. Dubbogo Proxy Service Mesh Control Plane - 解决 dubbo 多语言问题 Router Rule com.alibaba.dubbo.hello 192.168.1.1 192.168.1.2 dubbo-go-pixiu 192.168.1.3
14. 3. Apache/dubbo-go-pixiu
15. 泛化调用 泛化引用
16. Pixiu gateway https://github.com/apache/dubbo-go-pixiu
17. Pixiu gateway
18. Pixiu gateway Pixiu 不足: 1 扩展性不足,后续支持 wasm 技术 2 稳定性需要更多场景验证 3 性能需要向 envoy 看齐 互联互通: 请求: HTTP \ gRPC \ Dubbo 后台服务: HTTP \ gRPC \ Dubbo \ Dubbogo \ Spring Cloud
19. 4. 跨域通信
20. 跨域服务调用面临的问题 VPC2 VPC1 WAF防护 证书管理 App1(单体应用) Ingress 云原生网关 认证登录 统一接入 三方认证 流量调度 App2(微服务) 1、网络不通 2、业务边缘部署 3、协议不同 4、安全域不同 5、跨region App3(服务网格) com.alibaba.dubbo.hello 云原生网关 Nacos(业务域1) Ingress 云原生网关 云原生网关 192.168.1.3 K8s(API-Server) 限流熔断 风险预警 Function(Serverless)
21. 基于 RocketMQ 的跨域服务调用 VPC2 VPC1 WAF防护 证书管理 Ingress 云原生网关 认证登录 统一接入 三方认证 流量调度 Ingress 云原生网关 限流熔断 风险预警 - App1(单体应用) App2(微服务) 消息 App3(服务网格) Single Tunnel com.alibaba.dubbo.hello Nacos(业务域1) 192.168.1.3 K8s(API-Server) Function(Serverless) - RocketMQ 天然可 做到网络隔离 请求消息固化在 Broker ,便于 tracing 与日志分 析
22. RocketMQ 的 Request-Reply 同步 RPC 流程 Broker 处理 RPC 消息流程
23. 5. 服务优雅下线
24. 负载均衡
25. 反注册
26. 拒绝新请求
27. 服务端处理现有请求
28. 客户端等待现有请求
29. 效果
30. 6. 社区
31. dubbo-go-boot v1
32. dubbo-go-boot v2 https://github.com/dubbogo/dubbo-go-boot
33. Arana github.com/arana-db/arana
34. 2022 dubbogo 4067 STARS 8588 725 COMMITS FORKS 截止 20220109
35. 2022 dubbogo dubbogo 社区公众号
36. Thank you !

inicio - Wiki
Copyright © 2011-2024 iteam. Current version is 2.134.0. UTC+08:00, 2024-10-09 00:49
浙ICP备14020137号-1 $mapa de visitantes$