跨國際鏈路的資料服務系統架構設計的一種實現思路

2021-06-08 03:39:47 字數 852 閱讀 9591

1. 高效性:資料服務系統api嵌入到產品之後,不能對產品產生阻塞,如果因為這一點造成產品卡得不行,影響使用者體驗,那就和我們的初衷背道而馳了;

2. 穩定性:如果我們的資料中心宕機,對產品造成破壞性影響,那這就是個非常重要的隱患;

3. 易用性:api的介面必須簡潔,嵌入必須方便,這是出於控制擴充套件成本方面的考量;

出於以上幾個點的考量,一種非同步+快取的機制是最能滿足這樣的需求的。大體的實現思路是這樣的:

從整體架構上,分為三個角色:資料中心資料服務程序+idc資料服務程序+資料服務api;下面點一下這三個角色的作用(指提及核心的資料互動協議):

資料中心資料服務程序:負責從使用者標籤庫中提取相應使用者的標籤資料(可以使用kv資料庫,比如hbase,redis等),實現提取資料的非同步rpc方法;

idc資料服務程序:負責管理idc端的快取(儲存rpc方法,提取rpc方法),向資料中心資料服務程序詢問某使用者對應的標籤資料;

資料服務系統api:嵌入到產品中,負責通過rpc呼叫,從idc資料服務程序中取得某使用者相應的資料;

更具體的實現方法,可以見下圖:

這個架構,結合了我們整個資料體系之中的scribe日誌收集系統,用來收集反饋資料,一方面是用來反饋命中率資訊,另一方面反饋業務系統中相關的資料,最後做效果評估時使用。

這個系統在使用過程中,首先在使用者登入的時候做一次到資料中心非同步rpc呼叫,資料中心的服務會從hbase中獲取到使用者的相關資料,通過到idc資料服務程序的非同步rpc呼叫將資料更新到idc端的乙個memcache中,在這個資料過期之前,需要此使用者資料的時候,只需要從快取裡取出即可。

資料倉儲系統的技術體系架構設計

資料倉儲系統的技術體系架構設計 該資料倉儲系統的主要功能是從眾多外部系統中,採集相關的業務資料,集中儲存到系統的資料庫中。系統內部對所有的原始資料通過一系列處理轉換之後,儲存到資料倉儲的基礎庫中 然後,通過業務需要進行一系列的資料轉換到相應的資料集市,供其他上層資料應用元件進行專題分析。因此,從資料...

乙個小型的網頁抓取系統的架構設計

乙個小型的網頁抓取系統的架構設計 網頁抓取服務是網際網路中的常用服務,在搜尋引擎中spider 網頁抓取爬蟲 是必需的核心服務。搜尋引擎的衡量指標 多 快 準 新 四個指標中,多 快 新都是對spider的要求。搜尋引擎公司比如google baidu都維護者自己負責的spider系統。當然他們的系...

一種基於星型結構的系統架構設計

隨著企業發展,傳統的中心化,大平台的軟體系統設計越來越難以滿足現實要求。對於位於決策中心的集團總公司來說,制定管理規則,收集核心資料當然是it系統的主要功能。對於一線業務部門來說,他們也需要在總公司所制定規則基礎上相應的進行擴充套件以滿足其自身實際的需要。另外,無論是集團總公司還是一線業務部門,隨著...