服務化架構設計實現(重造輪子,借事修人)

來源:互聯網
上載者:User

最近一段時間沒有工作,為此也有大把的時間,可以做一些平時沒有時間做的事情,借事情來重建自己的知識體系,查漏補缺。

決定要利用這一段時間來實現一個服務化架構,實現得七七八八的時候再在github上開源。

(一)服務化架構特徵

1、支援無狀態、多版本

2、支援熱部署、自發現、fail over(自動發布服務、自動探索服務、自動失敗轉移)

3、支援路徑跟蹤(統一的調用跟蹤資訊,可還原)

4、支援可配置的負載平衡(採用預設負載平衡、可配置的負載平衡機制)

5、序列化協議可配置(預設、Java、Hessian、Google protocal buffer、thrift等幾種)

6、網路架構可置換(自實現一個類似Hadoop IO架構、Mina等)

7、Spring配置支援(強限制)

8、服務可管理(調用支援配額制、支援自動降級、服務依賴跟蹤)

(二)準系統(V0.1)

1、定義完整的訊息格式

2、序列化支援Hessian

3、支援自實現的類似Hadoop I/O架構

4、支援無狀態、多版本

(三)設計概要

(1)遠程請求訊息格式

中繼資料版本號碼(版本號碼變化可以支援不同的中繼資料格式)

請求中繼資料位元組長度

請求參數位元組長度

請求中繼資料定義:

介面名稱(服務提供者的介面名稱)

方法名(服務提供者的方法名稱)

版本號碼(同一方法支援多版本,不同邏輯)

協議名(參數序列化協議名稱,比如hessian)

父事物標識(調用來源,可以串起首發請求以及依賴的請求調用)

來源APP、來源IP(待定,支援流控與降級)

要求方法參數定義:

方法請求參數列表

(2)rpc概要

服務端支援NIO

用戶端使用阻塞方式,用戶端與服務端之間採用長串連

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.