关于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

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

  1. 深入浅出RPC---4、服务注册发现和健康监测

    服务注册发现 服务注册发现的作用 感知服务端的变化,获取最新服务节点的连接信息. 服务注册发现的处理流程 **服务注册:**服务提供方将对外暴露的接口发布到注册中心内,注册中心为了检测服务的有效状态, ...

  2. 干掉 ZooKeeper,阿里为什么不用 ZK 做服务发现?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源 | https://urlify.cn/fIjYVb 站在未 ...

  3. 干掉 ZooKeeper?阿里为什么不用 ZK 做服务发现?

    -     前言    - 站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪 ...

  4. 说得太好了!阿里巴巴为什么不用 ZooKeeper 做服务发现?

    作者:坤宇 yq.aliyun.com/articles/601745?scm=20140722.184.2.173 站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头, ...

  5. 好文荐读 | 阿里巴巴为什么不用 ZooKeeper 做服务发现?

    服务发现领域一篇比较有名的文章,之前已经转载过国外写的那篇 为什么不应该使用ZooKeeper做服务发现 文章来源:https://developer.aliyun.com/article/60174 ...

  6. 深度 | 阿里为什么不用 ZooKeeper 做服务发现?

    来源 | https://urlify.cn/fIjYVb 站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样? ...

  7. 为什么不用 ZooKeeper 做服务发现?

    站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪南大公夫妇如果没有被塞尔维亚 ...

  8. ​​阿里为什么不用 Zookeeper 做服务发现?

    热文推荐: 尘埃落定!清华才子王垠加入华为职级22,前阿里P10赵海平加入字节跳动,职级或为4+ 百度网盘"破解版",Pandownload开发者被抓 本文来源:yq.aliyun ...

  9. 服务发现 注册中心 consul 的介绍、部署和使用

    什么是服务发现 微服务的框架体系中,服务发现是不能不提的一个模块.我相信了解或者熟悉微服务的童鞋应该都知道它的重要性.这里我只是简单的提一下,毕竟这不是我们的重点.我们看下面的一幅图片: 图中,客户端 ...

最新文章

  1. vs2008 ActiveX控件测试容器的生成以及调试ActiveX控件
  2. webdriver 获取页面response
  3. proxool java_Java应用中使用Proxool
  4. C语言以数据块的形式读写文件
  5. Media Player Classic - HC 源代码分析 4:核心类 (CMainFrame)(3)
  6. USB的速度还是不够快
  7. ucint核心边缘分析_社会网络分析中核心边缘分析的简单教程
  8. HTML如何实现简单登录页面
  9. Machine Learning 资讯 : 经济学家谈人工智能
  10. 网站服务器进不去可以加速进去吗,让网页打开加速的方法
  11. Java 逐行读写 TXT 文件
  12. PHPwebshell2022免杀bypass阿里云盾等所有安全设备
  13. oracle 根据符号分列,oracle 树结构数据层次分列显示
  14. 乐视账号服务器关闭,乐视手机账号登陆不了最新解决方法,包括恢复出厂后无法登陆问题...
  15. 亚信科技:新业务成高速增长源动力,吹响全栈式数智化转型号角
  16. Xml文件转换成Java对象
  17. 金融业运维体系指南-嘉为蓝鲸
  18. 【毕业设计】基于stm32的便携式U盘设计与实现 - stm32制作U盘
  19. 22届硕士,去年秋招拿了字节跳动offer,有一说一,不是很难进
  20. 【报告分享】2021中国锂电行业发展-德勤(附下载)

热门文章

  1. mysql打开网络访问权限_远程连接mysql 授权方法详解
  2. 电缆的验证、鉴定和认证应该选择什么测试工具
  3. 电脑组装笔记:手把手教你如何自己组装电脑
  4. windows安全模式_Winclone 8 for Mac(Windows分区备份迁移和还原工具)
  5. 变频器按启动没反应_起重机软启动柜晶闸管损坏维修几大故障
  6. 链表定义、链表的插入、链表的删除、链表的查找
  7. java动态打印_JFreeChart学习(三)——动态打印java内存使用情况
  8. linux 动态执行cp,Linux常用命令之cp、mv、rm、cat、more、head、tail、ln命令讲解
  9. php中定义css样式的好处,CSS的优点和缺点分别是什么
  10. 面试官:请手写一个带取消功能的延迟函数,axios 取消功能的原理是什么