底线在前面:有没有一种方法可以支持Zookeeper中的非Java发现客户端创建的实例,同时提供自定义元数据
我正在构建一个SpringCloudAPI网关。我们将Zookeeper discovery用于大多数路由和Spring云负载均衡器。它适用于Java微服务。除了正常的发现和负载平衡之外,我还想使用元数据来指定定制属性;比如安全和速率限制参数
我需要介绍一些用Python编写的非Java服务,所以我想对这些服务使用发现,因为它们托管在动态集群中。在这种情况下,如果我能让Zookeeper做我需要的事情,继续使用Zookeeper对我们来说会有很大帮助
我已经检查了Zookeeper/services节点的内容,以了解发生了什么,我能够复制其中的大部分内容,并实际实现发现和负载平衡,但元数据是更深层次的,我无法实现,因为它嵌入了特定于Curator/Zookeeper的对象中
我想我已经足够了解如何编写我自己的DiscoveryClient
实现并返回我自己的ServiceInstance
,但是如果我几乎可以使用我已经拥有的东西,那似乎需要做很多工作。我还必须为此编写Python客户端
我通过重新实现
InstanceSerializer
来解决这个问题,如果ObjectMapper
无法自动识别ZookeeperInstance
,则手动构建ZookeeperInstance
相关问题 更多 >
编程相关推荐