Java学习笔记29:淘宝HSF使用总结
在spring mvc 的项目开发中,由于各个系统之间需要进行数据的传递,因此,一些公司都是通过基于服务的接口方式提供数据,在淘宝,是通过hsf服务的方式开放自己应用的接口,达到数据在各个应用间的流动和互用。同时也达到了分布式开发的目的。这样的好处是显而易见的,通过HSF,我们可以将业务进行拆分,例如可以拆分为订单团队,账号团队,商品团队。而这些团队之间本身的业务会有一些依赖,这些依赖就能通过HSF来解决。
如何运行:
运行HSF项目,需要下载带有HSF 包的web容器 jetty。
HSF组成:
hsf由提供者和消费者组成。
消费者:使用接口的一方。例如我是订单团队的开发者,我在开发下单流程中,需要使用用户的账号,这个时候,我就可以通过配置好的HSF 直接调用账号团队的API。
提供者:提供接口的一方。例如是账号团队,提供给订单团队API使用。账号团队首先会提供一个interface的jar包供订单团队下载查看提供的接口,账号团队通过hsf就可以调用这些接口,而账号团队对外提供的只是interface,而具体实现还在自己这边。
提供者:
假如我要提供一个hello的服务给外部团队使用,使用HSF必须在Service层需要有interface和具体实现。具体代码如下:
HelloWorldService.java
package com.yunos.account.biz.service;
public interface HelloWorldService {
public String get();
}
HelloWorldServiceImp.java
package com.yunos.account.biz.service.impl;
import com.yunos.account.biz.service.HelloWorldService;
public class HelloWorldServiceImpl implements HelloWorldService {
@Override
public String get() {
return "Hello World";
}
}