婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 環(huán)信大學(xué) | 構(gòu)建一套適合微服務(wù)的高可用架構(gòu)

環(huán)信大學(xué) | 構(gòu)建一套適合微服務(wù)的高可用架構(gòu)

熱門標(biāo)簽:寧津縣地圖標(biāo)注app 400電話申請(qǐng)的主要特點(diǎn) 小R電話機(jī)器人 微碼科技電銷機(jī)器人 河南智能電銷機(jī)器人加盟 百度地圖標(biāo)注怎么調(diào)整 菏澤智能外呼系統(tǒng)平臺(tái) 許昌自動(dòng)外呼系統(tǒng)怎么收費(fèi) 電話機(jī)器人對(duì)電銷行業(yè)的影響
  隨著近幾年微服務(wù)與云計(jì)算的飛速發(fā)展,機(jī)器由物理機(jī)逐步變?yōu)榱颂摂M機(jī),應(yīng)用服務(wù)由龐大的單體應(yīng)用逐漸變?yōu)榱巳舾蓚€(gè)微服務(wù)聯(lián)合組成的應(yīng)用集群,更新迭代的速度成倍上漲,傳統(tǒng)的部署模式已無法滿足開發(fā)日常更新需求,需要一套適合微服務(wù)的管理架構(gòu)。
  技術(shù)棧及文檔
  資源調(diào)度框架MESOS
  應(yīng)用編排平臺(tái)Marathon
  nginx動(dòng)態(tài)修改upstream dyups
  nginx動(dòng)態(tài)修改upstream upsync
  使用Mesos進(jìn)行機(jī)器資源管理
  首先,是機(jī)器資源的管理。在微服務(wù)的架構(gòu)中,原有的單體服務(wù)被拆分成了一個(gè)個(gè)獨(dú)立單元的應(yīng)用程序,這些服務(wù)體量較小,可以獨(dú)立運(yùn)行在配置較小的機(jī)器上。為了故障隔離,我們會(huì)盡可能的把這些服務(wù)部署在不同的虛擬機(jī)上,這樣機(jī)器的數(shù)量會(huì)成倍增加。對(duì)于運(yùn)維來說,每個(gè)新服務(wù)部署時(shí),需要先查看現(xiàn)有機(jī)器的剩余資源是否滿足新服務(wù)的需求,有時(shí)可能因?yàn)樵u(píng)估不準(zhǔn)確造成來回?cái)U(kuò)容、遷移,或者資源浪費(fèi)。
  開始時(shí),我們的架構(gòu)可能時(shí)這樣的
  為了解決上面的問題,可以使用MESOS(布式資源管理框架),它可以讓我們像用一臺(tái)電腦(一個(gè)資源池)一樣使用整個(gè)數(shù)據(jù)中心。
  mesos部署時(shí)分為master和agent兩個(gè)角色,當(dāng)然,你可以在同一臺(tái)機(jī)器啟動(dòng)它們。
  安裝Mesos前需要安裝zookeeper,mesos使用zk實(shí)現(xiàn)高可用和選舉,包括一個(gè)masterleader和幾個(gè)備份master避免宕機(jī)。
  Mesos master負(fù)責(zé)管理各個(gè)Framework和Slave,并將Slave上的資源非配給各個(gè)Framework。
  Mesos agent負(fù)責(zé)管理本節(jié)點(diǎn)上的各個(gè)MesosTask,為各個(gè)Executor分配資源(低版本為mesos-slave)。
  1. $ cat > /tmp/bintray-mesos-el.repo EOF
  2. #bintray-mesos-el - packages by mesos from Bintray
  3. [bintray-mesos-el]
  4. name=bintray-mesos-el
  5. baseurl=https://dl.bintray.com/apache/mesos/el7/x86_64
  6. gpgcheck=0
  7. repo_gpgcheck=0
  8. enabled=1
  9. EOF
  10. $ sudo mv /tmp/bintray-mesos-el.repo /etc/yum.repos.d/bintray-mesos-el.repo
  11. $ sudo yum update
  12. $ sudo yum install mesos
  13. $ tree /etc/mesos-master
  14. /etc/mesos-master/
  15. |-- hostname
  16. |-- ip
  17. |-- log_dir
  18. |-- quorum # quorum > (number of masters)/2
  19. `-- work_dir
  20. $ tree /etc/mesos-agent
  21. /etc/mesos-agent/
  22. |-- containerizers # 容器類型,默認(rèn) mesos,可以添加 docker,如: mesos,docker
  23. |-- hostname
  24. |-- ip
  25. |-- log_dir
  26. |-- master # master 地址,格式為 host:port 或
  27. zk://host1:port1,host2:port2,.../path 或 file:///path/to/file
  28. |-- resources # 設(shè)置總資源大小,可以設(shè)置小些來預(yù)留更多機(jī)器資源
  29. `-- work_dir
  30. $ cat /etc/mesos/zk # 設(shè)置 mesos 在zk 中的存儲(chǔ)目錄
  31. zk://192.168.100.9:2181,192.168.100.110:2181,192.168.100.234:2181/mesos
  32. $ systemctl start mesos-master
  33. $ systemctl start mesos-slave
  當(dāng)mesos服務(wù)啟動(dòng)后,agent會(huì)向master節(jié)點(diǎn)匯報(bào)機(jī)器資源,包括CPU、內(nèi)存、磁盤等。當(dāng)我們要發(fā)布一個(gè)服務(wù)時(shí),只需要設(shè)置這個(gè)服務(wù)的CPU、內(nèi)存、磁盤參數(shù),mesosmaster會(huì)自動(dòng)幫我們選擇有足夠資源的機(jī)器去運(yùn)行,如下圖
  我們將微服務(wù)的啟動(dòng)都交給Mesos管理,這樣我們只需要關(guān)注整體資源即可。MESOS提供了UI界面,可以直接訪問mesosmaster的5050端口,查看集群資源使用情況。總體使用情況及Agent節(jié)點(diǎn)使用情況
  完成以上后,我們的架構(gòu)變成了這樣
  使用Marathon進(jìn)行微服務(wù)管理
  Marathon是建立在Mesos上的私有PaaS平臺(tái)。它能自動(dòng)處理硬件或者軟件故障,并確保每個(gè)應(yīng)用程序都永遠(yuǎn)在線。我們使用Marathon管理微服務(wù)有以下優(yōu)勢(shì)
  支持容器和非容器,不受限于服務(wù)啟動(dòng)類型,操作系統(tǒng)版本等
  漂亮而強(qiáng)大的用戶界面,可以在UI上進(jìn)行快捷方便的應(yīng)用程序配置
  支持約束條件,例如允許一個(gè)mesos agent節(jié)點(diǎn)只運(yùn)行一個(gè)應(yīng)用程序
  支持健康檢查。可以配置http、https、tcp、command類型的監(jiān)控檢查
  完整的RESTAPI,易于集成和編寫腳本。這個(gè)對(duì)于后期集成來說至關(guān)重要
  1. # Add the repository
  2. $ sudo rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-2.noarch.rpm
  3. # Install packages
  4. $ sudo yum -y install mesos marathon
  5. # marathon and mesos zk path
  6. $ cat /etc/default/marathon
  7. MARATHON_MESOS_USER="root"
  8. MARATHON_MASTER="zk://192.168.100.9:2181,192.168.100.110:2181,192.168.100.234:2181/mesos"
  9. MARATHON_ZK="zk://192.168.200.9:1181,192.168.100.110:2181,192.168.100.234:2181/marathon"
  10. systemctl start marathon
  啟動(dòng)后,直接訪問marathon的8080端口,就能看到一個(gè)漂亮強(qiáng)大的UI界面。
  我們以springboot應(yīng)用為例,在marathon上創(chuàng)建一個(gè)應(yīng)用程序
  當(dāng)我們更新應(yīng)用程序時(shí),marathon會(huì)新建相同實(shí)例數(shù)量的應(yīng)用程序,待healthcheck通過之后替換老節(jié)點(diǎn),所以不需要擔(dān)心新的服務(wù)沒有啟動(dòng)期間老的服務(wù)停掉造成線上事故。到這里為止,我們已經(jīng)可以在marathon上方便快捷的進(jìn)行日常應(yīng)用的創(chuàng)建、升級(jí)、擴(kuò)容、縮容。當(dāng)服務(wù)健康檢查失敗或者機(jī)器宕機(jī)后,marathon會(huì)自動(dòng)在其它節(jié)點(diǎn)上啟動(dòng)掛掉的應(yīng)用程序,大大提升了高可用性。
  使用nginx upsync/dyups模塊進(jìn)行平滑變更
  當(dāng)我們的微服務(wù)可以隨機(jī)分配在不同機(jī)器上時(shí),便產(chǎn)生了一個(gè)新的令人頭疼的問題。nginx并不知道后端節(jié)點(diǎn)的變更,也不可能每次都去手動(dòng)修改upstream節(jié)點(diǎn),reloadnginx,這樣成本就太高了。我們的解決思路是和微服務(wù)的注冊(cè)中心打通,當(dāng)服務(wù)注冊(cè)、注銷時(shí),都會(huì)對(duì)注冊(cè)中心進(jìn)行更新,利用nginx upsync/dyups模塊可以動(dòng)態(tài)修改upstream節(jié)點(diǎn)的能力進(jìn)行同步,做到平滑變更。如果使用的注冊(cè)中心為consul,建議使用upsync模塊,這樣無需開發(fā),只需要簡單的nginx配置,就可以實(shí)現(xiàn)我們想要的效果,支持consulkv,consul_services,consul_health,同時(shí)upsync也支持etcd。建議使用consul_health接口。upsync模塊不是nginx內(nèi)置模塊,使用時(shí)需要重新編譯添加此模塊。
  1. wget 'http://nginx.org/download/nginx-1.8.0.tar.gz'
  2. tar -xzvf nginx-1.8.0.tar.gz
  3. cd nginx-1.8.0/
  4. ./configure --add-module=/path/to/nginx-upsync-module
  5. make
  6. make install
  配置文件示例
  1. http {
  2. upstream test {
  3. upsync 127.0.0.1:8500/v1/health/service/test upsync_timeout=6m upsync_interval=500ms upsync_type=consul_health strong_dependency=off;
  4. upsync_dump_path /usr/local/nginx/conf/servers/servers_test.conf;
  5. include /usr/local/nginx/conf/servers/servers_test.conf;
  6. }
  7. upstream bar {
  8. server 127.0.0.1:8090 weight=1 fail_timeout=10 max_fails=3;
  9. }
  10. server {
  11. listen 8080;
  12. location = /proxy_test {
  13. proxy_pass http://test;
  14. }
  15. location = /bar {
  16. proxy_pass http://bar;
  17. }
  18. location = /upstream_show {
  19. upstream_show;
  20. }
  21. }
  22. }
  當(dāng)upsync無法滿足我們的需求或者注冊(cè)中心不是consul、etcd時(shí),我們可以考慮使用nginxdyups模塊。dyups僅對(duì)外提供upstream的增刪查改接口,和注冊(cè)中心對(duì)比、修改的工作需要我們通過腳本的方式完成。雖然這種方式麻煩一些,但是可定制化程度高,支持http,C,luaAPI,基本上可以滿足大部分的場(chǎng)景需求。
  dyups模塊也需要nginx編譯時(shí)添加
  1. $ git clone git://github.com/yzprofile/ngx_http_dyups_module.git
  2. # to compile as a static module
  3. $ ./configure --add-module=./ngx_http_dyups_module
  4. # to compile as a dynamic module
  5. $ ./configure --add-dynamic-module=./ngx_http_dyups_module
  示例配置
  1. http {
  2. include conf/upstream.conf;
  3. server {
  4. listen 8080;
  5. location / {
  6. # The upstream here must be a nginx variable
  7. proxy_pass http://$dyups_host;
  8. }
  9. }
  10. server {
  11. listen 8088;
  12. location / {
  13. return 200 "8088";
  14. }
  15. }
  16. server {
  17. listen 8089;
  18. location / {
  19. return 200 "8089";
  20. }
  21. }
  22. server {
  23. listen 8081;
  24. location / {
  25. dyups_interface;
  26. }
  27. }
  28. }
  特別注意,使用dyups時(shí),proxy_pass時(shí)的upstream必須是nginx變量,否則不生效,切記。
  整體回顧
  經(jīng)過以上調(diào)整,我們得到了以下優(yōu)化
  服務(wù)器資源自動(dòng)分配,合理利用
  提升微服務(wù)的高可用性
  減低OPS人工成本,更加便于管理和維護(hù)

標(biāo)簽:保定 隴南 珠海 鄂州 宣城 資陽 南昌 怒江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《環(huán)信大學(xué) | 構(gòu)建一套適合微服務(wù)的高可用架構(gòu)》,本文關(guān)鍵詞  環(huán)信,大學(xué),構(gòu)建,一套,適合,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《環(huán)信大學(xué) | 構(gòu)建一套適合微服務(wù)的高可用架構(gòu)》相關(guān)的同類信息!
  • 本頁收集關(guān)于環(huán)信大學(xué) | 構(gòu)建一套適合微服務(wù)的高可用架構(gòu)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    午夜久久久久久久久| 99精品国产一区二区三区不卡| 色视频成人在线观看免| 狠狠色狠狠色综合日日91app| 亚洲欧洲另类国产综合| 久久欧美一区二区| 51午夜精品国产| 色欧美日韩亚洲| 成人黄色小视频在线观看| 狠狠色狠狠色综合| 亚洲精品欧美二区三区中文字幕| 久久久精品欧美丰满| 日韩视频免费直播| 91精品蜜臀在线一区尤物| 99这里只有精品| 成人中文字幕合集| 成人午夜精品在线| 国产福利91精品| 激情文学综合丁香| 激情文学综合插| 另类综合日韩欧美亚洲| 九九**精品视频免费播放| 日本一区二区视频在线观看| 亚洲综合丁香婷婷六月香| 在线观看精品一区| 国产午夜一区二区三区| 日韩一区二区三区电影 | 欧美电影免费观看高清完整版在线观看| 成人国产一区二区三区精品| 国产高清久久久| 日本欧美在线观看| 蜜臀av在线播放一区二区三区| 一区二区三区 在线观看视频| 亚洲欧洲av在线| 综合久久久久久| 久久综合九色综合欧美98| 亚洲一线二线三线视频| 欧美日韩国产高清一区二区三区| 精品午夜一区二区三区在线观看| 日韩高清在线一区| 舔着乳尖日韩一区| 天天操天天色综合| 日本午夜精品视频在线观看| 亚洲精品国产a久久久久久| 中文一区在线播放| 久久综合国产精品| 久久久三级国产网站| 久久久青草青青国产亚洲免观| 日韩精品一区二区三区视频播放 | 欧美午夜一区二区三区| 色国产精品一区在线观看| 成人黄色在线看| 亚洲欧美韩国综合色| 亚洲最大色网站| 欧美大尺度电影在线| 欧美精三区欧美精三区| 成人一区二区视频| av中文字幕不卡| 欧美区在线观看| 久久久久久久综合日本| 欧美大胆一级视频| 国产精品久久久一区麻豆最新章节| 最新不卡av在线| 首页国产欧美久久| 免费日本视频一区| 国产91精品一区二区| 99精品一区二区三区| 在线视频你懂得一区| 日韩欧美一二三| 亚洲精品视频在线观看网站| 久久91精品久久久久久秒播| 亚洲色图一区二区三区| 亚洲主播在线播放| 国内久久婷婷综合| 欧美日韩一区二区三区高清| 欧美日韩成人一区二区| 久久综合久久综合久久综合| 国产精品网站一区| 亚洲地区一二三色| 麻豆精品一区二区三区| 激情小说亚洲一区| 91网上在线视频| 欧美一区二区三区四区视频| 日韩欧美国产三级| 精品国产亚洲一区二区三区在线观看| 中文字幕av一区二区三区免费看| 亚洲国产aⅴ成人精品无吗| 国产综合久久久久久鬼色| 粉嫩高潮美女一区二区三区| 99国产精品一区| 精品久久99ma| 一区二区三区不卡视频在线观看 | 国产精品―色哟哟| 婷婷成人激情在线网| 粉嫩av一区二区三区在线播放| 欧美日韩精品系列| 国产精品色哟哟网站| 国产一区二区成人久久免费影院 | 欧美色网一区二区| 国产精品久久久久精k8| 国产乱码精品一区二区三| 欧美一区午夜精品| 亚洲一区二区三区中文字幕在线| 成人h动漫精品一区二区| 日韩精品一区二区三区在线播放| 欧美肥妇毛茸茸| 亚洲欧美日韩中文字幕一区二区三区 | 成人av网站在线观看免费| 精品欧美久久久| 午夜成人免费视频| 色综合久久久久综合体桃花网| 欧美激情资源网| 国产精品中文字幕欧美| 欧美一区二区三区婷婷月色| 日韩电影免费在线看| 欧美午夜宅男影院| 爽好久久久欧美精品| 日韩一级免费观看| 国内精品视频666| 国产精品麻豆网站| www.久久精品| 椎名由奈av一区二区三区| 9i看片成人免费高清| 制服视频三区第一页精品| 亚洲大型综合色站| 精品乱码亚洲一区二区不卡| 蜜臀a∨国产成人精品| 2欧美一区二区三区在线观看视频| 国产一区二区女| 亚洲色图制服丝袜| 日韩女优av电影| 99视频一区二区三区| 亚洲午夜影视影院在线观看| 精品久久一区二区三区| av电影一区二区| 美女高潮久久久| 自拍偷拍欧美激情| 精品国产91洋老外米糕| 97久久精品人人爽人人爽蜜臀| 日韩激情视频网站| 欧美激情一区二区| 欧美美女网站色| 97se狠狠狠综合亚洲狠狠| 日韩不卡免费视频| 久久精品网站免费观看| 欧美日韩在线播放一区| 一区二区国产视频| 亚洲天堂网中文字| 91麻豆国产精品久久| 午夜精品久久久久久久蜜桃app| 欧美日韩国产首页在线观看| 日本欧美久久久久免费播放网| 国产精品久久久久一区| 菠萝蜜视频在线观看一区| 精品盗摄一区二区三区| 国产91丝袜在线18| 亚洲午夜视频在线| 国产性做久久久久久| 欧美在线观看视频一区二区三区| 亚洲免费资源在线播放| 欧美一级精品在线| 色婷婷av一区| 国产精品久久影院| 精品乱人伦小说| 国产成人一区在线| 亚洲综合在线免费观看| 久久亚洲欧美国产精品乐播 | 欧美视频在线一区二区三区| 亚洲第一成年网| 国产欧美一区二区精品秋霞影院| 国产福利91精品| 中文无字幕一区二区三区| 欧美日韩黄视频| 91在线观看地址| 一区二区免费在线播放| 日韩三级中文字幕| 欧美日韩国产免费| 99综合电影在线视频| 麻豆成人综合网| 国产精品乱人伦| 色国产精品一区在线观看| 国产精品中文有码| 天堂在线一区二区| ...xxx性欧美| 26uuu久久天堂性欧美| 国产精品一区二区三区99| 一区二区三区四区高清精品免费观看 | 免费在线看一区| 肉丝袜脚交视频一区二区| 亚洲精品免费看| 亚洲免费观看高清在线观看| 亚洲美女免费在线| 亚洲国产成人高清精品| 午夜久久电影网| 午夜精品久久久久久久蜜桃app | 精品一区二区成人精品| 国内成+人亚洲+欧美+综合在线| 国产精品一级片| 一本一本久久a久久精品综合麻豆| 色婷婷精品大在线视频|