阿里云 EDAS-HSF 用户指南

针对 EDAS v2.3.0
©Alibaba EDAS 项目组
2015/8/19

1 前言
本文档旨在描述阿里云 EDAS 产品中应用服务化模块的基本概念,以及如何使用。

2 产品背景

HSF(High Speed Framework)是一个高可用、高性能、分布式的服务框架。HSF 可以被看作是人体的血管,
帮助应用轻松实现服务化解耦,是阿里内部各个系统通信的基础软件。

3 专业术语
  Agent
安装于用于 ECS,负责 EDAS 控制台与用户 ECS 之间的通信,以此来实现对应用的管理。
  HSF
EDAS 产品中分布式服务化子模块的名字,是一个高性能的服务化框架,全称 High Speed FrameWork。

4 HSF 安装

先了解下 HSF 应用的运行环境。如图:

aaarticlea/png;base64,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" alt="" />

首先,应用运行在潘多拉(Pandora)容器中,容器又通过 Ali-Tomcat 启动。

重要说明: 本地开发,才需要 4.1,4.2,4.3 的步骤.如果已经开发好,则只需要将应用发布到 EDAS 平台上,EDAS 平台
会自动初始化容器环境.

4.1 Tomcat 安装

下载并解压 Tomcat 即可(不可以下载其它 tomcat 包),我们做了定制
下载地址:  http://edas-public.oss-cn-hangzhou.aliyuncs.com/install_package/tomcat/taobao-tomcat-dev.gz

4.2 Pandora 安装

下载并解压 Pandora 到 Ali-Tomcat 的 deploy 目录即可。
下载地址:  http://edas-public.oss-cn-hangzhou.aliyuncs.com/install_package/pandora/unauth/taobao-hsf.tgz

4.3 环境配置

1.  绑定 jmenv.tbsite.net 域名到对应的地址服务器(没有域名解析的情况下)
在默认情况下,我们在公网有一个测试环境,您可以在本机绑定地址:
182.92.100.65 jmenv.tbsite.net
如果在您的本地安装有地址服务器环境,请绑定本地的地址
2. 可以安装 EdasStudio 开发插件,这样可以在 eclipse 中直接调试程序无需额外的打包
到此,HSF 的运行环境就安装完毕。

参考 EDAS-Studio(开发套件)用户使用指南

5 提供 HSF 服务

5.1 创建 Web 项目

以 eclipse 为例创建一个 maven web 项目。 File -> New -> Project -> Maven Project -> maven-archetype-webapp ->
输入 groupId、artifactId 连续 Next。项目目录结构如图:

aaarticlea/png;base64,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" alt="" />

5.2 添加 Maven 依赖

在项目 pom.xml 中添加如下依赖:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>

5.3 编写需要发布的服务

创建需要发布的服务接口,com.taobao.edas.test.SampleService

SampleService 服务提供了一个 echo 的方法调用。编写实现类:com.taobao.edas.test.impl.SampleServiceImpl

public interface SampleService {
String echo(String str);
}
public class SampleServiceImpl implements SampleService {
@Override public String echo(String str) {
return str;
}
}

5.4 配置 Spring

在 web.xml 中配置 spring 的监听器:

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

在 resources 目录下面添加 spring 配置文件:config/applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 3.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<import resource="classpath:config/providers-spring.xml"/>
</beans>

这里配置文件中包含了发布者的配置文件:config/providers-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 3.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="target" class="com.taobao.edas.test.impl.SampleServiceImpl"/>
<beanid="sampleServiceProvider"
class="com.taobao.hsf.app.spring.util.HSFSpringProviderBean" init-method="init">
<property name="serviceInterface" value="com.taobao.edas.test.SampleService"/>
<property name="serviceVersion" value="1.0.0"/>
<property name="serviceGroup" value="HSF"/>
<property name="target" ref="target"/>
</bean>
</beans>

到此发布者就编写好了,运行 Maven 打包,生成项目 war 包。部署到 ali-tomcat 的 deploy 目录下。运行
ali-tomcat/bin/startup.bat,就可以在 hsf 服务治理上查询到发布的服务了。

6 消费 HSF 服务

6.1 配置 Spring

在配置文件 config/applicationContext.xml 添加消费者配置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 3.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<import resource="classpath:config/providers-spring.xml"/>
<import resource="classpath:config/consumers-spring.xml"/>
</beans>

consumers-spring.xml 配置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 3.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="sampleService" class=
"com.taobao.hsf.app.spring.util.HSFSpringConsumerBean" init-method="init">
<property name="interfaceName" value="com.taobao.edas.test.SampleService"/>
<property name="version" value="1.0.0"/>
<property name="group" value="HSF"/>
</bean>
</beans>

6.2 编写测试代码

已经完成了消费者的定义,下面创建 servlet 来调用测试代码进行测试:com.taobao.edas.test. HsfServlet

public class HsfServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(
req.getServletContext());
SampleService sampleService = (SampleService) ctx.getBean("sampleService");
resp.getWriter().println(Long.toString(System.currentTimeMillis()));
}
}

在 web.xml 中添加

<servlet>
<servlet-name>hsf</servlet-name>
<servlet-class>com.taobao.edas.test.HsfServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hsf</servlet-name>
<url-pattern>/hsf.htm</url-pattern>
</servlet-mapping>

6.3 打包测试

Maven 打包,部署,启动 ali-tomcat,打开浏览器访问:localhost:8080/hsf.htm 。
注意:这里虽然消费成功,但是默认没有走远程调用。就是说,如果相同的 jvm 中提供了服务,默认是不会
走网络远程调用了。就是说,即使其他机器提供了相同的服务也永远不会调用。
编辑 ali-tomcat/bin/catalina.bat 添加如下参数:
set JAVA_OPTS=%JAVA_OPTS% -Dhsf.client.localcall=false
这个参数禁用掉了本机优先调用策略。
如果这里是使用 Ali-tomcat 插件,直接用插件运行,无需打包。并且,-Dhsf.client.localcall=false
把这个参数在 eclipse 中加到 JVM 参数中。

05-08 15:03