版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
企業(yè)微服務技術架構介紹企業(yè)微服務技術架構介紹1目錄01020304微服務介紹0到3000萬用戶微服務化過程微服務進階階段微服務與大數(shù)據(jù)結(jié)合目錄01020304微服務介紹0到3000萬用戶微服務化過程2微服務介紹01微服務介紹013微服務介紹將原來耦合在一起的復雜業(yè)務拆分為單個服務,規(guī)避了原本復雜度無止境的積累,每一個微服務專注于單一功能,并通過定義良好的接口清晰表述服務邊界。由于微服務具備獨立的運行進程,所以每個微服務可以獨立部署。當業(yè)務迭代時只需要發(fā)布相關服務的迭代即可,降低了測試的工作量同時也降低了服務發(fā)布的風險。在微服務架構下,當某一組件發(fā)生故障時,故障會被隔離在單個服務中。比如通過限流、熔斷等方式降低錯誤導致的危害,保障核心業(yè)務正常運行。在微服務架構下,每個服務可以根據(jù)實際需求獨立進行擴展。降低復雜度可獨立部署容錯可擴展微服務介紹將原來耦合在一起的復雜業(yè)務拆分為單個服務,規(guī)避了原40到3000萬用戶微服務化過程020到3000萬用戶微服務化過程0250到3000萬用戶微服務化過程warwarDBDBNginxrediswarwarDBNginxrediswarserviceserviceservicewarDBNginxrediswarserviceserviceserviceDBDB2015年2018年0到3000萬用戶微服務化過程warwarDBDBNginx6初始階段的平臺0到3000萬用戶微服務化過程warDB2015年底方法:tomcat+MySQLspring+mybatis結(jié)合,構建業(yè)務系統(tǒng)系統(tǒng)之間的業(yè)務共享直接依賴DB問題:發(fā)版的時候會暫停服務,影響運營投放并發(fā)訪問量大的時候出現(xiàn)大量超時初始階段的平臺0到3000萬用戶微服務化過程warDB方法:7DBwarNginxrediswar初始階段的平臺0到3000萬用戶微服務化過程方法:引入Nginx做反向代理,解決發(fā)版暫停服務問題引入redis做session共享問題:系統(tǒng)中存在大量重復代碼,耦合嚴重任何的改動可能引發(fā)其他的bug,測試回歸量增加系統(tǒng)質(zhì)量降低,線上bug頻發(fā)2016年DBwarNginxrediswar初始階段的平臺0到3008“半”微服務階段0到3000萬用戶微服務化過程方法:根據(jù)領域模型、業(yè)務等做服務拆分引入dubbo開始進入服務化拆分問題:系統(tǒng)中任何一條性能差的SQL引發(fā)dubbo線程池滿,導致平臺雪崩DB高負荷運行,CPU經(jīng)常到達
99%觸發(fā)報警每個人的代碼風格不一樣,不利于維護,系統(tǒng)存在不穩(wěn)定因素2017年warDBNginxrediswarserviceserviceservice“半”微服務階段0到3000萬用戶微服務化過程方法:根據(jù)領域9微服務階段0到3000萬用戶微服務化過程方法:代碼自動化生成,風格統(tǒng)一每個服務單獨對應一個DB,讀寫分離引入限流、熔斷等技術保障服務穩(wěn)定性問題:分布式事物解決方案聚合日志查詢2018年warDBNginxrediswarserviceserviceserviceDBDB微服務階段0到3000萬用戶微服務化過程方法:代碼自動化生成10準備微服務工具自動生成讀寫分離自動生成代碼骨架自動生成Mybatis
xml文件自動生成PO
DTO對象自動生成pom依賴0到3000萬用戶微服務化過程準備微服務工具自動生成讀寫分離自動生成代碼骨架自動生成Myb11ManagerImplRManagerImplW0到3000萬用戶微服務化過程代碼結(jié)構以及依賴關系Controllerback(war)basic(
jar)IMangerMangerImplFacadeIServiceServi
ceImplIMangerRIMangerWDAORDAOWWRManagerImplRManagerImplW0到3012業(yè)務架構圖(簡化版)APPM站H5公眾號PC前端應用統(tǒng)一接入網(wǎng)關用戶中心產(chǎn)品中心訂單中心財務中心支付中心業(yè)務聚合…用戶服務產(chǎn)品服務訂單服務支付路由目錄服務基礎服務評論服務短鏈服務消息服務短信路由促銷服務排序服務…MYSQLRedisHBaseHDFSES數(shù)據(jù)存儲Hive公共平臺配置中心監(jiān)控中心安全中心日志中心調(diào)度中心Binlog配置服務A/B行為數(shù)據(jù)搜索排行用戶標簽用戶畫像數(shù)據(jù)中心運營報表0到3000萬用戶微服務化過程業(yè)務架構圖(簡化版)APPM站H5公眾號PC前端應用統(tǒng)一接入13系統(tǒng)訪問流程0到3000萬用戶微服務化過程AppH5NginxAPI網(wǎng)關集群API…業(yè)務集群業(yè)務聚合層 業(yè)務聚合層LocalCache LocalCacheserviceserviceserviceserviceservice…服務集群業(yè)務聚合層LocalCache業(yè)務聚合層LocalCache業(yè)務集群RemoteCache集群主從DAL配置中心全局調(diào)用鏈系統(tǒng)訪問流程0到3000萬用戶微服務化過程AppH5Ngin14千人千面 個性化推薦0到3000萬用戶微服務化過程用戶服務產(chǎn)品服務屬性服務校驗服務標簽服務訂單服務排序服務用戶行為黑鏡服務精準營銷版本服務。。。千人千面 個性化推薦0到3000萬用戶微服務化過程用戶服務產(chǎn)15服務服務化串行為并行,提升訪問速度0到3000萬用戶微服務化過程服務服務服務業(yè)務聚合層服務業(yè)務聚合層ExecutorService服務(串行)(并行)服務業(yè)務聚合層服務(并行)eseses服務服務化串行為并行,提升訪問速度0到3000萬用戶微服務化16快、再快、更快0到3000萬用戶微服務化過程用戶服務產(chǎn)品服務屬性服務校驗服務標簽服務...快、再快、更快0到3000萬用戶微服務化過程用戶服務產(chǎn)品服務17充分使用緩存0到3000萬用戶微服務化過程RemoteCache服務RemoteCache業(yè)務聚合層DB業(yè)務聚合層LocalCache服務RemoteCacheDB網(wǎng)絡網(wǎng)絡充分使用緩存0到3000萬用戶微服務化過程RemoteCac18服務解耦0到3000萬用戶微服務化過程發(fā)放優(yōu)惠券用戶表積分初始化訂閱binlog訂閱配置平臺MQ優(yōu)惠券服務財務初始化邀友獎勵流量上報用戶表積分服務賬戶服務MGM服務流量上報服務解耦0到3000萬用戶微服務化過程發(fā)放優(yōu)惠券用戶表積分初19緩存解耦熔斷安全0到3000萬用戶微服務化過程緩存解耦熔斷安全0到3000萬用戶微服務化過程20熔斷功能要求熔斷時間窗口錯誤率人工干預主動告警0到3000萬用戶微服務化過程熔斷功能要求熔斷時間窗口錯誤率人工干預主動告警0到3000萬21緩存技巧l 使用自定義@anntation(啟動本地緩存TTL+遠程緩存)l key自動注冊到配置中心l 支持手動修改TTL時間l 防止緩存擊穿1)使用布隆過濾器2)
啟用緩存Slotsynchronized
(lock)
替換為synchronized
(slot[key.hash%slot_size])0到3000萬用戶微服務化過程緩存技巧l 使用自定義@anntation(啟動本地緩存TT22基于MQ的應用解耦0到3000萬用戶微服務化過程l 應用層必須支持消息冪等l 支持消息回溯l 支持消息重放l 基于關鍵字查詢l 消息的消費的機器I
以及消息時間基于MQ的應用解耦0到3000萬用戶微服務化過程l 應用層必230到3000萬用戶微服務化過程安全機制zkconsumerprovide基于dubbo
Filter機制擴展自動接入配置中心支持限制IP訪問支持限定某個方法訪問權限非授權類連接具備自動告警機制問題:消費者可以通過注冊中連接任意服務提供方消費者可以通過直連的方式連接服務提供方對服務方提供的服務做任何操作zkconsumerprovide授權0到3000萬用戶微服務化過程安全機制zkconsumerp24微服務進階階段03微服務進階階段0325dubbo
MonitorService擴展TpsElapsedConcurrent…監(jiān)控平臺dubboMonitorService擴展監(jiān)控平臺26需求:模擬一次支付成功模擬一次注冊失敗能模擬各種狀態(tài)值模擬延時、異常測試人員方便模擬……要求:別讓我額外編碼我有代碼潔癖,非業(yè)務的代碼不要加我的代碼誰動了,出問題后誰負責……測試開發(fā)需求:要求:測試開發(fā)27Mock平臺ConsumerProviderFilterhttp
request
Mock
平臺http
response配置中心Mock平臺ConsumerProviderFilterht28日志檢索平臺KAFKA業(yè)務系統(tǒng)AFLUME業(yè)務系統(tǒng)BFLUME業(yè)務系統(tǒng)CFLUME日志平臺告警平臺實時計算平臺規(guī)則引擎日志檢索平臺KAFKA業(yè)務系統(tǒng)A業(yè)務系統(tǒng)B業(yè)務系統(tǒng)C日志平臺29線上故障情況客服報線上問題
了,但是驗證后卻正常線上產(chǎn)生詭異的數(shù)據(jù)不清楚如何產(chǎn)生的老板操作發(fā)生異常,但是研發(fā)操作卻正常。。。問題恢復任意時刻現(xiàn)場數(shù)據(jù)重復模擬指定場景,特定人的操作軌跡不能污染線上數(shù)據(jù)。。。期望線上故障情況客服報線上問題了,但是驗證后卻正常問題恢復任意30日志回放系統(tǒng)KAFKA抽樣規(guī)則集配置中心HBaseHBaseHBaseHBase日志回放系統(tǒng)基礎服務集群泛化注冊中心日志回放系統(tǒng)KAFKA抽樣規(guī)則集配置中心HBaseHBase31微服務與大數(shù)據(jù)結(jié)合04微服務與大數(shù)據(jù)結(jié)合0432大數(shù)據(jù)平臺千人千面?zhèn)€人化智能推薦排序模型用戶畫像歷史申請數(shù)據(jù)人工智能搜索推薦個性化智能推薦瀏覽記錄大數(shù)據(jù)平臺千人千面?zhèn)€人化智能推薦排序模型用戶畫像歷史申請數(shù)據(jù)33海量數(shù)據(jù)存成計算問題用戶行為記錄:登陸點擊申請……需求:每個月記錄數(shù)10億+支持增量/全量分析統(tǒng)計初始方案:MySQLRedis問題:redis成本太高MySQL涉及到分庫分表冷熱數(shù)據(jù)需要手動處理多維度統(tǒng)計分析比較困難解決方案:引入HBase存成海量用戶行為記錄RowKey=定長(用戶id反轉(zhuǎn))+日期優(yōu)勢:自動解決冷熱數(shù)據(jù)無需關注分庫分表任何服務器故障,不丟失數(shù)據(jù)支持MR或者Spark做多維度計算大數(shù)據(jù)平臺海量數(shù)據(jù)存成計算問題用戶行為記錄:需求:初始方案:MySQL34大數(shù)據(jù)平臺大數(shù)據(jù)平臺技術架構FlumeSOA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 不打死結(jié)的紅領巾系法
- 【語文課件】再見了親人 浙江教育出版社課件
- 單位人力資源管理制度收錄匯編十篇
- 單位人力資源管理制度集合合集十篇
- 單位管理制度展示合集職工管理篇
- 傳媒行業(yè)“AI、出海、IP”為舵乘風破浪
- 2025年互聯(lián)網(wǎng)券商行業(yè)市場趨勢分析報告
- 單位管理制度展示大合集人員管理篇
- 2022-2027年中國超聲波霧化器行業(yè)市場全景評估及發(fā)展戰(zhàn)略研究報告
- 生物燃料油生產(chǎn)建設啊項目節(jié)能評估報告(節(jié)能專)
- 財務負責人統(tǒng)一委派制度
- 瀝青路面施工監(jiān)理工作細則
- 物業(yè)設備設施系統(tǒng)介紹(詳細).ppt
- 公司走賬合同范本
- 獲獎一等獎QC課題PPT課件
- 市場調(diào)查的產(chǎn)生與發(fā)展
- 人教版小學三年級數(shù)學上冊判斷題(共3頁)
- 國際項目管理手冊The Project Manager’s Manual
- 小學五年級思政課教案三篇
- 華為內(nèi)部虛擬股管理暫行條例
- 大劇院建設項目設計投資造價估算
評論
0/150
提交評論