前言
最近参加了几场Java面试,发现大多数的微服务实践还是Eureka偏多,鉴于笔者的单位选型Consul,这里对Consul做简单总结。
该篇是Docker实战系列的第三篇。传送门:
- Docker实战之MySQL主从复制
- Docker实战之Redis-Cluster集群
为什么选Consul?
首先Consul有以下几个关键特性:
- 服务发现:支持服务发现。你可以通过 DNS 或 HTTP 的方式获取服务信息。
- 健康检查:支持健康检查。可以提供与给定服务相关联的任何数量的健康检查(如 web 状态码或 cpu 使用率)。
- K/V 存储:键/值对存储。你可用通过 consul 存储如动态配置之类的相关信息。
- 多数据中心:支持多数据中心,开箱即用。
- WEB-UI:支持WEB-UI。点点点,你就能够了解你的服务现在的运行情况,一目了然,对开发运维是非常友好的。
作为高频的提问方式,面试官永远从十万个为什么开始。但是最为程序员,还是需要知其然,知其所以然
。以下是几个常用的服务发现组件的对比。