分布式服务框架HSF学习
2016-08-08 13:59
162 查看
HSF提供的是分布式服务开发框架,taobao内部使用较多,总体来说其提供的功能及一些实现基础:
1.标准Service方式的RPC
1)、Service定义:基于OSGI的Service定义方式
2)、TCP/IP通信:
IO方式:nio,采用mina框架
连接方式:长连接
服务器端有限定大小的连接池
WebService方式
3)、序列化:Hessian序列化机制
2.软件负载体系
3.模块化、动态化
4.服务治理
这里简单介绍下其使用:
首先要将HSF功能加进工程,是maven的话,在pom.xml里要依赖HSF:
Xml代码
<dependency>
<groupId>com.taobao.hsf</groupId>
<artifactId>hsf.connector.spring</artifactId>
<version>xxx</version>
</dependency>
而对于服务框架肯定是有服务提供者和消费者两种角色,在提供者方要做的工作包括:
1. 将interface的代码打成Jar包,放进maven仓库中,供使用者下载使用,而具体代码实现则不需要放进jar包中,使用者只能调用,无法看见具体实现。
2.在对应的HSF的配置文件里,将提供的服务提供出来(基于spring的bean配置):
Xml代码
<bean id="xxxServiceImpl" class="xxx.xxxServiceImpl" />
<bean id="xxxServiceProvider" class="com.taobao.hsf.app.spring.util.HSFSpringProviderBean" init-method="init">
<property name="serviceInterface">
<value>xxx.xxxService</value>
</property>
<property name="target">
<ref bean="xxxServiceImpl" />
</property>
<property name="serviceName">
<value>xxxService</value>
</property>
<property name="serviceVersion">
<value>xxx</value>
</property>
<property name="serviceGroup">
<value>HSF</value>
</property>
</bean>
服务提供成功后,在HSF服务管理中心可以查看到这个HSF服务。
而在消费者方要做的工作:
Xml代码
<bean name="xxxService" class="com.taobao.hsf.app.spring.util.HSFSpringConsumerBean" init-method="init">
<property name="interfaceName" value="xxx.xxxService" />
<property name="version" value="xxx" />
</bean>
这样这个service就可以使用了。
HSF的缺点是其要使用指定的JBoss等容器,还需要在JBoss等容器中加入sar包扩展,对用户运行环境的侵入性大,如果你要运行在Weblogic或Websphere等其它容器上,需要自行扩展容器以兼容HSF的ClassLoader加载。 taobao有类似的其他框架Dubbo,介绍见
http://www.iteye.com/magazines/103
1.标准Service方式的RPC
1)、Service定义:基于OSGI的Service定义方式
2)、TCP/IP通信:
IO方式:nio,采用mina框架
连接方式:长连接
服务器端有限定大小的连接池
WebService方式
3)、序列化:Hessian序列化机制
2.软件负载体系
3.模块化、动态化
4.服务治理
这里简单介绍下其使用:
首先要将HSF功能加进工程,是maven的话,在pom.xml里要依赖HSF:
Xml代码
<dependency>
<groupId>com.taobao.hsf</groupId>
<artifactId>hsf.connector.spring</artifactId>
<version>xxx</version>
</dependency>
而对于服务框架肯定是有服务提供者和消费者两种角色,在提供者方要做的工作包括:
1. 将interface的代码打成Jar包,放进maven仓库中,供使用者下载使用,而具体代码实现则不需要放进jar包中,使用者只能调用,无法看见具体实现。
2.在对应的HSF的配置文件里,将提供的服务提供出来(基于spring的bean配置):
Xml代码
<bean id="xxxServiceImpl" class="xxx.xxxServiceImpl" />
<bean id="xxxServiceProvider" class="com.taobao.hsf.app.spring.util.HSFSpringProviderBean" init-method="init">
<property name="serviceInterface">
<value>xxx.xxxService</value>
</property>
<property name="target">
<ref bean="xxxServiceImpl" />
</property>
<property name="serviceName">
<value>xxxService</value>
</property>
<property name="serviceVersion">
<value>xxx</value>
</property>
<property name="serviceGroup">
<value>HSF</value>
</property>
</bean>
服务提供成功后,在HSF服务管理中心可以查看到这个HSF服务。
而在消费者方要做的工作:
Xml代码
<bean name="xxxService" class="com.taobao.hsf.app.spring.util.HSFSpringConsumerBean" init-method="init">
<property name="interfaceName" value="xxx.xxxService" />
<property name="version" value="xxx" />
</bean>
这样这个service就可以使用了。
HSF的缺点是其要使用指定的JBoss等容器,还需要在JBoss等容器中加入sar包扩展,对用户运行环境的侵入性大,如果你要运行在Weblogic或Websphere等其它容器上,需要自行扩展容器以兼容HSF的ClassLoader加载。 taobao有类似的其他框架Dubbo,介绍见
http://www.iteye.com/magazines/103
相关文章推荐
- 分布式服务框架HSF学习
- 分布式服务框架HSF学习 Dubbo VS HSF
- 分布式服务框架HSF学习
- 二、分布式服务框架Zookeeper学习笔记
- 分布式服务框架学习笔记1 应用架构演进
- 分布式服务框架-原理与实践:9---服务注册中心-学习笔记
- 式服务框架HSF学习
- 分布式服务框架-原理与实践:15---服务降级[展示API]-学习笔记
- 阿里巴巴分布式服务框架dubbo学习笔记
- 分布式服务框架学习笔记8 ActiveMQ入门使用
- 分布式服务框架-原理与实践:13---服务多版本-学习笔记
- 分布式服务框架-原理与实践:11---服务灰度发布-学习笔记
- 分布式服务框架学习笔记8 ActiveMQ入门2 发布/订阅模式
- 分布式服务框架学习笔记 01 - 软件架构发展史
- 分布式服务框架学习笔记3 序列化、反序列化与协议栈
- 分布式服务框架-原理与实践:15---服务降级-学习笔记
- 阿里巴巴分布式服务框架dubbo学习笔记
- 分布式服务框架学习笔记5 消息队列
- 分布式服务框架学习笔记6 Motan试用
- 分布式服务框架选型:面对Dubbo,阿里巴巴为什么选择了HSF?