完成了生产者和消费者开发并通过测试之后,先进行服务打包,然后需要将服务发布到线上。下面以当前 Demo 为例,简述线上发布的流程。
[backcolor=transparent]注意: EDAS RPC服务需要使用12200端口,因此请确保服务所在机器该端口可以被服务消费者访问。
发布服务
由于有两个应用(detail.war 和 itemcenter.war)要发布,所以至少需准备两台机器,且两台机器上均需要
安装 EDAS Agent,假设两台机器的名字分别为 (edas-detail和edas-itemcenter),部署应用的步骤为:
登录 EDAS 控制台,在左侧导航栏中选择 [backcolor=transparent]服务市场 > [backcolor=transparent]服务分组,在界面右上角点击 [backcolor=transparent]创建服务组。
在弹出的对话框中,填入要发布服务组别 (Spring 配置文件中标签<hsf:provider/> 中的 group 属性)。
选择左侧菜单栏的 [backcolor=transparent]应用管理,在页面右上角点击 [backcolor=transparent]创建应用。在弹出的界面中选择应用所在区域并填入正确的应用名后,单击 [backcolor=transparent]下一步。
在机器列表中选择相应的机器;在这里我们创建两个应用, app-detail 和 app-itemcenter,对应部署的机器分别为 edas-detail 和 edas-itemcenter。
创建好应用后,进入 [backcolor=transparent]应用管理,分别进入应用 app-detail 和 app-itemcenter。单击右上角的 [backcolor=transparent]部署应用,在弹出的对话框中,选择在 服务打包 中打好的 WAR 包上传并部署。
部署完毕后,单击页面右上角的 [backcolor=transparent]启动应用。
应用在机器上启动完毕之后,在应用基本信息页面的 [backcolor=transparent]实例信息 区域,可以看到对应的机器状态,当机器的实时状态为[backcolor=transparent]正常 且任务状态为 [backcolor=transparent]运行中 时,说明应用在机器上已经启动成功。
查看发布的服务
- 两个应用均启动成功后,在 [backcolor=transparent]应用管理 界面选择应用 app-temcenter,进入应用。
在应用界面的左侧菜单栏中,选择 [backcolor=transparent]服务列表,然后再选择 [backcolor=transparent]发布的服务 选项卡,可以看到 Spring 配置文件中所定义的发布的服务:com.alibaba.edas.carshop.itemcenter.ItemService
同上,选择 app-detail 进入应用,可以看到 Spring 配置文件中所定义的消费的服务:com.alibaba.edas.carshop.itemcenter.ItemService
进入机器 edas-detail,用 admin 身份进入到 AliTomcat 的 logs 目录下(假设路径为:/home/admin/taobao-tomcat/logs/)时,可以在 catalina.out 的输出中看到有如下的 log 信息: Item[id: 1, nam: Mercedes Benz] ,这正是从服务提供者 (app-itemcenter) 处返回的 Item 对象。