HSF的發布以及調用
HSF是一個分散式的遠程服務調用框架,他是附屬在你的應用里的一個組件,一個RPC組件(遠程過程調用——Remote Procedure Call,是一種通過網路從遠程計算機程序上請求服務,而不需要了解底層網路技術的協議。在OSI網路通信模型中,RPC跨越了傳輸層和應用層。RPC使得開發分散式應用更加容易),當然HSF完全的內容肯定不止這些。 HSF(High-speed Service Framework),高速服務框架,是阿里系主要採用的服務框架,其目的是作為橋樑聯通不同的業務系統,解耦系統之間的實現依賴。其高速體現在底層的非阻塞I/O以及優秀的序列化機制上,實現了同步和非同步調用方式,並且有一套軟負載體系,實現分散式應用。
廢話的原理已經說完了接下來我們來發布一個功能。首先我們需要引入jar包。我們使用maven進行jar包引入。
<dependency>
<groupId>com.taobao</groupId>
<artifactId>hsf-notify-client</artifactId>
<version>1.8.15</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</dependency>
<dependency>
<groupId>com.taobao.hsf</groupId>
<artifactId>hsf.app.spring</artifactId>
<scope>provided</scope>
</dependency>
接下來我們使用spring容器注入bean
<bean id="serverDataRepairService" class="實現類"/>
<bean class="com.taobao.hsf.app.spring.util.HSFSpringProviderBean" init-method="init">
<property name="serviceName" value="ServerDataRepairService"/>
<property name="serviceInterface" value="定義發布的介面類"/>
<property name="serviceVersion" value="${版本信息}"/>
<property name="serviceGroup" value="${分組信息}"/>
<property name="target" ref="serverDataRepairService"/>
<property name="clientTimeout" value="${超時時間}"/>
</bean>
然後對應的再實現類中編寫代碼。
如何調用發布的hsf介面呢?
bean id="ServerDataRepairService" class="定義發布的介面類">
<property name="appName" value="${應用名}"/>
<property name="account" value="${註冊賬號}"/>
<property name="accessKey" value="${秘鑰}"/>
<property name="hsfVersion" value="${版本信息}"/>
然後就可以insert對應的jar使用@Autowire進行引用注入。
推薦閱讀:
※Hadoop計算框架之MapReduce
※利用DB實現分散式鎖的思路
※集群資源調度系統設計架構總結
※FastDFS分散式文件系統安裝與使用
※閱讀筆記:Scaling Memcache at Facebook
TAG:分散式系統 |