遊戲技術團隊 vivo網際網路技術 2021-03-03
使用者中心是網際網路最為基礎的核心系統,隨著業務和使用者的增長,勢必會帶來不斷的挑戰。如何在億級的情況下保證系統的高可用,高效能以及高安全,本文能夠給你一套實踐方案。
注1:本文討論的是微服務框架下的使用者中心,不涉及授權等功能;
注2:本文所涉及的使用者中心設計與vivo自身業務無關。
」使用者中心,顧名思義就是管理使用者的地方,幾乎是所有網際網路公司最為核心的子系統之一。它的核心功能是登入與註冊,主要功能是修改密碼、換綁手機號碼、獲取使用者資訊、修改使用者資訊和一些延伸服務,同時還有登入之後生成token以及校驗token的功能。下面我們從幾個維度來拆解使用者中心。
一、服務架構
使用者中心既需要為使用者提供服務,也會承擔其他業務的頻繁呼叫;既然需要為使用者提供服務,它就會自帶一些業務邏輯,比如使用者在登入過程中需要風控或簡訊的校驗,那麼就會存在不可用的風險。而比如獲取使用者資訊的介面,則沒有那麼多的依賴,可能只需要呼叫資料庫或者快取就可以。獲取使用者資訊介面要求穩定,而核心的登入註冊介面也需要穩定,但是當我們在介面層面加一些策略或者修改的時候,不希望因為上線問題導致整個服務不可用,而且上線後,需要對整個服務功能做全量的回歸,導致資源嚴重浪費。
因此,基於業務特性,我們可以將使用者中心拆成3個獨立的微服務: 閘道器服務,核心服務,非同步消費者服務。閘道器服務,提供http服務,聚合了各種業務邏輯和服務呼叫,比如登入時候需要校驗的風控或者簡訊;核心服務,處理簡單的業務邏輯以及資料儲存,核心服務處在呼叫鏈路的終端,幾乎不依賴呼叫其他服務,比如校驗token或者獲取使用者資訊,他們就只依賴於redis或者資料庫;而非同步消費者服務,則處理並消費非同步訊息。下文會詳細介紹。
使用者為中心的產品設計
使用者中心設計的概念 簡單的說,在進行產品設計時從使用者的需求和使用者的感受出發,圍繞使用者為中心設計產品,而不是讓使用者去適應產品,無論產品的使用流程 產品的資訊架構 人機互動方式等,都需要考慮使用者的使用習慣 預期的互動方式 視覺感受等方面。衡量乙個好的以使用者為中心的產品設計,可以有以下幾個緯...
以使用者為中心的體驗設計
1 使用者體驗五個層面 表現層完成其他層面的所有目標並滿足使用者的感官感受。內容 1 感知設計 框架層用於優化設計布局,以達到這些元素的最大效果和效率。內容 1 介面設計 2 導航設計 3 資訊設計 結構層為 建立乙個概念結構。內容 1 互動設計 2 資訊架構 從上到下 從下到上 結構方法 1 層級...
UCD 以使用者為中心的設計
ucd即user centered design的簡稱,中文叫 以使用者為中心的設計 基本思想 就是將使用者時時刻刻擺在所有過程的首位。簡單的說,在進行產品設計時從使用者的需求和使用者的感受出發,圍繞使用者為中心設計產品,而不是讓使用者去適應產品,無論產品的使用流程 產品的資訊架構 人機互動方 式等...