阿里云 EDAS-HSF 用户指南
来源:互联网 发布:mac上软件无法卸载 编辑:程序博客网 时间:2024/05/12 11:42
阿里云 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 应用的运行环境。如图:
首先,应用运行在潘多拉(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。项目目录结构如图:
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 {@Overrideprotected 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 参数中。
阿里云 EDAS-HSF 用户指南
原文:http://www.mamicode.com/info-detail-1050546.html
- 阿里云 EDAS-HSF 用户指南
- 阿里云 EDAS-HSF 用户指南
- 阿里云 EDAS-HSF 环境搭建及例子编写
- 阿里云 EDAS-HSF 环境搭建及例子编写
- 阿里云之企业及分布式应用EDAS使用操作
- 进入阿里必备知识-第二步-HSF学习
- HSF学习
- hsf入门
- EDAS字体嵌入
- EDAS开发入门
- edas 论文上传
- EDAS系统投稿
- EDAS入门学习
- 陪你云sdk用户指南
- HSF 入门-发布和调用hsf服务
- 淘宝(taobao)HSF框架
- 淘宝(taobao)HSF框架
- grinder 测试HSF 协议
- QT_mingw+opencv3.0+摄像头视频显示工程代码与库
- 一个EasyUI前端框架的实际案例(干货,可下载源码哦)
- word中尾注分隔符删除后还有一个回车符怎么删
- 三次握手和四次挥手
- 基础知识(偏一点的)
- 阿里云 EDAS-HSF 用户指南
- TCP/IP协议的理解
- java迭代中的并发修改错误
- 第一天?
- 4.25
- 拖动元素放置例子
- IDEA web开发修改jsp无需重新部署解决办法
- myeclipse+pydev+scrapy 开发调试配置
- Tomcat配置成window系统服务