开发者社区 问答 正文

怎么才能服务上线


完成了生产者和消费者开发并通过测试之后,先进行服务打包,然后需要将服务发布到线上。下面以当前 Demo 为例,简述线上发布的流程。
[backcolor=transparent]注意: EDAS RPC服务需要使用12200端口,因此请确保服务所在机器该端口可以被服务消费者访问。

发布服务


由于有两个应用(detail.war 和 itemcenter.war)要发布,所以至少需准备两台机器,且两台机器上均需要 安装 EDAS Agent,假设两台机器的名字分别为 (edas-detail和edas-itemcenter),部署应用的步骤为:


  1. 登录 EDAS 控制台,在左侧导航栏中选择 [backcolor=transparent]服务市场 > [backcolor=transparent]服务分组,在界面右上角点击 [backcolor=transparent]创建服务组。

  2. 在弹出的对话框中,填入要发布服务组别 (Spring 配置文件中标签<hsf:provider/> 中的 group 属性)。

  3. 选择左侧菜单栏的 [backcolor=transparent]应用管理,在页面右上角点击 [backcolor=transparent]创建应用。在弹出的界面中选择应用所在区域并填入正确的应用名后,单击 [backcolor=transparent]下一步。

  4. 在机器列表中选择相应的机器;在这里我们创建两个应用, app-detail 和 app-itemcenter,对应部署的机器分别为 edas-detail 和 edas-itemcenter。

  5. 创建好应用后,进入 [backcolor=transparent]应用管理,分别进入应用 app-detail 和 app-itemcenter。单击右上角的 [backcolor=transparent]部署应用,在弹出的对话框中,选择在 服务打包 中打好的 WAR 包上传并部署。

  6. 部署完毕后,单击页面右上角的 [backcolor=transparent]启动应用。
    应用在机器上启动完毕之后,在应用基本信息页面的 [backcolor=transparent]实例信息 区域,可以看到对应的机器状态,当机器的实时状态为[backcolor=transparent]正常 且任务状态为 [backcolor=transparent]运行中 时,说明应用在机器上已经启动成功。


查看发布的服务

  1. 两个应用均启动成功后,在 [backcolor=transparent]应用管理 界面选择应用 app-temcenter,进入应用。

  2. 在应用界面的左侧菜单栏中,选择 [backcolor=transparent]服务列表,然后再选择 [backcolor=transparent]发布的服务 选项卡,可以看到 Spring 配置文件中所定义的发布的服务:com.alibaba.edas.carshop.itemcenter.ItemService
    同上,选择 app-detail 进入应用,可以看到 Spring 配置文件中所定义的消费的服务:com.alibaba.edas.carshop.itemcenter.ItemService

  3. 进入机器 edas-detail,用 admin 身份进入到 AliTomcat 的 logs 目录下(假设路径为:/home/admin/taobao-tomcat/logs/)时,可以在 catalina.out 的输出中看到有如下的 log 信息: Item[id: 1, nam: Mercedes Benz] ,这正是从服务提供者 (app-itemcenter) 处返回的 Item 对象。

展开
收起
猫饭先生 2017-10-26 10:51:47 1772 分享 版权
阿里云 AI 助理回答

在完成生产者和消费者应用的开发及测试后,将服务发布到线上环境的流程可按以下步骤进行:

  1. 服务组与应用创建

    • 登录阿里云EDAS控制台。
    • 选择左侧导航栏中的“服务市场” > “服务分组”,点击右上角“创建服务组”,输入服务组别信息(需与Spring配置文件中<dubbo:application group="your_group_name">的group属性一致)。
    • 转至“应用管理”,点击右上角“创建应用”,选择应用所在区域并输入应用名称,然后点击“下一步”。
    • 在机器列表中选择或添加已安装EDAS Agent的目标机器。本例中,为两个应用(app-detail 和 app-itemcenter)分别准备了两台机器(edas-detail 和 edas-itemcenter)。
  2. 部署应用

    • 对于每个应用(app-detail 和 app-itemcenter),进入应用管理界面,点击右上角“部署应用”。
    • 上传之前打包好的WAR文件,并完成部署配置。
    • 部署完成后,启动应用。
  3. 验证应用状态

    • 在应用基本信息页面的“实例信息”区域,确认机器状态为“正常”,任务状态为“运行中”,表明应用已成功启动。
  4. 查看发布的服务

    • 在“应用管理”界面,分别进入app-temcenter和服务消费者的应用,通过“服务列表” > “发布的服务”选项卡,检查已发布的服务是否正确显示,如com.alibaba.edas.carshop.itemcenter.ItemService
  5. 日志验证

    • 登录服务消费者的ECS实例(例如edas-detail),以admin用户身份进入AliTomcat的日志目录(假设为/home/admin/taobao-tomcat/logs/),检查catalina.out日志文件,确认有预期的服务调用返回信息,如“Item[id: 1, nam: Mercedes Benz]”。

重要注意事项: - 确保所有目标ECS实例已安装并配置好EDAS Agent。 - 应用部署前,请确保服务所需端口(如HSF服务的12200端口)在安全组规则中开放,以便服务消费者能够访问。 - 在多应用部署场景下,合理规划应用与ECS实例的对应关系,确保资源有效利用和管理便利性。

通过以上步骤,您可以顺利完成Demo应用从开发到线上发布的全过程,确保服务正常运行并可被正确调用。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答