啥是佩奇之啥是Consul

2021-01-10 小碼農談IT

啥是佩奇?不,啥是Consul?本文中小馬力求以通俗的語言來講述一下分布式架構中作為服務註冊和服務發現環節極其重要的基礎設施之一Consul,是什麼、為什麼、怎麼做。作為入門是個不錯的參考。

使用別名的生活場景

別的不說,咱們先來看一個場景。假設你開了一家小型服裝公司。那麼你的公司在全國鋪點代理商,比如福州,南京,杭州等等,你清晰地記著福州站由張三負責,南京站由李四負責,杭州站由王五負責等等,通訊錄是這樣的:張三159xxx,李四137xxxx,王五xxxx。起初,你的所有通信還是針對於人,比如這批貨明日發給張三,那批貨下周要發給李四。日復一日,你的公司逐漸壯大,你的代理商遍布全國各地,你早已記不清誰是負責福州站誰是負責南京站的了,而且各個地方的代理商因各種因素時常變更負責人,你經常被這些具體人名和對應的地點搞得焦頭爛額。

這個時候你臨機一動,為啥不只以站點名稱代替直接聯繫負責人呢。於是你的通訊錄是這樣的福州站159xxxx,南京站137xxxx,這樣省去了聯繫時直接記憶對應人名的麻煩,而且你不用關心,哪個站是不是又換人了,又得更改通訊錄名稱和記名字了。這其實就是一個別名的作用。你只需要知道發給福州站就可以了,不用知道具體是發給誰。

這個生活中的道理被運用到了系統架構中(其實這個有點像域名解析的原理,一個域名可以解析到不同的IP,用戶只需要認識域名就行了不需要知道IP也不需要管是否變更了IP,對於用戶是透明的)。分布式系統架構中由於各自依賴大量的服務,服務之間的通訊如果使用IP直接通訊,那麼在擴容和變更機器的時候將非常麻煩。比如擴容,線上秒殺活動進行了一半,你發現性能達到瓶頸了你說你要暫停下系統,更改下配置文件增加幾臺機器的IP配置,然後重啟一下再進行,這是不可能的。因此,當服務之間的通訊採用別名來進行的時候,如果更換機器IP就無須暫停活動了,因為有中間別名和IP的映射,彼此間只需要知道服務別名就可以了。這就是分布式中的服務註冊和服務發現環節。

未使用服務發現時,用IP和埠通信

服務發現

在大中型分布式系統中,通常都是集群,一個應用系統由多個功能服務組成,且一個功能服務可能多臺伺服器組成。彈性伸縮伺服器數量(增刪改機器IP),伺服器功能異常無縫切換等顯然只通過更改配置文件來處理是無法滿足的。如何解決呢?我們引入註冊中心,服務治理的概念。實現的方法就是:服務註冊,服務發現(核心其實就是鍵值存儲也就是共享數據中心)。

服務發現是指使用一個註冊中心來記錄分布式系統中的全部服務的信息,以便其他服務能夠快速地找到這些已註冊的服務。服務發現組件有:Eureka、Consul、etcd、Zookeeper等。接下來小馬就帶大家一起來看看啥是Consul。

Consul

Consul是由HashiCorp基於Go語言開發的支持多數據中心分布式高可用的服務發布和註冊服務軟體,採用Raft算法保證服務的一致性,且支持健康檢查。其主要特點:服務註冊發現、健康檢查、鍵值存儲(可用於全局配置)、安全服務通信、多數據中心。

Consul 的核心功能就是服務註冊和發現,Consul 客戶端通過將自己註冊到 Consul 伺服器集群,然後等待調用方去發現服務,實現代理轉發到真正的業務系統,還可以基於服務發現做負載均衡,甚至可以在客戶端請求到底服務之前進行攔截,做一些基礎性的工作,比如身份驗證、限流、熔斷等等業務系統的前瞻性工作。

Consul的原理

為了保證數據強一致性以及多數據中心的支持,consul採用的是集群的形式出現,相關概念:Consul中包括的2種不同的節點:Server、Client。我們稱為server端節點(一般建議至少需要3-5個server端節點),client端節點,其中server端節點會有一個Server-Leader,稱為領導者節點,其他的可以均稱為候選者。每臺server都有自己的數據中心,領導者負責同步存儲信息。如下圖。但數據強一致性帶來的副作用是當數據在同步或者Server在選舉Leader過程中,會出現集群不可用,這就像從時間換空間之間的一種取捨是一樣的道理。

阿里1,騰訊,阿里2組成服務發現

整體工作流程如下:

服務A-N把當前自己的網絡位置註冊到服務發現模塊,服務發現就以K-V的方式記錄下,K一般是服務名,V就是IP:PORT。服務發現模塊定時的輪詢查看這些服務能不能訪問的了(健康檢查)。客戶端在調用服務A-N的時候,就先跑去服務發現模塊問下它們的網絡位置,然後再調用它們的服務。客戶端只認服務名不認服務IP和埠。如圖。

服務發現工作流程

Consul實例

以下簡單概括了實現流程,

1.安裝consul軟體:Consul本身只是一個二進位的可執行文件,所以安裝和部署都非常簡單,只需要從官網下載後,解壓後執行可執行文件即可(每臺服務發現機器都需要安裝);

2.配置好服務端和客戶端節點,啟動集群中各臺機器的consul服務,啟動時指定好公網IP,並consul join加入集群才能互通;

3.最後就可以採用api註冊服務以及發現服務了。步驟如下圖。

註冊服務的數據格式
使用api註冊服務
使用api發現服務

以上就是consul入門簡述了,更多詳細資料請參看官方文檔。小馬要去啃西瓜去了,拜拜。

相關焦點

  • 啥是佩奇是什麼梗 啥是佩奇為什麼這麼火
    最近在朋友圈和微博上都可以看到一個新詞——啥是佩奇,很多網友不知道佩奇因為什麼又火了一把,啥是佩奇到底是什麼梗,下面就來為大家詳細的介紹一下。《啥是佩奇》其實是部電影的宣傳片,由大電影《小豬佩奇過大年》導演張大鵬執導。
  • 啥是佩奇?啥是證件翻譯?
    最近,整個朋友圈都被一個叫《啥是佩奇》的短片刷屏了,短片幽默中帶著感動,被逗笑的同時又看得熱淚盈眶。《啥是佩奇》以小見大,講的其實是一個暖心的故事。但是,爺爺就記住了「佩奇」二字,於是開始他尋找「啥是佩奇」的故事。
  • 啥是佩奇是什麼意思什麼梗 啥是佩奇內涵出處介紹
    今天一早,小編的朋友圈被啥是佩奇的微信文章給刷屏了,大家紛紛轉發,下面就位大家介紹下啥是佩奇是什麼梗和意思。  這就是佩奇。一個被《啥是佩奇》刷屏的夜晚。   啥是佩奇?不是一頭小豬麼?一頭情商很高的小粉豬。  還真不是。刷屏的人都看得出,《啥是佩奇》是《小豬佩奇過大年》電影的宣傳片,再說白了,是廣告。
  • 《啥是佩奇》出了「續集」
    記者 | 馬越編輯 | 牙韓翔1時隔一年,曾經在2019年初成為當年第一條爆款廣告的《啥是佩奇》的「續集」出現在了社交網絡上。這條名為《歡迎回到粉豬村》的短片延續了《啥是佩奇》的背景,只不過從原本的故事線中跳脫出來,聚焦了曾拍攝廣告的這群村民們——這個外景地北方山村因為《啥是佩奇》一炮而紅,成為了遊客慕名而來的打卡聖地「粉豬村」,曾經的放羊大爺一邊放羊,還兼顧與遊客合影拍照的業務。歡迎回到粉豬村「佩奇爺爺」李玉寶退居二線,主角則是擁有800萬粉絲的網紅陳二蛋。
  • 《故事經濟學》之啥是佩奇?
    2019年,一個短片《啥是佩奇》火爆網絡,以爺爺為孫子準備禮物為主線,孩子一句「佩奇」可把老人家難為壞了,可就在這個充滿溫情的短片中,你注意到廣告了嗎?中國移動的廣告語是什麼?信號好才是真的好,開篇老人家接的一個電話,就埋下了伏筆,之後又在商店中看到了中國移動的手機,最後短片結束,牆上還有中國移動的標語,溫情的短片誰都愛看,軟文式廣告插入方法,看官們個個買單。
  • 《啥是佩奇》:小粉豬的營銷洞察
    原創作者:李知南引言:1月17日開始,一個名為《啥是佩奇》的8分鐘短片從微博開始刷爆網絡,1月19日,《啥是佩奇》已經成功佔領朋友圈。可以說《啥是佩奇》讓這頭小粉豬再次霸屏國內各大社交平臺。多平臺協同引爆:1月17日《啥是佩奇》通過擁有超過4500萬粉絲並且號召力極強的微博大V王思聰的轉發在微博上引爆;緊接著支付寶、手機淘寶、口碑等App持續進行宣傳,其中淘票票App貢獻最大,淘票票中的《啥是佩奇》的播放量成為App中的播放頭名;此後便是App用戶的站內分享,通過分享的方式讓《啥是佩奇》引爆朋友圈。可以說《啥是佩奇》成功地通過點對多的大V轉發和點對點的朋友圈轉發刷遍了社交網絡。
  • 啥是佩奇引熱議 啥是佩奇什麼梗小豬佩奇怎麼來的詳細介紹
    啥是佩奇引熱議 啥是佩奇什麼梗小豬佩奇怎麼來的詳細介紹 最近,《小豬佩奇》宣傳片《啥是佩奇》火爆網絡,在微博朋友圈刷屏。網友看後紛紛感慨走心了,直呼短片既心酸又感動。
  • 佩奇爺爺「闖」高速?李玉寶演繹《啥是佩奇之路囧》
    佩奇爺爺「闖」高速?李玉寶演繹《啥是佩奇之路囧》 2019-02-18 17:48:48來源:中國新聞網作者:${中新記者姓名}責任編輯:丁寶秀     圖為「佩奇爺爺」李玉寶參演交通安全宣傳短視頻。
  • 探訪《啥是佩奇》拍攝地,村民不認識佩奇:配種的配?傳奇的奇?
    儘管《啥是佩奇》這部短片在網上爆紅,但被山頭包裹的村子並沒有被驚擾到……在短片以病毒式傳播的同時,問及村民「啥是佩奇」,一些年長的村民仍然表現出些許困惑,「配種的配?傳奇的奇?」去年12月,導演張大鵬在這裡拍攝《啥是佩奇》時,零下20攝氏度。車子駛進外井溝村,一下車便感受到了一陣寒意,手機電量迅速減格。與最近幾天《啥是佩奇》在網上呈現出的火爆之勢相比,外井溝村卻顯示出一種平靜,再加上寒冷天氣的襯託,讓這種反差更為強烈。
  • 啥是佩奇?看完這篇文章你就知道了
    從上周開始,一部名為《啥是佩奇》的短視頻一夜之間霸屏朋友圈。這隻長得像只「粉色吹風機」的「過氣網紅」,在2019年竟然憑藉著一個全新的硬核造型,再次出道,一時間爆紅網絡,成為2019年第一個「現象級」。要問佩奇為什麼這麼火?也許下面這句話能代表很多人的想法吧。佩奇是容易被忽略的親情。
  • 《啥是佩奇》火了,這個佩奇垮了
    春節前,電影《小豬佩奇過大年》的宣傳片《啥是佩奇》走紅網絡,一時間刷爆朋友圈,為電影推廣和預售加分不少。然而就在影片上映8天之後,《小豬佩奇過大年》票房成績只有不到1.2億,豆瓣分數僅為4.1分。近日,電影和宣傳片的導演張大鵬在微博中轉發了@影評匠 的一條微博。
  • 啥是佩奇?這隻來自英國的粉紅小豬,價值百億
    啥是佩奇?一夜之間,無數人發出這樣的疑問。為啥呢?一個叫《啥是佩奇》的電影宣傳片刷爆了朋友圈。當一部火遍全球的現代動漫與閉塞落後的農村結合在一起,便產生了強烈的衝突感,牢牢吸住了大眾的眼球。5分多鐘的影片,講述了一個農村老人為了滿足小孫子想要佩奇的願望,四處打聽啥是佩奇的過程。
  • 《啥是佩奇》未帶來《小豬佩奇過大年》預售高增長
    原標題:現象級宣傳片並未帶來《小豬佩奇過大年》預售的高增長 《啥是佩奇》為何不「帶貨」?   《啥是佩奇》火了,無論是朋友圈、微博熱搜還是百度搜索,這幾天「佩奇」都成了搜索的高頻詞,就連跟著蹭熱點的都能因此多獲得一些點擊量。
  • 啥是佩奇是什麼廣告導演張大鵬是誰 小豬佩奇過大年宣傳片
    啥是佩奇是什麼廣告?今天啥是佩奇這個視頻在朋友圈刷屏了,沒想到這竟然是個廣告,真硬核!下面小編就給大家說下啥是佩奇是什麼的廣告,還有介紹下這部廣告片的導演。  啥是佩奇是什麼廣告導演張大鵬是誰  《啥是佩奇》這部廣告片在豬年還沒有到的時候,結結實實地刷了我們的屏。
  • 到底啥是佩奇?鋼鐵硬核佩奇來襲,粉色小豬溫暖人心
    1月17日,「啥是佩奇」四個字就像突如其來的龍捲風,席捲了整個朋友圈,網絡上瞬間被「粉色鋼鐵豬」刷屏。原來,《啥是佩奇》是部電影的宣傳片,它講述了農村爺爺盼望孫子能來自己身邊過年,便問孫子想要什麼禮物,孫子說「佩奇」。
  • 啥是佩奇是什麼梗意思 小豬佩奇過大年宣傳片刷爆朋友圈視頻
    今天一早,小編的朋友圈被啥是佩奇的微信文章給刷屏了,大家紛紛轉發,下面就位大家介紹下啥是佩奇是什麼梗和意思。  這就是佩奇。一個被《啥是佩奇》刷屏的夜晚。  啥是佩奇刷屏的人都看得出,《啥是佩奇》是《小豬佩奇過大年》電影的宣傳片,再說白了,是廣告。  但它卻還是能迅速形成病毒式傳播,就靠「一窩小豬」賣萌嗎?  怎麼可能?它靠的是,讓看的人突然接收到一個提醒:你在都市裡像油條豆漿一樣熟悉的佩奇,農村裡的爺爺並不認識。
  • 回訪《啥是佩奇》拍攝地:村裡變整潔,爺爺扮演者盼團圓
    《啥是佩奇》取景地。新京報記者 寇家祥 攝新京報訊(記者 寇家祥 倪兆中 吳榮奎)賀歲短片《啥是佩奇》走紅一年後,新京報記者近日重新走訪該片拍攝地,河北張家口懷來縣外井溝村。當地村民介紹稱,村裡一年來發生了很大變化,鋪了新路、蓋了新廁所,環境比以前整潔許多。
  • 在《啥是佩奇》之前,《小豬佩奇》本就自帶「城裡人的高貴」
    2019年1月6日,賀歲動畫電影《小豬佩奇過大年》的官方微博發布了微電影預告片《啥是佩奇》。一天之內,在多個流量平臺的推動下,這個短片迅速躥紅,引發熱烈討論。《啥是佩奇》劇照。導演張大鵬別出心裁地用一個5分40秒的微電影《啥是佩奇》取代了常規預告片進行電影的前期宣傳。影片以幼兒對「小豬佩奇」的廣泛喜愛為背景,講述了生活在農村的爺爺聽說城裡的孫子過年想要「佩奇」做禮物,於是到處打聽什麼是佩奇,經過一系列誤認,終於用鼓風機親手焊制了一個「工業朋克風」佩奇,進城過團圓年送到孫子手裡的故事。
  • 啥是佩奇?快帶小朋友親自拜訪「小豬佩奇的家」就知道!
    豬年還沒到,「爺爺」的一個疑問就先在朋友圈刷了屏:啥是佩奇?作為《小豬佩奇過大年》的宣傳短片,《啥是佩奇》稱得上十分優秀,無論是故事節奏還是情感把握,都直戳人心。鄉親們不斷給爺爺支招尋找佩奇都無果,最終爺爺還是親自動手給出了自己的答案,透著點溫馨的朋克版小豬佩奇:但其實你知道嗎,在上海和英國的南安普頓都能親自拜訪「佩奇的家」!與其讓爺爺苦思冥想,不如趁著春節假期,帶上全家人一起開啟一場「尋找佩奇」的旅行吧!如果你覺得這兩個地方都有些遠,還可以跟著佩奇一家一起,在動畫片中get有趣的親子遊項目!
  • 《啥是佩奇》短片暖心刷屏 網友:看哭了,我也想要小豬佩奇
    《啥是佩奇》短片暖心刷屏 網友:看哭了,我也想要小豬佩奇 2019年01月18日 11:14作者:陳麗萍編輯:陳麗萍文章出處:泡泡網原創