微服务架构中基于DNS的服务发现
当前,微服务架构已经成为企业尤其是互联网企业技术选型的一个重要参考。微服务架构中涉及到很多模块,本文将重点介绍微服务架构的服务注册与发现以及如何基于DNS做服务发现。最后,简单介绍下阿里巴巴内部是如何基于DNS做服务发现的。
服务发现交互协议
微服务架构中,服务注册与发现的通信协议大致可以分为两类:一类是“私有”协议,如dubbo + zk及eureka;另一类是通用的DNS协议,如k8s + coredns。
“私有”协议
“私有”协议具有很高的定制性,可以和具体产品一起实现更高级的功能,如zk + dubbo,可以支持推送和长连接。但是,“私有”协议也带来了另外一个问题,就是开放性很差,第三方接入需要使用特定的SDK,跨语言特性不好。而在微服务或云环境下,跨语言服务注册和发现是非常常见的一个场景。
DNS协议为基础的服务发现
DNS协议是