kubernetes和spring cloud结合使用时,服务发现套件怎样选择?

完全可以不用了,直接用kubernetes的服务发现其实就可以了config其实也可以用ConfigMap替代http://fabric8.io社区中也有很多用Kubernetes运行Spring Cloud的好东西,请查看https://github.com/fabric8io/spring-cloud-kubernetes。包括配置、日志等在内的很多模式都可以用Kubernetes运行得非常好,不用借助服务发现引擎、配置管理引擎等额外的、复杂的框架。
■网友
kubernetes的服务发现,是内部的Service对象+Docker或者RKT的环境变量+kube-proxy的Cluster IP完成,他不会限制你的服务的网络协议。你想TCP就TCP你想HTTP就HTTP随你喜欢咯。Eruka的强绑定服务协议,而且大量依赖一个Eruka服务。我听说过这个Eruka服务老是挂,但是我没听说过容器的环境变量会丢失。而且k8s的服务发现机制除了k8s之外没有其他的依赖。只要k8s集群正常这套服务发现就趋向于完美。当然,Eruka也有自己的优点。比如,你代码中就可以写好你要注册啥名,注册啥样的URL。起来服务,他自己会注册。k8s你要写好相应的yaml自己完成。但是我认为这个并不鸡肋,大不了,你把相应的yaml随着你的git。照样快速发布迭代。综上所述,用Java实现微服务,首选springcloud,微服务的部署,首选Docker,Docker集群化管理,首选kubernetes!再有就是,不要轻易的相信别人的建议,自己部署一套kubernetes,自己使用一遍,然后仔细看他的实现机制,springcloud+eruka+apigateway是成套的解决方案,k8的服务发现是有,apigw,暂时没发现。
■网友
我们是同一个用户,刷存在的。。哈哈哈哈
【kubernetes和spring cloud结合使用时,服务发现套件怎样选择?】 我使用了eureka,他是个ap重在可用行,当然k8也提供服务发现,所以你master最好部署多台
eureka是专职做服务发现的,k8只是捎带帮你服务发现
eureka更懂Java,能帮你细粒度管理服务名相比k8做的没那么细,而且它的服务名都是定义在yaml里的有时候业务线开发触碰不到它

■网友
我使用了eureka,他是个ap重在可用行,当然k8也提供服务发现,所以你master最好部署多台eureka是专职做服务发现的,k8只是捎带帮你服务发现eureka更懂Java,能帮你细粒度管理服务名相比k8做的没那么细,而且它的服务名都是定义在yaml里的有时候业务线开发触碰不到它


    推荐阅读