sidebar_position |
---|
5 |
各个框架组件通过 OpenSergo SDK 直接对接治理标准;特别地,对于流量治理能力与标准,也可以直接对接 Sentinel。
OpenSergo 作为开放、统一的微服务治理项目,提供一系列的微服务治理标准、对接标准配置的 SDK 及统一控制平面。OpenSergo 本身不提供微服务治理能力的实现,Sentinel 2.0 将作为 OpenSergo 流量治理能力(流量路由与染色、流量防护与容错)的默认标准实现,同时原生对接 OpenSergo 流量治理标准。
目前社区已提供 Java SDK 和 Go SDK。其它语言(如 Rust, Node.js)社区也在规划中,欢迎社区开发者一起贡献。
OpenSergo SDK 目前仅包含 OpenSergo 治理标准配置的订阅对接能力,用于对接到框架组件已有的实现中,不包含具体实现。Sentinel 2.0 会承接 OpenSergo 流量治理(流量路由与染色、流量防护与容错)能力的抽象与实现,同时默认对接 OpenSergo 流量治理标准。
OpenSergo 控制平面 (Control Plane) repo: https://github.com/opensergo/opensergo-control-plane
OpenSergo 控制平面目前暂时仅支持 Kubernetes 环境,后续社区也计划支持 VM (ECS) 等部署架构。
OpenSergo 控制平面作为 OpenSergo 服务治理 CRD 统一管控与下发组件,其设计目标是足够简单、轻量、组件化、可扩展。基于以上考虑,我们并未直接基于 Istio 控制面扩展。未来 OpenSergo 控制平面本身可作为独立模块,作为插件嵌入到 Istio 控制面中。
OpnSergo 控制平面在 Kubernetes 集群中成功部署,OpenSergo SDK 或集成了 OpenSergo SDK 的框架如果无法与 OpenSergo 控制面进行通讯,可能存在如下原因:
- 原因一: OpenSergo 控制平面 的 Service 未暴露:
OpenSergo 控制平面在 Kubernetes 中部署时,Service 默认类型ClusterIP
, 如果 OpenSergo SDK 不是在 Kubernetes 集群的节点上时,需要将 OpenSergo 控制面的 Service 向外暴露,将 Service 类型 改为LoadBalancer
或NodePort
即可。 - 其他原因:
如果您在使用过程中有遇到其他情况,欢迎在 OpenSergo 提交 ISSUE,描述重现步骤,社区会及时回复,并且之后会更新到此处