那曲檬骨新材料有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>數值算法/人工智能>

京東IM工具的架構演進

大小:0.3 MB 人氣: 2017-10-12 需要積分:1
咚咚是什么?咚咚之于京東相當于旺旺之于淘寶,它們都是服務于買家和賣家的溝通工具。 自從京東開始為第三方賣家提供入駐平臺服務后,咚咚也就隨之誕生了。我們首先看看它誕生之初是什么樣的。
  1.0 誕生(2010 - 2011)
  為了業務的快速上線,1.0 版本的技術架構實現是非常直接且簡單粗暴的。 如何簡單粗暴法?請看架構圖,如下。
  京東IM工具的架構演進
  圖 1 - 1.0 功能模塊交互圖
  1.0 的功能十分簡單,實現了一個 IM 的基本功能,接入、互通消息和狀態。 另外還有客服功能,就是顧客接入咨詢時的客服分配,按輪詢方式把顧客分配給在線的客服接待。 用開源 Mina 框架實現了 TCP 的長連接接入,用 Tomcat Comet 機制實現了 HTTP 的長輪詢服務。 而消息投遞的實現是一端發送的消息臨時存放在 Redis 中,另一端拉取的生產消費模型。
  這個模型的做法導致需要以一種高頻率的方式來輪詢 Redis 遍歷屬于自己連接的關聯會話消息。 這個模型很簡單,簡單包括多個層面的意思:理解起來簡單;開發起來簡單;部署起來也簡單。 只需要一個 Tomcat 應用依賴一個共享的 Redis,簡單的實現核心業務功能,并支持業務快速上線。
  但這個簡單的模型也有些嚴重的缺陷,主要是效率和擴展問題。 輪詢的頻率間隔大小基本決定了消息的延時,輪詢越快延時越低,但輪詢越快消耗也越高。 這個模型實際上是一個高功耗低效能的模型,因為不活躍的連接在那做高頻率的無意義輪詢。 高頻有多高呢,基本在 100 ms 以內,你不能讓輪詢太慢,比如超過 2 秒輪一次,人就會在聊天過程中感受到明顯的會話延遲。 隨著在線人數增加,輪詢的耗時也線性增長,因此這個模型導致了擴展能力和承載能力都不好,一定會隨著在線人數的增長碰到性能瓶頸。
  咚咚1.0 的時代背景正是京東技術平臺從 .NET 向 Java 轉型的年代,我也正是在這期間加入京東并參與了京東主站技術轉型架構升級的過程。 之后開始接手了京東咚咚,并持續完善這個產品,進行了三次技術架構演進。
  2.0 成長(2012)
  我們剛接手時 1.0 已在線上運行并支持京東 POP(開放平臺)業務,之后京東打算組建自營在線客服團隊并落地在成都。 不管是自營還是 POP 客服咨詢業務當時都起步不久,1.0 架構中的性能和效率缺陷問題還沒有達到引爆的業務量級。 而自營客服當時還處于起步階段,客服人數不足,服務能力不夠,顧客咨詢量遠遠超過客服的服務能力。 對于超出服務能力的顧客咨詢,當時我們的系統統一返回提示客服繁忙,請稍后咨詢。 這種狀況導致高峰期大量顧客無論怎么刷新請求,都很可能無法接入客服,體驗很差。 所以 2.0 重點放在了業務功能體驗的提升上,如下圖所示。
  京東IM工具的架構演進
  圖 2 - 2.0 功能模塊交互圖
  針對無法及時提供服務的顧客,可以排隊或者留言。 相比純文字溝通,提供了文件和圖片等更豐富的表達方式。 另外支持了客服轉接和快捷回復等方式來提升客服的接待效率。 總之,整個 2.0 就是圍繞提升客服效率和用戶體驗。 而我們擔心的效率問題在 2.0 高速發展業務的時期還沒有出現,但業務量正在逐漸積累,我們知道它快要爆了。 到 2012 年末,度過雙11后開始了 3.0 的一次重大架構升級。
  3.0 爆發(2013 - 2014)
  經歷了 2.0 時代一整年的業務高速發展,實際上代碼規模膨脹得很快。 與代碼一塊膨脹的還有團隊,從最初的 4 個人到近 30 人。 團隊大了后,一個系統多人開發,開發人員層次不一,規范難統一,系統模塊耦合重,改動溝通和依賴多,上線風險難以控制。 一個單獨 tomcat 應用多實例部署模型終于走到頭了,這個版本架構升級的主題就是服務化。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      24山向阴阳图| 百家乐赢法口诀| 新时代娱乐城开户| 百家乐庄闲赢负表| 百家乐官网桌现货| 球探比分 | 百家乐路单生| 百家乐怎样做弊| 百家乐官网娱乐送白菜| 榆林市| 太阳城88娱乐城| 百家乐注册彩金| 伯爵百家乐官网娱乐网| 亚洲博彩网| 大发888资讯网007| 线上百家乐平台| 属兔做生意门面房朝向| 百家乐官网澳门路规则算法| 华容县| 娱乐城开户送体验金| 功夫百家乐的玩法技巧和规则| 百家乐不能视频| 跨国际百家乐官网的玩法技巧和规则| 凯旋门百家乐官网娱乐城| 万盛区| 大发888 娱乐网| 大发888娱乐城真钱游戏| 百家乐下注法| 怎么看百家乐路单| 百家乐投注心态| 金银岛百家乐官网的玩法技巧和规则| 网上百家乐官网骗局| 百家乐官网视频软件下载| 百家乐官网免费路单| 长阳| 海伦市| 宜春市| 德兴市| 百家乐官网娱乐城7| 百家乐官网网址哪里有| 皇冠足球网址|