服务发现与健康监测框架Consul-DNS转发的应用

  

关于Consul

  Consul是一个提供服务注册与发现,健康监测,Key/Value存储以及多数据中心存储的分布式框架。官网地址是https://www.consul.io/,公司初步应用后我们老大觉得这东西有点意思,随即有了翻译文档的想法,由于精力有限工作繁忙,急需志同道合的道友一起来翻译下,毕竟好东西还是需要大家一起推广的,翻译链接是:http://consul.la/,本文主要留下一点DNS转发的简单应用。

优势

  基于Consul提供的DNS查询接口可以把注册在Consul内部的服务可以以如:服务名.service.consul的方式获取该服务的ip地址,相比较于53端口的系统级高权限的DNS查询服务,Consul可以通过健康监测动态的提供可用服务的DNS查询,同时基于多数据中心存储的分布式特性,Consul提供的DNS服务也更易于管理。

准备

下载

  在Consul官网https://www.consul.io/downloads.html可以下载对应操作系统的Consul,Consul同时提供一个管理界面Web UI。

简单配置

      Consul启动时的配置参数可以通过命令行传递也可以通过读取配置文件夹的方式完成(-config-file),现在准备一个Server端单机版自身为leader的实例配置方式:

    {"datacenter": "dc_yu","data_dir": "./consul-data",
     "ui_dir": "./consului",
"log_level": "TRACE","server": true,"bootstrap": true,"node_name":"server_1","bind_addr":"127.0.0.1"}

consul识别的配置文件需以.json后缀,以读取配置文件加载配置信息的方式会加载指向文件夹下的所有.json文件,并以文件名首字母排序进行加载。

启动

consul启动方式和配置方式在不同操作系统中一致:

 

配置一个服务

这里应该dotnet core快速生成个web服务

 

   随后将服务注册到Consul中,并设置健康监测,这里可以通过配置文件进行服务注册,将文件放到-config-file指向的文件夹目录下:

    {"services": [{"id":"dotnetcoresample","name":"dotnetcoresample","tags":["dotnetcoresample"],"address": "10.1.18.58","port": 5000,"checks": [{"http": "http://10.1.18.58:5000/","interval": "10s"}]}]} 

然后consul需要重新加载一下,通过命令行consul reload完成。然后可以通过Consul提供的Web页面查看一下

在浏览器中转到http://127.0.0.1:8500/即可

应用

 Consul通过8600端口提供DNS服务,这里可以先体验一下,这也是官方提供的方式:

 

    接下来就可以通过一些工具为所欲为的配置应用本地的域名了,Linux操作系统中可以应用DNSmasq,iptables等,这些在官方文档有demo:https://www.consul.io/docs/guides/forwarding.html

    在windows操作系统中接下来用的是一个应用C#开发的开源DNS工具DNSAgent:https://github.com/stackia/DNSAgent

DNSAgent配置

  下载编译好的包或者clone代码自己编译随意,编译后的目录是

    

  通过简单配置两个cfg后缀的文件即可,这里主要配置rules.cfg即可,添加一个配置项,将DNS查询指向Consul的DNS查询接口:

    [{"Pattern": "^(.*\\.)?consul$","NameServer": "127.0.0.1:8600","QueryTimeout": 30,"CompressionMutation": false}]

  配置局域网DNS服务器地址:

      

  运行DNSAgent.exe或者直接注册到windows服务中即可。

   然后测试一下成果:

  

       

  接下来把注册到consul中的业务服务停止下然后在观察下:

      

 

结束

通过Consul提供的DNS服务应用场景还是挺多的,这个就可以为所欲为了- -

  

  

 

转载于:https://www.cnblogs.com/ylsforever/p/5844707.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS风暴】ArcGIS10.6图斑椭球面积计算原理与方法

文章目录 1. 椭球面积计算原理2. ArcGIS计算图斑椭球面积3. ArcGIS计算图斑投影平面面积1. 椭球面积计算原理 <

实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)

上一节配置了 linux-bridge mechanism driver&#xff0c;本节再做两个准备工作&#xff1a; 1. 检视初始的网络状态。2. 了解 linux bridge 环境中的各种网络设备。 初始网络状态 我们首先考察实验环境最初始的网络状态。随着学习的深入&#xff0c;我们会对网络不断进行新的配…

《iVX 高仿美团APP制作移动端完整项目》04 美食页 标题、搜索、商家标题制作

点击整个专栏查看其它系列文章 &#xff08;系列文章更新中…&#xff09;&#xff1a;《iVX 高仿美团APP制作移动端完整项目》 项目界面预览&#xff1a; 一、美食页顶部商家页制作 1.1 页面主格调确认 该美食页为首页中美食按钮点击后进入的页面。该页面分为顶部的标题、搜…

利用浏览器调试功能 计算 百度网盘 文件数量

“百度网盘”程序做的比较烂&#xff0c;以百度的技术实力按说不应该如此。真正试了就知道真的不怎么样。为了统计百度网盘的文件写了以下脚本&#xff0c;仅供参考&#xff1a; var root "";//指定目录&#xff0c;空取当前目录 var totalCount 0; var startTime …

C语言试题十三之求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整书,并将他们放在a所指的数组中,通过n返回这些数的个数。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、 题目 求出1到1…

函数模板

1.函数模板的由来和概念&#xff1a;函数的重载可以实现一个函数名多用&#xff0c;将实现相同的或类似功能的函数用一个函数名来定义。这样编程者在调用同类函数时感到含义清晰&#xff0c;方法简单。但在程序中仍然要分别定义每一个函数&#xff0c;例如求三个数的最大值的函…

就在刚刚,HTTP/3 正式发布了!

经过了多年的努力&#xff0c;在 6 月 6 号&#xff0c;IETF &#xff08;互联网工程任务小组&#xff09; 正式发布了 HTTP/3 的 RFC&#xff0c; 这是超文本传输协议&#xff08;HTTP&#xff09;的第三个主要版本&#xff0c;完整的 RFC 超过了 20000 字&#xff0c;非常详细…

C语言试题十四之使字符串的前导*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做。字符串中间和尾部的*号不删除。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写函数…

通渭县义岗川镇之行(2020年11月19日)

2020年11月18日&#xff0c;应邀前往通渭县义岗川镇老家&#xff0c;经过了3个小时的自驾车程&#xff0c;夜幕降临时刻到达了美丽的义岗川小镇。 义岗川镇&#xff0c;隶属甘肃省定西市通渭县&#xff0c;地处通渭县城最北部&#xff0c;东南与寺子川乡毗连&#xff0c;南邻北…

python基础===PEP网站,代码规范指南

PEP 8是最古老的PEP之一&#xff0c;它向Python程序员提供了代码格式设置指南。PEP 8的篇幅很长&#xff0c;但大都与复杂的编码结构相关。 https://python.org/dev/peps/pep-0008/转载于:https://www.cnblogs.com/botoo/p/7830980.html

《iVX 高仿美团APP制作移动端完整项目》05 美食页商家推荐内容、分类、推荐商家制作

这一节我们将讲解美食页下半部分内容制作&#xff1a; 一、完善店铺推荐 接下来继续制作以下内容&#xff1a; 1.1 满减信息 现在咱们在对应的商家行中添加一个行&#xff0c;命名为满减&#xff0c;并且对应的更改高度为包裹&#xff1a; 随后更改其背景色、字体颜色使…

利用浏览器调试功能 计算 百度网盘 文件数量 V2

最近需要统计百度网盘里文件的数量&#xff0c;百度网盘又没有提供这样的功能&#xff0c;因此之前自己写了段脚本进行查验&#xff0c;见《利用浏览器调试功能 计算 百度网盘》。之后发现每个目录最多文件数只有1000&#xff0c;因此研究了哈百度的接口&#xff0c;重新对脚本…

Single Number II(LintCode)

Single Number II Given 3*n 1 numbers, every numbers occurs triple times except one, find it. Example Given [1,1,2,3,3,3,2,2,4,1] return 4 Challenge One-pass, constant extra space. 统计每一位上的1出现的次数&#xff0c;然后模3 &#xff0c; 题目上的3 * n 1给…

提升.NET技术水平,我是怎么做的

2022年5月10日微软发布了NET7 Preview4,距离.NET7正式的发布也越来越近了.近几年.NET发生了飞速的发展&#xff0c;.NET生态持续向好&#xff0c;市占率不断提升&#xff0c;从业者也在逐渐增加。随着.NET版本的不断升级&#xff0c;新的用法和特性也层出不穷&#xff0c;不过同…

【ArcGIS风暴】Win10操作系统ArcGIS许可License无法启动的解决方法汇总(绝对成功!)

文章目录 1. 关闭Windows Defender2. 关闭系统防火墙3. 删除迈克菲(McAfee)杀毒软件4. 在系统服务中启动在安装ArcGIS软件时,最重要的一步是许可服务的正常启动,通常,由于各种各样的原因,ArcGIS许可管理器License Manager十有八九会无法启动,点N多次都没反应,如果许可服…

Xcode 8 GM 编译缺失 /Users/usr/lib/libresolv.9.dylib

原因是操作系统的文件与手机需要的不同。 解决办法是将iOS DeviceSupport里当前手机版本的Symbols的libresolv.9.dylib文件&#xff0c;代替编译失败项目的Build Phases的Link Binary With Libraries 代替&#xff1a; 将Link Binary With Libraries里原来的libresolv.9.dylib删…

《iVX 高仿美团APP制作移动端完整项目》06 美食页商家推荐内容、分类、推荐商家制作

接下来开始制作超市便利页面&#xff1a; 一、标题 首先&#xff0c;我们创建一个页面&#xff0c;该页面设置背景颜色为黄色&#xff1a; 随后欧创建一个行&#xff0c;命名为主要&#xff0c;之后将会在这个主要行之中添加对应的模块内容&#xff1a; 该主要行&#xff…

统计百度网盘文件个数 V3

继续优化/******************** *百度文件数量统计 V3 *2018.06.18 *Jackie ********************//************ *百度查询接口 http://pan.baidu.com/api/list? dir //查询目录 &num100000 //分页大小 最大支持99999999999999 默认1000 &page1 //页码 &…

C语言试题十五之编写函数void function(int x,int pp[],int *n),求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回

✅作者简介:大家好我是码莎拉蒂,CSDN、华为云、阿里云、51CTO博客专家🥇🥇🥇 📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 1、 题目 请编写函数void function(int x,int pp[]…

【专升本计算机】甘肃省专升本计算机C语言经典程序案例代码合集(持续更新)

文章目录 1. 第一个C语言程序2. 打印汉字表3. 打印如下图形4. 打印九九乘法表5. 水仙花数6. 输入年份,判断是否为闰年7. 两个数交换8. 三种循环结构求1-100之和9. 一维数组初始化并全部输出10. 自定义求和函数11. 获取数据类型的大小12. 判断一个数a是否同时被3和5整除13. 求5…