Consul与CoreDNS的对比
CoreDNS官网:https://coredns.io/CoreDNS是一个DNS(域名解析)服务器,以插件的形式被提供。可以处理服务发现。在K8S中安装了CoreDNS后,每个服务就可以使用域名的方式调用其他服务。感觉CoreDNS的优点就是专一、简单,适合规模比较小的微服务集群。CoreDNS是使用Go语言开发的。Consul官网:https://www.consul.io/
Consul与CoreDNS的对比
最近在做服务注册与发现方案的选择,由于是在K8S上解决服务发现与注册,所以第一想到的就是K8S的CoreDNS,然后再想到的就是SpringCloud那一套中的Consul。
下面是我对这两者的思考与选择,欢迎大家一起讨论或者大佬给出意见。
一、CoreDNS简介
CoreDNS官网:https://coredns.io/
CoreDNS是一个DNS(域名解析)服务器,以插件的形式被提供。
可以处理服务发现。
在K8S中安装了CoreDNS后,每个服务就可以使用域名的方式调用其他服务。
感觉CoreDNS的优点就是专一、简单,适合规模比较小的微服务集群。
CoreDNS是使用Go语言开发的。
二、Consul简介
Consul官网:https://www.consul.io/
Consul是一个服务网络解决方案,主要解决的问题是知道服务在哪儿运行、如何守护服务间交流的安全、如何自动化网络任务的路由、如何控制对于环境的访问。
Consul作为SpringCloud中服务发现解决方案,它对于服务发现是一个完整的解决方案,而且它提供了心跳检测等能力,还有UI界面方便使用。
Consul是使用Go语言开发的。
三、总结与选择
下面是对于两者的优劣势总结。
方案 | 优点 | 缺点 |
---|---|---|
CoreDNS | 1、直接使用域名解析做服务发现,通过服务名就可以调用到服务,简单易用 2、直接使用K8S的插件安装CoreDNS,容易安装 | 1、没有服务管理功能。 2、也没有相应的UI页面。 |
Consul | 1、完整的服务注册与发现方案。 2、具有UI界面,可以管理微服务。 | 1、Consul是一个服务网络解决方案,只是用到了其中的一部分功能,相对CoreDNS来说有点复杂和臃肿。 |
我想找的是一个完整的服务发现解决方案,而且需要可视化的界面方便管理微服务,因此选择Consul是比较正确的选择。
更多推荐
所有评论(0)