首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Consul 服务注册与服务发现

上一篇:Mac OS、Ubuntu 安装及使用 Consul

1. 服务注册

对 Consul 进行服务注册之前,需要先部署一个服务站点,我们可以使用 ASP.NET Core 创建 Web 应用程序,并且部署到 Ubuntu 服务器上。

ASP.NET Core Hell World 应用程序示例代码,只需要三个文件,代码:

代码:

配置:

将这三个文件,使用命令传输到 Ubuntu 服务器,如下:

传输好之后,使用命令程序包还原、构建、启动站点。

然后,在 Ubuntu 服务器创建一个文件目录:

配置 Consul 初始化的时候,需要指向上面创建的目录:

Consul 会加载目录下所有配置文件,比如我们在此目录下,创建这样一个配置文件(针对服务):

是健康检查的路径,上面我们创建的项目并没有实现,为防止报错,你可以改为。

另外,如果在配置 Consul 的时候,出现了下面错误:

错误的原因是文件编码问题,需要将 Encoding 修改为编码(可以用 TXT 修改)。

配置好之后,就可以通过 Consul 后台:http://localhost:8500,查看添加的服务信息了:

2. 服务发现

服务注册好之后,需要进行发现才能进行服务之间的调用,最终需要知晓服务具体在哪台服务器上,也就是需要发现服务器的 IP,Consul 服务发现有两种方式:

DNS API

HTTP API

2.1 DNS API

使用 DNS API 方式进行服务发现,需要知道服务 DNS 的具体名称,默认情况下,所有注册服务的 DNS 名称为,这个命名空间也可以进行手动配置。

使用下面命令进行服务发现:

可以看到,一个服务被发现了(),并且可以得到此服务所在的具体 IP()。

包含更详细信息的服务发现命令(包含服务端口):

可以看到,服务的端口为。

2.1 HTTP API

HTTP API 进行服务发现,非常简单,执行下面命令,就可以了:

返回的是一个 JSON 信息,你可以手动在浏览器输入 查询,地址中最后的是服务的名称。

Consul 基本服务发现就是上面两种,当然,你也可以基于它们,写针对不同语言和平台的 SDK,以便应用程序进行调用。

参考地址:

使用 Consul 实现分布式服务注册和发现

Consul 入门 03 - 注册服务

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180324G06G0D00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券