一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

 天道酬勤YXJ1 2017-01-04

紅包是春節(jié)習(xí)俗,原本是討個(gè)吉利的意圖。在互聯(lián)網(wǎng)技術(shù)高度發(fā)展的今天,用手機(jī)搶紅包已經(jīng)成為一種文化、一種生活方式;據(jù)支付寶統(tǒng)計(jì)的數(shù)據(jù)顯示,2016年2月7日除夕夜,支付寶共四輪“咻一咻”互動(dòng)平臺(tái)的總參與次數(shù)達(dá)到了3245億次;在21點(diǎn)09分,用戶的參與熱情達(dá)到了頂峰,“咻一咻”峰值一度達(dá)到210億次/分鐘。

業(yè)務(wù)需求催生技術(shù)升級(jí),隨著紅包業(yè)務(wù)的大眾化、普遍化,我們對(duì)高可用、可擴(kuò)展、按需提供服務(wù)的技術(shù)架構(gòu)要求越來(lái)越高。下面介紹一種基于阿里云容器服務(wù)及相關(guān)云產(chǎn)品組成的高可用搶紅包系統(tǒng)框架;

系統(tǒng)架構(gòu):

下圖給出了基于阿里云相關(guān)產(chǎn)品實(shí)現(xiàn)的搶紅包系統(tǒng)架構(gòu),所涉及的產(chǎn)品包括阿里云容器服務(wù),MNS,RDS,SLB,SLS等。

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

用戶端:模擬用戶搶紅包軟件(如支付寶),能發(fā)送用戶的的搶紅包請(qǐng)求,并攜帶身份ID等信息;根據(jù)服務(wù)端的響應(yīng),把中獎(jiǎng)信息反饋給用戶;

請(qǐng)求處理邏輯:用戶發(fā)送搶紅包信息到“請(qǐng)求處理邏輯集群”,這部分有SLB、ECS集群,ECS集群通過阿里云容器服務(wù)實(shí)現(xiàn)容器化。可以接收用戶請(qǐng)紅包請(qǐng)求,并調(diào)用接口進(jìn)行身份驗(yàn)證、MNS獲取消息(搶紅包)等;通過MNS反饋消息判斷是否中獎(jiǎng),并反饋給用戶;

身份驗(yàn)證模塊:用戶驗(yàn)證搶紅包用戶的身份,可以根據(jù)業(yè)務(wù)實(shí)現(xiàn)不同的限制;例如約定同一個(gè)用戶ID在一定時(shí)間內(nèi)只能搶一次、或者隨機(jī)放棄1/2的用戶請(qǐng)求;

紅包管理監(jiān)控:顯示當(dāng)前MNS中有效紅包數(shù);進(jìn)行紅包發(fā)放操作,可以設(shè)定總紅包數(shù),多批次發(fā)放,以及發(fā)放時(shí)間間隔等;可以基于SLS日志服務(wù)進(jìn)行紅包數(shù)據(jù)統(tǒng)計(jì);

MNS服務(wù):模擬紅包隊(duì)列,請(qǐng)求處理模塊通過從MNS搶消息來(lái)模擬搶紅包,搶到消息的請(qǐng)求即為搶到紅包;同時(shí)通過往MNS中發(fā)送消息模擬賽紅包;

SLS服務(wù):日志存儲(chǔ)服務(wù),會(huì)把搶紅包過程中產(chǎn)生的狀態(tài)日志(中獎(jiǎng)、未中獎(jiǎng)、驗(yàn)證錯(cuò)誤等)進(jìn)行統(tǒng)計(jì)、并持久化;

RDS服務(wù):存儲(chǔ)用戶相關(guān)信息,驗(yàn)證搶紅包用戶的身份;持久化紅包發(fā)放信息,包含抽中紅包用戶的ID,時(shí)間,紅包ID等;

SLB服務(wù):對(duì)用戶請(qǐng)求進(jìn)行負(fù)載均衡;

其中MNS、SLS、RDS、SLB都通過阿里云提供的云服務(wù)實(shí)現(xiàn),其余組件均通過簡(jiǎn)單的代碼實(shí)現(xiàn),并通過容器服務(wù)進(jìn)行微服務(wù)化;

下圖以容器服務(wù)為中心描述了系統(tǒng)之間的調(diào)用:

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

實(shí)現(xiàn)細(xì)節(jié):

系統(tǒng)通過4個(gè)微服務(wù)相互配合,并引用RDS、MNS、SLS等提供的服務(wù)能力;下面是通過容器服務(wù)部署的編排文件內(nèi)容:

webpage: image: registry.cn-hangzhou./junbao/redpacket_webpage:v5 restart: always labels: aliyun.routing.port_80: http://test/webpage aliyun.logs: /var/log aliyun.probe.url: http://container/index.jsp aliyun.scale: '3' aliyun.auto_scaling.max_cpu: '70' aliyun.auto_scaling.min_cpu: '40' aliyun.auto_scaling.step: '1'redpacket: image: registry.cn-hangzhou./junbao/redpacket_redpacket:v12 restart: always environment: DB_HOST: 'rm-bp1y1o7ga6hsm257o.mysql.rds.' DB_PORT: '3306' DB_NAME: 'redpacket_account_check' DB_USER: 'docker' DB_PASSWD: '***' ACCOUNT_CHECK_IP: 'account.local' MNS_URL: 'http://1171330362041663.mns.cn-hangzhou.' ACCESS_KEY_ID: 'hDfTgHQ5xKn45q8a' ACCESS_KEY_SECRET: '*******' external_links: - 'account.local' labels: aliyun.routing.port_80: http://test/redpacket aliyun.logs: /var/log aliyun.probe.url: http://container/redpacket/test aliyun.scale: '2' aliyun.log_store_redpacket: /var/log/redpacket_access.log aliyun.log.timestamp: 'false' aliyun.auto_scaling.max_cpu: '70' aliyun.auto_scaling.min_cpu: '40' aliyun.auto_scaling.step: '1'account: image: registry.cn-hangzhou./junbao/redpacket_account:v12 restart: always environment: DB_HOST: 'rm-bp1y1o7ga6hsm257o.mysql.rds.' DB_PORT: '3306' DB_NAME: 'redpacket_account_check' DB_USER: 'docker' DB_PASSWD: '***' labels: aliyun.routing.port_80: account.local aliyun.logs: /var/log aliyun.probe.url: http://container/test aliyun.scale: '2' aliyun.auto_scaling.max_cpu: '70' aliyun.auto_scaling.min_cpu: '40' aliyun.auto_scaling.step: '1'monitor: image: registry.cn-hangzhou./junbao/redpacket_monitor:v18 restart: always environment: DB_HOST: 'rm-bp1y1o7ga6hsm257o.mysql.rds.' DB_PORT: '3306' DB_NAME: 'redpacket_account_check' DB_USER: 'docker' DB_PASSWD: '***' MNS_URL: 'http://1171330362041663.mns.cn-hangzhou.' ACCESS_KEY_ID: 'hDfTgHQ5xKn45q8a' ACCESS_KEY_SECRET: '****' labels: aliyun.routing.port_80: http://test/monitor aliyun.logs: /var/log aliyun.scale: '1'

根據(jù)上面編排模板內(nèi)容介紹阿里云容器服務(wù)特點(diǎn):

可伸縮性:

可通過對(duì)CPU、內(nèi)存的使用限制定義容器服務(wù)的伸縮功能;

aliyun.auto_scaling.max_cpu: '70'aliyun.auto_scaling.min_cpu: '40'aliyun.auto_scaling.step: '1'

上面配置表示容器內(nèi)CPU使用率超過70%時(shí)會(huì)自動(dòng)擴(kuò)展一個(gè)容器,且容器內(nèi)CPU使用率低于40%時(shí)會(huì)自動(dòng)縮減一個(gè)容器;詳見:

https://help.aliyun.com/document_detail/26017.html?spm=5176.doc26018.6.601.fo3Esr

簡(jiǎn)單路由服務(wù):

在編排模板中添加 routing 標(biāo)簽,定義相應(yīng)的域名或者域名前綴??梢詫?shí)現(xiàn)簡(jiǎn)單的 7 層協(xié)議負(fù)載均衡;

aliyun.routing.port_80: http://test/monitor

上面配置表示可以通過以下域名訪問服務(wù),其中test為域名的前綴,monitor為URL的path部分;

http://test.c61d9ad24beea4d93a4f574202f443a44.cn-beijing./monitor

集群內(nèi)服務(wù)發(fā)現(xiàn)與負(fù)載均衡:

具體的系統(tǒng)中,有一些服務(wù)是不愿對(duì)外開放的,例如本系統(tǒng)的賬號(hào)驗(yàn)證服務(wù);阿里云容器服務(wù)引入了集群內(nèi)負(fù)載均衡功能,您只需要使用以 .local 結(jié)尾的域名,并在依賴的服務(wù)的 external_links 中增加這個(gè)域名,依賴的服務(wù)便可以通過 .local 的域名訪問到依賴的服務(wù),并且能夠配合健康檢查做到自動(dòng)的服務(wù)發(fā)現(xiàn)。

aliyun.routing.port_80: account.localexternal_links: - 'account.local'

詳見:

https://help.aliyun.com/document_detail/35358.html?spm=5176.doc25984.6.654.cqipVM

日志服務(wù):

阿里云日志服務(wù)(Log Service,簡(jiǎn)稱SLS)是針對(duì)日志場(chǎng)景的平臺(tái)化服務(wù)。適用于日志中轉(zhuǎn)、監(jiān)控、性能診斷、日志分析、審計(jì)等場(chǎng)景。容器服務(wù)提供了集成日志服務(wù)的能力,可以方便地將應(yīng)用日志發(fā)送到日志服務(wù)里。

aliyun.log_store_redpacket: /var/log/redpacket_access.log

上述定義會(huì)將容器內(nèi)/var/log/redpacket_access.log文件內(nèi)的內(nèi)容輸入到相應(yīng)的日志服務(wù)中;詳見:

https://help.aliyun.com/document_detail/26036.html?spm=5176.doc35358.6.633.Gy4q50

系統(tǒng)示例

1 搶紅包系統(tǒng)第一步首先要把紅包塞進(jìn)“口袋”,可以通過管理模塊進(jìn)行相關(guān)操作;

訪問管理監(jiān)控服務(wù)頁(yè)面提示的訪問端點(diǎn),然后點(diǎn)擊發(fā)放紅包頁(yè)面;

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

可以在頁(yè)面中輸入紅包相關(guān)信息,紅包總數(shù)、發(fā)放次數(shù)、時(shí)間間隔等;

上圖中表示:分3次發(fā)放10個(gè)紅包,每次的發(fā)放間隔是2秒;點(diǎn)擊“發(fā)放紅包”效果如下:

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

2 第二步:塞完紅包后,即可進(jìn)行搶紅包活動(dòng);

通過Webpage頁(yè)面提示的訪問端點(diǎn),可以登錄搶紅包主頁(yè)面;

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

搶紅包頁(yè)面可以配置一些用戶相關(guān)的信息用于紅包發(fā)放時(shí)的證據(jù);本示例中僅使用一個(gè)識(shí)別碼,憑識(shí)別碼信息領(lǐng)獎(jiǎng);點(diǎn)擊搶紅包即可完成操作;

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

3 作為搶紅包的組織者除了把紅包分發(fā)給用戶,仍然期望對(duì)當(dāng)前紅包狀態(tài),以及所有紅包的分布有所了解;

可以訪問監(jiān)控模塊的數(shù)據(jù)分析頁(yè)面查看相關(guān)數(shù)據(jù),監(jiān)控模塊通過SLS提供的數(shù)據(jù)接口獲取日志信息,并進(jìn)行數(shù)據(jù)統(tǒng)計(jì);這里的監(jiān)控模塊只是簡(jiǎn)單的demo,實(shí)際應(yīng)用中日質(zhì)量會(huì)非常大,可以通過實(shí)時(shí)日志分析工具進(jìn)行統(tǒng)計(jì);

從架構(gòu)到落地細(xì)節(jié):教你利用阿里云容器服務(wù)實(shí)現(xiàn)高可用搶紅包應(yīng)用

本示例只是一個(gè)搶紅包應(yīng)用的簡(jiǎn)單demo,離真正線上應(yīng)用尚有距離;但其中所用到的相關(guān)技術(shù):如容器服務(wù)的彈性伸縮、負(fù)載均衡,日志服務(wù)的數(shù)據(jù)分析,消息服務(wù)高并發(fā)處理等都是搶紅包應(yīng)用所需的;

參考:

阿里云容器服務(wù):

https://help.aliyun.com/product/25972.html?spm=5176.product26090.6.4.AzxFaW

SLS:

https://help.aliyun.com/product/28958.html?spm=5176.doc25974.6.15.VMW9if

SLB:

https://help.aliyun.com/product/27537.html?spm=5176.product28958.6.56.bN5R4b

MNS:

https://help.aliyun.com/product/27412.html?spm=5176.product27537.6.42.iWBZCZ

RDS:

https://help.aliyun.com/product/26090.html?spm=5176.product27412.6.47.sRItSf

更多文章,請(qǐng)查看:https://yq.aliyun.com/cloud

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    91人妻丝袜一区二区三区| 午夜精品在线视频一区| 色婷婷成人精品综合一区| 偷拍洗澡一区二区三区| 亚洲欧美日韩另类第一页| av在线免费播放一区二区| 中文字幕精品少妇人妻| 日本不卡在线视频中文国产| 蜜桃传媒视频麻豆第一区| 午夜精品久久久免费视频| 日韩一区二区三区在线日| 亚洲另类女同一二三区| 我的性感妹妹在线观看| 熟女少妇久久一区二区三区| 99视频精品免费视频| 少妇被粗大进猛进出处故事| 国产内射一级一片内射高清视频 | 日本东京热视频一区二区三区| 少妇肥臀一区二区三区| 久热这里只有精品九九| 日本本亚洲三级在线播放| 亚洲国产精品久久综合网| 欧美日韩在线观看自拍| 99久久精品午夜一区二| 高清一区二区三区四区五区| 久久国产亚洲精品成人| 久久成人国产欧美精品一区二区| 亚洲一区二区三区三区| 国产亚洲欧美日韩精品一区| 日本成人三级在线播放| 亚洲一区二区三在线播放| 国产免费一区二区三区av大片| 尤物久久91欧美人禽亚洲| 中文字幕在线区中文色| 老司机精品视频免费入口| 亚洲一区二区三区熟女少妇| 日韩一级一片内射视频4k| 亚洲av一区二区三区精品| 欧美亚洲美女资源国产| 国产成人一区二区三区久久| 五月天综合网五月天综合网|