成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

TalkingData何坤:如何搭建高可用的數據服務交易系統?

原創
新聞
所謂實踐出真知,談及智能數據服務商城實踐的經驗心得,何坤從如何保證數據服務交易系統的高可用,如何做到準確計量等多個方面與51CTO記者進行了交流。

【51CTO.com原創稿件】2017年12月01-02日,由51CTO主辦的WOTD 2017全球軟件開發技術峰會在深圳中洲萬豪酒店召開。自2012年以來,WOT品牌大會成功舉辦了14屆,積累了大量的技術專家資源,獲得了廣大IT從業者和技術愛好者的一致認可,成為了業界重要的技術分享交流平臺以及人脈拓展平臺。本次會議包含:編程語言與框架,大數據系統架構設計、微服務與容器技術、前端開發實戰、物聯網(IoT)技術、軟件性能優化等10大技術主題。

在大數據系統架構設計專場,來自TalkingData的資深Java工程師何坤分享了主題為《高可用數據服務交易系統架構實踐》精彩演講,介紹了TalkingData在搭建高可用數據服務系統的過程中,準確計量系統的設計、實現和演進等內容。

演講中,何坤介紹了TalkingData智能數據服務商城SDMK(Smart Data Market)。SDMK是什么?它提供多種形式的數據服務,包括 API 服務、人群數據服務、異步服務等,還開放了Lookalike,情景感知,預測引擎,推薦引擎等人工智能服務。通過這些數據服務,可以降低數據應用場景的難度,幫助更多企業發現數據的深層價值。

所謂實踐出真知,談及智能數據服務商城實踐的經驗心得,何坤從如何保證數據服務交易系統的高可用,如何做到準確計量等多個方面與51CTO記者進行了交流。

如何搭建高可用的數據服務交易系統?

作為基礎設施,有很多應用依賴于SDMK提供的服務,SDMK的自身的總體可用性必須比它們還要高??紤]到南向服務的多樣性和不可靠性,雖然不能做服務本身的可用性保證,但是要能做到服務不可用時,能以合適的方式通知用戶。因此,在SDMK構建過程中,TalkingData技術團隊充分考慮了系統的可用性。

何坤表示,想要搭建一個高可用的數據服務交易系統,不僅要做好梳理好業務流程,劃分出具體的系統功能模塊等這些常規工作。同時,在可用性上,系統需要達到兩點要求:一是,計量最終誤差要求,不高于0.01%;二是,交易系統可用性要求,不低于99.9%。

如何做到準確計量,保證計量誤差不高于0.01%?

那么,我們究竟該如何做到準確計量?對此,何坤認為,首先我們要明確準確計量的概念,它有兩層含義:一是,實時數量的準確性;二是,最終數量的準確性。但實時準確與高并發是一對矛盾,因此只能做到最終準確+高并發,犧牲一定的實時數量準確性,也就是說,實時計量會有一定誤差。因此,我們需要在保證最終準確性的前提下,盡量提高實時準確性。

此外,為了保證服務高并發和高QPS下服務的響應時間,可以使用“異步計量”的方式。在發生故障時,選擇盡量確保服務可用,容忍可能的超量;在故障后恢復數據,滿足最終準確的要求。

何坤表示,之所以選擇“異步計量”的方式而不是“同步計量”的方式,是因為:

1.對數據庫壓力大;

2.每次調用時延變長,不容易保證主流程時延穩定;

3.MySQL不易擴展,要做分庫分表;

4.異步計量容易洗數;

5.擴展性好,牽涉到異步服務的所有組件,ES,Kafka,Redis都是原生就支持方便擴展的。

此外,為了保證最終一致性,同時讓實時準確性盡量達到目標,TalkingData采用了Lambda架構來降低準確性和高并發下實時的矛盾。

TalkingData何坤:如何搭建高可用的數據服務交易系統?

如何保證系統可用性不低于99.9%?

記者了解到,整體服務的高可用性,不止故障轉移這一個點,它包括四個方面:事前的預防、事中的自動化故障轉移、事中的故障感知、事后的故障恢復。

何坤表示:“可用性背后是故障,我們預防故障的發生,在故障發生的時候及時做到故障轉移和故障的感知,并且在感知到故障之后能比較快速地恢復故障,恢復之后能做到復盤或者改進,就回到預防這一環,形成良性的循環。”

要想保證交易系統可用性不低于99.9%,何坤建議可以這樣做:

***,采用分布式部署,無狀態設計。采用服務無狀態設計,把必要的狀態保存在中央存儲中(MySQL/Redis等);所有調用必須帶trackid,以便定位問題,縮短故障恢復時間。

第二,可以專注于核心業務,降低關鍵路徑復雜性與負載,并適時拆分和合并功能模塊,降低模塊復雜度。

第三,對資源的使用進行限制,避免無效調用或者故障耗盡資源??刹捎萌蹟鄼C制,分服務SLA,獨立適配器,限制pending狀態等方式,從用戶和服務兩個方向來進行。

第四,消息系統的選擇需要能夠保證數據可持久化,支持訂閱和隊列兩種方式,具有高性能和高擴展性。

第五,做好監控與報警。所有服務上線之前必須有基本監控與報警,比如:基礎組件監控與報警、業務指標監控與報警、調用追蹤系統等。

第六,減少更新帶來的故障,因為大多數故障都是更新引起的。對此,可以采用灰度系統,基于用戶id分流,而不是隨機分流。無論gateway請求還是頁面請求,所有的請求都帶用戶id,因此可以基于這個特性在Nginx中寫Lua來識別用戶,讀取后端配置的灰度用戶列表,決定是進入灰度系統還是正式生產系統。接入灰度的可以是友好用戶,也可以是守護用戶。但是要注意做好守護用戶數據的隔離,不要污染生產數據的統計分析。

此外,何坤強調,為了保證系統的高可用,一方面,要做好功能實現的演練測試;另一方面,研發人員需要深入地切入到運維層面,因為開發出的產品并不是實現了所有功能就是完成了任務,還需要發現并解決產品運行過程中存在的問題,否則會出現脫節的情況。

***,何坤表示,在設計系統時,除了計量本身的邏輯之外,計量是和可用性是密切聯系在一起的。如果可用性不夠高,或者不能及時糾正運行過程中的錯誤,那么就會影響計量。比如:如果不能快速的恢復數據,那么準確性也無法保證。

【講師簡介】

[[212573]]

TalkingData資深Java工程師何坤

何坤主要負責Smart Data Market研發,主導開發了智能數據服務商城,為超過200家客戶以高SLA提供數百個在線數據服務。在基于微服務的高并發高可用Saas系統設計實現運營方面具有豐富經驗。之前曾任職于甲骨文,安捷倫科技等公司。敏捷開發和DevOps的踐行者。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

責任編輯:藍雨淚 來源: 51CTO.com
相關推薦

2024-12-06 11:58:16

2020-06-12 12:49:52

數據

2020-02-05 17:43:14

數據庫PostgreSQL Oracle

2015-04-02 15:42:50

TalkingData

2024-11-12 11:57:08

2012-10-19 13:59:53

IBMPureSystems數據服務器

2017-02-20 20:04:05

系統超輕量日志實現

2020-07-24 08:50:17

Redis數據庫

2017-09-13 13:42:09

微服務緩存架構

2018-08-21 16:07:00

數據

2016-09-08 23:47:17

大數據大數據服務

2024-11-01 10:37:31

2019-09-25 09:50:29

高可用微服務系統

2019-05-27 15:13:31

Redis服務高可用

2020-11-16 12:03:08

Java開發代碼

2010-03-10 10:05:26

Java

2019-05-22 09:31:01

MySQL架構高可用

2019-08-08 10:18:15

運維架構技術

2013-06-05 10:40:15

應用交付深信服AD

2021-05-21 14:19:45

數據服務API技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久国产一区二区三区 | 久99久视频 | 亚洲成人一区 | 精品国产伦一区二区三区观看体验 | 久久成人免费视频 | 色综合欧美 | 五月婷婷亚洲 | 麻豆国产精品777777在线 | 男女搞网站 | 97超在线视频 | 日韩伦理电影免费在线观看 | 免费视频久久 | 亚洲一区视频在线 | 天天摸天天看 | 玩丰满女领导对白露脸hd | 亚洲大片在线观看 | 精品久久久久久一区二区 | 韩国av影院 | 亚洲视频区 | 天天艹天天干天天 | 久久av一区二区三区 | 亚洲一区二区三区在线视频 | 91色在线| 天天澡天天狠天天天做 | 国产成年人小视频 | 免费在线h视频 | 亚洲国产日本 | 亚洲一区二区在线播放 | 中文在线亚洲 | 一区视频在线 | 久久久国产一区 | 日韩不卡视频在线观看 | 91精品国产一区二区三区动漫 | 亚洲国产精品一区 | 日日干天天操 | 91国内精品久久 | 成人免费网站 | 国产大片一区 | 天天干天天操天天看 | 精品91久久 | 国产精品久久久久aaaa樱花 |