久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

環信大學 | 構建一套適合微服務的高可用架構

隨著近幾年微服務與云計算的飛速發展,機器由物理機逐步變為了虛擬機,應用服務由龐大的單體應用逐漸變為了若干個微服務聯合組成的應用集群,更新迭代的速度成倍上漲,傳統的部署模式已無法滿足開發日常更新需求,需要一套適合微服務的管理架構。

技術棧及文檔

資源調度框架 MESOS

應用編排平臺Marathon

nginx 動態修改 upstream dyups

nginx 動態修改 upstream upsync

使用Mesos 進行機器資源管理

首先,是機器資源的管理。在微服務的架構中,原有的單體服務被拆分成了一個個獨立單元的應用程序,這些服務體量較小,可以獨立運行在配置較小的機器上。為了故障隔離,我們會盡可能的把這些服務部署在不同的虛擬機上,這樣機器的數量會成倍增加。對于運維來說,每個新服務部署時,需要先查看現有機器的剩余資源是否滿足新服務的需求,有時可能因為評估不準確造成來回擴容、遷移,或者資源浪費。

開始時,我們的架構可能時這樣的

環信大學 | 構建一套適合微服務的高可用架構

為了解決上面的問題,可以使用 MESOS ( 布式資源管理框架),它可以 讓我們像用一臺電腦(一個資源池)一樣使用整個數據中心。

mesos 部署時分為 master 和 agent 兩個角色,當然,你可以在同一臺機器啟動它們。

安裝Mesos 前需要安裝zookeeper,mesos 使用zk 實現高可用和選舉,包括一個 master leader 和 幾個備份 master 避免宕機。

Mesos master 負責管理各個Framework和Slave,并將Slave上的資源非配給各個Framework。

Mesos agent 負責管理本節點上的各個Mesos Task,為各個Executor分配資源 (低版本為 mesos-slave)。

$cat>/tmp/bintray-mesos-el.repo<

#bintray-mesos-el-packagesbymesosfromBintray

[bintray-mesos-el]

name=bintray-mesos-el

baseurl=https://dl.bintray.com/apache/mesos/el7/x86_64

gpgcheck=0

repo_gpgcheck=0

enabled=1

EOF

$sudomv/tmp/bintray-mesos-el.repo/etc/yum.repos.d/bintray-mesos-el.repo

$sudoyumupdate

$sudoyuminstallmesos

$tree/etc/mesos-master

/etc/mesos-master/

|–hostname

|–ip

|–log_dir

|–quorum#quorum>(numberofmasters)/2

`–work_dir

$tree/etc/mesos-agent

/etc/mesos-agent/

|–containerizers#容器類型,默認mesos,可以添加docker,如:mesos,docker

|–hostname

|–ip

|–log_dir

|–master#master地址,格式為host:port或

zk://host1:port1,host2:port2,…/path或file:///path/to/file

|–resources#設置總資源大小,可以設置小些來預留更多機器資源

`–work_dir

$cat/etc/mesos/zk#設置mesos在zk中的存儲目錄

zk://192.168.100.9:2181,192.168.100.110:2181,192.168.100.234:2181/mesos

$systemctlstartmesos-master

$systemctlstartmesos-slave

當mesos服務啟動后,agent 會向master 節點匯報機器資源,包括CPU、內存、磁盤等。當我們要發布一個服務時,只需要設置這個服務的CPU、內存、磁盤參數, mesosmaster 會自動幫我們選擇有足夠資源的機器去運行,如下圖

環信大學 | 構建一套適合微服務的高可用架構

我們將微服務的啟動都交給 Mesos 管理,這樣我們只需要關注整體資源即可。MESOS 提供了UI界面,可以直接訪問 mesos master 的5050 端口,查看集群資源使用情況??傮w使用情況 及 Agent 節點使用情況

環信大學 | 構建一套適合微服務的高可用架構
環信大學 | 構建一套適合微服務的高可用架構

完成以上后,我們的架構變成了這樣

環信大學 | 構建一套適合微服務的高可用架構

使用Marathon 進行微服務管理

Marathon 是建立在 Mesos 上的私有 PaaS平臺。它能自動處理硬件或者軟件故障,并確保每個應用程序都”永遠在線”。我們使用 Marathon 管理微服務有以下優勢1. 支持容器和非容器,不受限于服務啟動類型,操作系統版本等。2. 漂亮而強大的用戶界面,可以在UI 上進行快捷方便的應用程序配置3. 支持約束條件,例如允許一個mesos agent 節點只運行一個應用程序。4. 支持健康檢查??梢耘渲?http、https、tcp、command 類型的監控檢查。5. 完整的REST API,易于集成和編寫腳本。這個對于后期集成來說至關重要。

#Addtherepository

$sudorpm-Uvhhttp://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-2.noarch.rpm

#Installpackages

$sudoyum-yinstallmesosmarathon

#marathonandmesoszkpath

$cat/etc/default/marathon

MARATHON_MESOS_USER=”root”

MARATHON_MASTER=”zk://192.168.100.9:2181,192.168.100.110:2181,192.168.100.234:2181/mesos”

MARATHON_ZK=”zk://192.168.200.9:1181,192.168.100.110:2181,192.168.100.234:2181/marathon”

systemctlstartmarathon

啟動后,直接訪問 marathon 的 8080 端口,就能看到一個漂亮強大的 UI 界面。

環信大學 | 構建一套適合微服務的高可用架構

我們以 springboot 應用為例,在 marathon 上創建一個應用程序

環信大學 | 構建一套適合微服務的高可用架構
環信大學 | 構建一套適合微服務的高可用架構
環信大學 | 構建一套適合微服務的高可用架構
環信大學 | 構建一套適合微服務的高可用架構

當我們更新應用程序時, marathon 會新建相同實例數量的應用程序,待 health check通過之后替換老節點,所以不需要擔心新的服務沒有啟動期間老的服務停掉造成線上事故。到這里為止,我們已經可以在marathon 上方便快捷的進行日常應用的創建、升級、擴容、縮容。當服務健康檢查失敗或者機器宕機后,marathon 會自動在其它節點上啟動掛掉的應用程序,大大提升了高可用性。

環信大學 | 構建一套適合微服務的高可用架構

使用 nginx upsync/dyups 模塊進行平滑變更

當我們的微服務可以隨機分配在不同機器上時,便產生了一個新的令人頭疼的問題。nginx 并不知道后端節點的變更, 也不可能每次都去手動修改 upstream 節點, reloadnginx,這樣成本就太高了。我們的解決思路是和微服務的注冊中心打通,當服務注冊、注銷時,都會對注冊中心進行更新,利用 nginx upsync/dyups 模塊 可以動態修改 upstream 節點的能力進行同步,做到平滑變更。如果使用的注冊中心為 consul,建議使用 upsync 模塊,這樣無需開發,只需要簡單的nginx 配置,就可以實現我們想要的效果, 支持 consul kv, consul_services,consul_health, 同時 upsync 也支持 etcd。建議使用 consul_health 接口。upsync 模塊不是nginx 內置模塊,使用時需要重新編譯添加此模塊。

wget’http://nginx.org/download/nginx-1.8.0.tar.gz’

tar-xzvfnginx-1.8.0.tar.gz

cdnginx-1.8.0/

./configure–add-module=/path/to/nginx-upsync-module

make

makeinstall

配置文件示例

http{

upstreamtest{

upsync127.0.0.1:8500/v1/health/service/testupsync_timeout=6mupsync_interval=500msupsync_type=consul_healthstrong_dependency=off;

upsync_dump_path/usr/local/nginx/conf/servers/servers_test.conf;

include/usr/local/nginx/conf/servers/servers_test.conf;

}

upstreambar{

server127.0.0.1:8090weight=1fail_timeout=10max_fails=3;

}

server{

listen8080;

location=/proxy_test{

proxy_passhttp://test;

}

location=/bar{

proxy_passhttp://bar;

}

location=/upstream_show{

upstream_show;

}

}

}

當upsync無法滿足我們的需求或者注冊中心不是 consul、etcd 時,我們可以考慮使用nginx dyups 模塊。dyups 僅對外提供 upstream 的增刪查改接口,和注冊中心對比、修改的工作需要我們通過腳本的方式完成。雖然這種方式麻煩一些,但是可定制化程度高,支持 http, C,lua API,基本上可以滿足大部分的場景需求。

dyups 模塊也需要nginx 編譯時添加

$gitclonegit://github.com/yzprofile/ngx_http_dyups_module.git

#tocompileasastaticmodule

$./configure–add-module=./ngx_http_dyups_module

#tocompileasadynamicmodule

$./configure–add-dynamic-module=./ngx_http_dyups_module

示例配置

http{

includeconf/upstream.conf;

server{

listen8080;

location/{

#Theupstreamheremustbeanginxvariable

proxy_passhttp://$dyups_host;

}

}

server{

listen8088;

location/{

return200″8088″;

}

}

server{

listen8089;

location/{

return200″8089″;

}

}

server{

listen8081;

location/{

dyups_interface;

}

}

}

特別注意,使用dyups 時, proxy_pass 時的 upstream 必須是 nginx 變量,否則不生效,切記。

環信大學 | 構建一套適合微服務的高可用架構

整體回顧

經過以上調整,我們得到了以下優化

1.服務器資源自動分配,合理利用

2.提升微服務的高可用性

3.減低OPS人工成本,更加便于管理和維護

申請創業報道,分享創業好點子。點擊此處,共同探討創業新機遇!

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
巨乳诱惑日韩免费av| 亚洲视频播放| 国产欧美一级| 日本国产欧美| 日韩一区二区三区高清在线观看 | 久久久国产精品网站| 四虎精品一区二区免费| 亚洲性视频在线| 日本午夜免费一区二区| 欧美日一区二区三区在线观看国产免 | 成人精品天堂一区二区三区| 国产精品xxxav免费视频| 国产精品亚洲四区在线观看| 国产黄大片在线观看| 欧美午夜精品一区二区三区电影| 午夜精品网站| 日本在线观看不卡视频| 麻豆一区二区三| 激情久久五月| 亚洲一二av| 久久精品九色| 成人久久久久| 一级欧美视频| 久久久久久网| 日韩精品高清不卡| 日韩精品dvd| www成人在线视频| 日韩中文欧美在线| 国产精品流白浆在线观看| av资源中文在线| 麻豆精品91| 精品国产网站| 亚洲一区激情| 精品国产欧美| 老牛影视一区二区三区| 麻豆久久一区| 夜夜嗨网站十八久久| 精品视频在线一区二区在线| 国产精品美女久久久浪潮软件| 国产亚洲一区二区三区啪| 亚洲成av人片一区二区密柚| 欧洲毛片在线视频免费观看| 青青草91视频| 激情婷婷综合| 欧美激情aⅴ一区二区三区 | 夜夜精品视频| 久久免费精品| 久久av在线| 在线中文字幕播放| 日本va欧美va瓶| 精品欧美激情在线观看| 成人午夜在线| 国产精品羞羞答答在线观看| 亚洲天堂资源| 国产精品久久免费视频| 一区二区三区四区精品视频| 精品一区在线| 日韩欧美视频专区| 日韩av电影一区| 久久网站免费观看| 久久影院一区二区三区| 亚洲制服一区| 国产午夜精品一区二区三区欧美 | 国产精品99久久免费观看| 免费人成在线不卡| 欧美精品羞羞答答| 成人在线超碰| 久久精品一本| 国产日韩一区二区三免费高清 | 四虎4545www国产精品| 欧美永久精品| 亚洲三级视频| 国产模特精品视频久久久久| 亚洲性图久久| 欧美 日韩 国产一区二区在线视频| 国产一区2区在线观看| 久久99免费视频| 国产麻豆一区二区三区| 亚洲欧美视频| 伊人成人网在线看| 激情丁香综合| 亚洲精品电影| 久久影视一区| 91看片一区| 日韩在线看片| 日韩免费av| 99久久www免费| 亚洲性视频h| 欧美69视频| 激情欧美一区| 日韩视频在线一区二区三区| 婷婷丁香综合| 午夜久久99| 婷婷综合亚洲| 亚洲一区成人| 日韩欧美中文在线观看| 日本在线不卡视频| 欧美一区网站| 美女精品久久| 国产精品xx| 秋霞影院一区二区三区| 亚洲午夜久久久久久尤物| 在线观看免费一区二区| 丝袜美腿成人在线| 蜜臀久久99精品久久久久宅男| 视频一区欧美精品| 日本不卡中文字幕| 欧美日韩国产一区二区在线观看| 亚洲精品伦理| 奇米亚洲欧美| 福利欧美精品在线| 欧美综合另类| 欧美亚洲国产激情| 国产精品av久久久久久麻豆网| 91久久久精品国产| 亚洲精品a级片| 亚洲午夜国产成人| 精品网站999| 欧美亚洲国产精品久久| 亚洲欧美日韩高清在线| 深夜福利亚洲| 国产网站在线| 丝袜亚洲精品中文字幕一区| 亚洲毛片在线| 国产欧美激情| 久久蜜桃资源一区二区老牛| 久久国产精品久久w女人spa| 国产精品一区二区三区四区在线观看| 麻豆久久久久久| 国产亚洲一区二区手机在线观看 | 亚欧成人精品| 成午夜精品一区二区三区软件| 伊人久久大香线蕉av不卡| 蜜臀久久99精品久久久久久9| 日本精品另类| 黄色在线网站噜噜噜| 亚洲精选91| 国产一区调教| 免费国产自线拍一欧美视频| 欧美黄色一区二区| 97精品国产一区二区三区| 亚洲精品97| 国产精品**亚洲精品| 婷婷综合六月| 婷婷亚洲成人| av高清不卡| 欧美专区一区| 激情综合亚洲| 亚洲制服欧美另类| 日韩欧美在线中字| 欧美一级二级三级视频| 蜜臀91精品国产高清在线观看| 久久精品xxxxx| 欧美不卡高清| 国产一区调教| 日韩av资源网| 国产精品腿扒开做爽爽爽挤奶网站| 久久久精品国产**网站| 婷婷综合五月| 色综合五月天| 久久国产婷婷国产香蕉| 午夜一区在线| 91精品国产91久久久久久黑人| 美国三级日本三级久久99 | 亚洲深夜福利在线观看| 97人人精品| 国产美女视频一区二区| 免费欧美日韩| 久久久777| 国产在线不卡一区二区三区| 美美哒免费高清在线观看视频一区二区| 麻豆mv在线观看| 欧美天堂一区| 亚洲制服欧美另类| 欧美日韩激情| 国产探花在线精品| 日欧美一区二区| 亚洲欧美日韩视频二区| 亚洲福利国产| 国产精品草草| 日韩av中文在线观看| 一区二区三区国产盗摄| 9色精品在线| 91精品国产调教在线观看| 久久成人福利| 日韩黄色在线观看| 中文一区一区三区免费在线观| 在线日韩中文| 日韩欧美一区二区三区免费看| 国产在视频一区二区三区吞精| 日本h片久久| 奇米777国产一区国产二区| 蜜臀91精品一区二区三区| 亚洲精品2区| 欧美日韩免费观看一区=区三区| 欧美日韩一二三四| 亚洲网站视频| 国产亚洲午夜| 狠狠干综合网| 免费在线观看不卡|