成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

gorouter調(diào)研

seanlook / 3030人閱讀

摘要:最近在公司調(diào)研集群方案,涉及到這一層,有兩個可選方案,源于的源于的因為對實現(xiàn)的比較有好感,就主要調(diào)研了下。介紹項目地址來源于,后文簡稱為。官方地址項目地址架構(gòu)中所處的位置無論是在還是在我們設(shè)計的容器體系中,都是作為流量入口存在。

最近在公司調(diào)研docker集群方案,涉及到 router這一層,有兩個可選方案,源于cloudfoundry的gorouter & 源于dotcloud的 hipache, 因為對golang實現(xiàn)的gorouter比較有好感,就主要調(diào)研了下。

gorouter介紹

項目地址:https://github.com/cloudfoundry/gorouter/
Gorouter來源于CloudFoundry,后文簡稱為router。它是整個平臺的流量入口,負責(zé)分發(fā)所有的http請求到對應(yīng)的instance。它在內(nèi)存中維護了一張路由表,記錄了域名與實例的對應(yīng)關(guān)系,所謂的實例自動遷移,靠得就是這張路由表,某實例宕掉了,就從路由表中剔除,新實例創(chuàng)建了,就加入路由表。

Gorouter依賴

Go
Gorouter使用golang編寫,因此環(huán)境需要預(yù)先安裝go編譯環(huán)境
Golang Url:https://golang.org/dl/

Gnatsd
來源cloudfoundry,是一個開源輕量高性能的消息系統(tǒng),gorouter依賴它來作為消息系統(tǒng),進行PUB/SUB操作。
官方地址:http://nats.io/
項目地址:https://github.com/apcera/gnatsd

Gorouter架構(gòu)中所處的位置

無論是在cloudfoundry還是在我們設(shè)計的容器體系中,都是作為流量入口存在。

在CloudFoundry架構(gòu)中的位置:

在設(shè)計的容器方案中的位置:

Gorouter性能

需要了解兩個組件的性能,一個是gorouter本身,另一個是他依賴的Gnatsd,總體感覺性能不錯。
Gorouter,官網(wǎng)沒有它的proxy性能數(shù)據(jù),只是說它的邏輯簡單,性能很好,后期可以專門對它的轉(zhuǎn)發(fā)性能做一下測試。
Gnatsd:性能數(shù)據(jù)來自其官方:

  

With gnatsd (Golang-based server), NATS can send up to 6 MILLION MESSAGES PER SECOND.
Here"s a detailed Performance Comparison between NATS, Redis, NSQ, RabbitMQ, and more. The below chart compares throughput for 4k payloads:

Gorouter部署

一個比較典型的gorouter部署架構(gòu)為:

其中,需要關(guān)注的是RouteFlush這一塊,他的作用是將需要進行proxy的uri rule publish給gnatsd,從而使gorouter可以從gnatsd處sub到&生效,同時,以一定的頻率對現(xiàn)有rule進行publish 刷新,因為gorouter只對rule保留時間T(在config中配置,默認(rèn)120s)。
Routeflush需要自行實現(xiàn)。

Gorouter使用

Goroute監(jiān)聽router.register、router.unregister等幾個頻道。
Publish router.register&router.unregister的數(shù)據(jù)體格式為:

{
"host": "127.0.0.1", //后端映射的host
"port": 4567, //后端映射的port
"uris": [
"my_first_url.vcap.me", //對應(yīng)的域名1
"my_second_url.vcap.me" //對應(yīng)的域名2
],
"tags": {
"another_key": "another_value",
"some_key": "some_value"
},
"app": "some_app_guid",//app id
"private_instance_id": "some_app_instance_id" // instance id
} 

gorouter自帶兩個http終端:
/varz: 自身狀態(tài)監(jiān)控
/routes: 目前承載的proxy rules list
具體說明&config說明見官方說明:https://github.com/cloudfoundry/gorouter

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26403.html

相關(guān)文章

  • 構(gòu)建與定制:唯品會 PaaS 基于 Kubernetes 的實踐

    摘要:基于年底或年初沒有推廣的現(xiàn)狀,唯品會部門目前已經(jīng)做了兩年的時間。唯品會現(xiàn)狀唯品會目前線上有一千多個域,每個域之間相互的依賴比較復(fù)雜,每次的部署發(fā)布困難。這是唯品會的架構(gòu),主要包含持續(xù)集成和持續(xù)部署。 數(shù)人云上海&深圳兩地容器之Mesos/K8S/Swarm三國演義的嘉賓精彩實錄第三更來啦。唯品會是數(shù)人云Meetup的老朋友,去年曾做過RPC服務(wù)框架和Mesos容器化的分享。本次分享中,...

    JackJiang 評論0 收藏0
  • 基于kubernetes的docker集群實踐

    摘要:健康監(jiān)控檢查,可以說是集群中最重要的一部分了。我們在這里沒有使用推薦的方式,我們自己將其與內(nèi)部的系統(tǒng)做了結(jié)合,通過來對整個集群進行監(jiān)控報警自動化操作。 在公司內(nèi)部,基于kubernetes實現(xiàn)了簡單的docker應(yīng)用集群系統(tǒng),拿出來和大家分享下,在這個系統(tǒng)中,實現(xiàn)了應(yīng)用的自動部署、動態(tài)擴容、節(jié)點切換、健康檢查、AB式版本更新等功能,也歡迎大家將各自的實現(xiàn)也分享給我。 整體架構(gòu) 整體架構(gòu)...

    meislzhua 評論0 收藏0
  • 基于kubernetes的docker集群實踐

    摘要:健康監(jiān)控檢查,可以說是集群中最重要的一部分了。我們在這里沒有使用推薦的方式,我們自己將其與內(nèi)部的系統(tǒng)做了結(jié)合,通過來對整個集群進行監(jiān)控報警自動化操作。 在公司內(nèi)部,基于kubernetes實現(xiàn)了簡單的docker應(yīng)用集群系統(tǒng),拿出來和大家分享下,在這個系統(tǒng)中,實現(xiàn)了應(yīng)用的自動部署、動態(tài)擴容、節(jié)點切換、健康檢查、AB式版本更新等功能,也歡迎大家將各自的實現(xiàn)也分享給我。 整體架構(gòu) 整體架構(gòu)...

    Flink_China 評論0 收藏0
  • 2019年前端的3個趨勢

    摘要:組件成為前端最基本的物料,融合在組件中的方案日趨成熟。組件成為最基本的前端物料,讓組件化更徹底在的調(diào)研報告中,開發(fā)者有愿意繼續(xù),有愿意繼續(xù)。需要留意的是,有表示對感興趣,因此獲得的最感興趣獎。 簡介: JavaScript 應(yīng)用范圍廣泛,靜態(tài)類型語言 TypeScript 會繼續(xù)得到更多開發(fā)者的青睞。 組件成為前端最基本的物料,CSS 融合在組件中(CSS in JS)的方案日趨成熟...

    yanwei 評論0 收藏0

發(fā)表評論

0條評論

seanlook

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<