WisDom.Net 框架設計--服務總線
1.Soa 簡介
soa 就是面向服務的體系結構 是一個組件模型,不同的組件之間通過定義良好的接口聯系起來。就像蓋房子一塊磚頭一塊磚頭的砌牆,一片一片的加瓦。SOA架構的思想就主張不要再一塊磚一片瓦的干,一面牆一個屋頂一根梁等等都是人家做好的,拿過來自己搭起來就把房子蓋好了,需要每家的房子要求不一樣再自己改,牆上開個窗,屋頂搞個煙囪都隨你自己搞,自己搞的這部分就是需要你自己做造型砌磚的地方。好處就是開發效率高,系統穩定,實施維護便捷,不管是開發還是維護成本都低廉
2.什么是服務總線
企業服務總線(ESB)是分布式的、基於消息的集成解決方案,遵循開放的標准。ESB的角色是在各種IT資源——比如企業中分布於不同的系統上的應用系統、平台和服務之間——更容易的建立可靠的通訊。當IT部門越來越關注構建SOA來降低開發成本並提升業務敏捷時,ESB就成為了建立企業SOA關鍵的第一步
3.WisDom.net.SevrInfo的設計思考
按照服務總線的定義在 WisDom.net.SevrInfo 中需要提供 這么幾個功能 1.維護各個服務之間的心跳機制 2.提取各個服務的地址。進行相關接口的調用類似於注冊服務的的功能 各個服務用wcf來進行通信
[ServiceContract] public interface IRegSeverice { /// <summary> /// 服務上線 /// </summary> /// <param name="ServerName"></param> [OperationContract] void ServerLogin(string ServerName, string ServerAddress); /// <summary> /// 服務心跳更新 /// </summary> /// <param name="ServerName"></param> [OperationContract] void ServerUpdate(string ServerName); /// <summary> /// 服務離線 /// </summary> /// <param name="ServerName"></param> [OperationContract] void ServerLeave(string ServerName); /// <summary> /// 訂閱服務 /// </summary> /// <param name="Servername">服務名稱</param> /// <param name="SubscriptionName">要訂閱的服務名稱</param> /// <returns></returns> [OperationContract] Dictionary<string,string> SubscriptionServer(string Servername, List<string> SubscriptionName); }