日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 服务发现与健康监测框架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

總結

以上是生活随笔為你收集整理的服务发现与健康监测框架Consul-DNS转发的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。