HSF

上一篇 / 下一篇  2011-10-31 20:42:56 / 个人分类:淘宝学习

HSF全称为High-Speed Service Framework,是一个提供远程调用的分布式服务框架。目前,淘宝几乎所有的Java服务都部署在基于HSF构筑的分布式集群环境中。可以说,淘宝几乎所有的Java应用都或多或少的与HSF有些关联,因此,在日常的开发工作中,HSF的使用是一种最基本的技能。

HSF从分布式应用的层面以及统一的发布/调用的层面为Java应用提供支持,它能够支持多种类型的服务发布/调用方式、数据序列化方式,基于HSF,我们可以将集中部署的应用很容易地转换为分布式应用,并以统一的方式在一个分布式环境中发布/调用服务。同时,HSF提供了许多日常开发工具以及服务查询平台,来方便开发人员的使用。

1、 HSF主要是使用HSFSpringProviderBeanHSFSpringConsumerBean两个Spring Bean工厂类完成了对服务的发布和调用。

提供方:

      <beanid="helloWorldServiceImpl"class="com.taobao.hsf.sample.service.HelloWorldServiceImpl"/>

 

      <beanid="helloWorldServiceProvider"class="com.taobao.hsf.app.spring.util.HSFSpringProviderBean"

             init-method="init">

             <propertyname="serviceInterface">

                    <value>com.taobao.hsf.sample.service.HelloWorldService</value>

             </property>

             <propertyname="target">

                    <refbean="helloWorldServiceImpl"/>

             </property>

             <propertyname="serviceVersion">

                    <value>1.0.0.daily</value>

             </property>

      </bean>

使用方:

<beanid="helloWorldService"class="com.taobao.hsf.app.spring.util.HSFSpringConsumerBean"

             init-method="init">

<propertyname="interfaceName">            <value>com.taobao.hsf.sample.service.HelloWorldService</value>

</property>

<propertyname="version">

<value>1.0.0.daily</value>

</property>

</bean>

2测试

HSFUNIT是目前推荐使用的HSF服务测试包,它提供了直接在JUNIT或类JUNIT测试场景中调用HSF服务。

1)、增加了target属性,显式地指定了要调用的服务目标地址

<beanid="helloWorldService"class="com.taobao.hsf.app.spring.util.HSFSpringConsumerBean"

             init-method="init">

             <propertyname="interfaceName">

                    <value>com.taobao.hsf.sample.service.HelloWorldService</value>

             </property>

             <propertyname="version">

                    <value>1.0.0.daily</value>

             </property>

             <propertyname="target">

                    <value>10.232.36.84:22200</value>

             </property>

      </bean>

2)、增加hsfunit依赖

<dependency>

          <groupId>com.taobao.hsf</groupId>

          <artifactId>hsfunit</artifactId>

          <version>1.0.2</version>

          <type>jar</type>

          <scope>test</scope>

      </dependency>


TAG:

 

评分:0

我来说两句

Open Toolbar