您可以在CSB实例上根据不同后端服务类型,快速体验如何发布RESTful、Dubbo和HSF服务。本文介绍如何将在EDAS上部署的服务Demo发布到CSB。

前提条件

在体验发布服务前,您需要完成以下操作:

  • 了解CSB实例的基本概念并创建实例。

    CSB提供共享实例和专享实例两种类型:

    • 创建共享实例

      CSB在多个地域提供了共享实例,您可以您的实际业务需求选择使用。

      说明
      • 共享实例主要用于试用、体验,会限制单个用户发布的服务数量,并有严格的流量限制。
      • 如果您的后端服务不能从公网访问,例如部署在VPC内的ECS上,则还需要配置VPV安全组,才能通过共享实例访问。如何配置VPC安全组,详情请参见配置VPC网络安全组规则
    • 创建专享实例

      说明 专享实例会产生费用,详情请参见 组件服务价格。如果您仅仅想试用、体验,建议创建最小规格(一个节点)的实例。
  • 在EDAS部署服务Demo,详情请参见部署Spring Cloud应用至ECS集群
  • 在CSB创建服务组,详情请参见新建服务组

发布RESTful服务

将后端RESTful服务Demo(csbMocker.war)在CSB上发布成一个名为http2http1的RESTful API服务。

  1. 登录CSB控制台
  2. 在顶部菜单栏选择地域
  3. 在左侧导航栏单击实例列表
  4. 实例列表页面单击具体实例名称。
    注意 如果您使用共享实例,请参见 表 1使用CSB指定的共享实例,否则会导致发布失败。共享实例仅用于体验试用,不建议正式生产使用。
  5. 实例概览页面左侧导航栏选择发布者 > 发布服务
  6. CSB服务版本对话框中单击新版发布(推荐)
    说明 该对话框仅在第一次发布服务出现,您可以勾选 记住我的选择
    CSB 服务版本
  7. 路由服务发布页面的命名服务页签中设置参数,单击下一步
    路由服务发布-命名服务

    命名服务参数说明:

    • 服务全名:输入要发布的服务全名,如http2http1
    • 服务版本:输入服务版本,如1.0.0
    • 所属服务组:在下拉列表中选择已创建的服务组。
    • 业务日志:根据您的需要选择是否开启日志开关。

      开启日志开关后,会记录业务请求和响应的内容,您可在CSB Broker的/home/admin/cloud-gateway/logstrace.log内查看日志详情。

      不建议长时间开启日志开关,避免日志存储占用过多内存,从而影响性能。

  8. 接入协议页签中填写后端接入服务信息,然后单击下一步
    路由服务发布-接入协议

    接入协议参数说明:

    • 路由策略:保持默认,直接路由
    • 选择一个接入协议:保持默认,RESTful
    • 配置服务接入
      • 端点:输入csbMocker.war的RESTful服务地址,本示例中是基于VPC内ECS的IP地址,例如http://192.168.8.28:8080/jsontest.jsp
      • 方法:保持默认,POST
      • 请求格式:保持默认,JSON
      • 超时时间(ms):服务的超时时间,小于等于60000ms。如果服务需要使用熔断和降级时,需要配置。
    • 编辑入参:单击增加根节点,配置入参。

      按服务Demo,需要配置nametimessleepMSeconds三个入参。

      开放参数名 接入参数名 参数类型 扩展类型 可选
      name name java.lang.String 正常
      times times java.lang.Integer 正常
      sleepMSeconds sleepMSeconds java.lang.Integer 正常
  9. 开放协议页签选择在CSB上的服务开放类型RESTful,单击下一步
    路由服务发布-开放协议
  10. 限制访问页签设置访问限制,单击下一步
    • 每秒最大调用量:保持默认值0,代表不限制。
    • 公开访问:保持默认,打开。
    • 熔断设置:如果服务设置了超时时间,可以通过熔断设置保证调用方(CSB客户端)服务整体的可用性,详情请参见如何使用熔断和降级保证调用方服务的可用性
    路由服务发布-限制访问
  11. 发布服务页签确认设置无误后,单击完成发布,然后在弹出的确认对话框中单击确认
    在实例详情页面左侧导航栏选择 发布者 > 我的服务,在 我的服务可以看到刚发布的服务信息及状态。
    说明
    • 如果该实例的拥有者将服务发布审批设置为不需要审批,发布后状态激活
    • 如果该实例的拥有者将服务发布审批设置为一级审批二级审批,则发布后状态等待一次审批等待二次审批,需要实例拥有者审批后才能激活。

发布Dubbo服务

将后端Dubbo服务Demo(dubbo26-demo.jar)在CSB上发布成一个名为http2dubbo1的RESTful API服务。

  1. 登录CSB控制台
  2. 在顶部菜单栏选择地域
  3. 在左侧导航栏单击实例列表
  4. 实例列表页面单击具体实例名称。
    注意 如果您使用共享实例,请参见 表 1使用CSB指定的共享实例,否则会导致发布失败。共享实例仅用于体验试用,不建议正式生产使用。
  5. CSB服务版本对话框中单击新版发布(推荐)
    说明 该对话框仅在第一次发布服务出现,您可以勾选 记住我的选择
    CSB 服务版本
  6. 实例概览页面左侧导航栏选择发布者 > 发布服务
  7. 路由服务发布页面的命名服务页签中设置参数,单击下一步
    路由服务发布-命名服务

    命名服务参数说明:

    • 服务全名:输入要发布的服务全名,如http2dubbo1
    • 服务版本:输入服务版本,如1.0.0
    • 所属服务组:在下拉列表中选择已创建的服务组。
    • 业务日志:根据您的需要选择是否开启日志开关。

      开启日志开关后,会记录业务请求和响应的内容,您可在CSB Broker的/home/admin/cloud-gateway/logstrace.log内查看日志详情。

      不建议长时间开启日志开关,避免日志存储占用过多内存,从而影响性能。

  8. 接入协议页签中填写后端接入服务信息,然后单击下一步
    路由服务发布-接入协议-Dubbo

    接入协议参数说明:

    • 路由策略:保持默认,直接路由
    • 选择一个接入协议:选择DUBBO
    • 配置服务接入
      • 注册中心:填写格式为:edas?tenantId=<EDAS命名空间tenantId>EDAS命名空间tenantId可以从EDAS控制台的命名空间页面获取。
      • 接口全名名称:输入后端服务Demo dubbo26-demo.jar的接口全名名称,例如com.alibaba.dubbo.IHelloService
      • 方法名称:输入后端服务Demo dubbo26-demo.jar的方法地址,例如sayHello
      • 版本号:输入后端服务Demo dubbo26-demo.jar的版本号,例如1.0.0
      • 服务分组名称:Dubbo服务的分组默认为空,无需填写。
      • 调用协议:保持默认,Dubbo
      • 超时时间:输入1000
    • 编辑入参:单击增加根节点,配置入参。

      按服务Demo,需要配置str入参。

      开放参数名 接入参数名 参数类型 扩展类型 可选
      str str java.lang.String 正常
  9. 开放协议页签选择在CSB上的服务开放类型RESTful,单击下一步
    路由服务发布-开放协议
  10. 限制访问页签设置访问限制,单击下一步
    • 每秒最大调用量:保持默认值0,代表不限制。
    • 公开访问:保持默认,打开。
    • 熔断设置:如果服务设置了超时时间,可以通过熔断设置保证调用方(CSB客户端)服务整体的可用性,详情请参见如何使用熔断和降级保证调用方服务的可用性
    路由服务发布-限制访问
  11. 发布服务页签确认设置无误后,单击完成发布,然后在弹出的确认对话框中单击确认
    在实例详情页面左侧导航栏选择 发布者 > 我的服务,在 我的服务可以看到刚发布的服务信息及状态。
    说明
    • 如果该实例的拥有者将服务发布审批设置为不需要审批,发布后状态激活
    • 如果该实例的拥有者将服务发布审批设置为一级审批二级审批,则发布后状态等待一次审批等待二次审批,需要实例拥有者审批后才能激活。

发布HSF服务

将后端HSF服务Demo(csbMocker.war)在CSB上发布成一个名为http2hsf1 的RESTful API服务。

  1. 登录CSB控制台
  2. 在顶部菜单栏选择地域
  3. 在左侧导航栏单击实例列表
  4. 实例列表页面单击具体实例名称。
    注意 如果您使用共享实例,请参见 表 1使用CSB指定的共享实例,否则会导致发布失败。共享实例仅用于体验试用,不建议正式生产使用。
  5. CSB服务版本对话框中单击新版发布(推荐)
    说明 该对话框仅在第一次发布服务出现,您可以勾选 记住我的选择
    CSB 服务版本
  6. 实例概览页面左侧导航栏选择发布者 > 发布服务
  7. 路由服务发布页面的命名服务页签中设置参数,单击下一步
    路由服务发布-命名服务

    命名服务参数说明:

    • 服务全名:输入要发布的服务全名,如http2hsf1
    • 服务版本:输入服务版本,如1.0.0
    • 所属服务组:在下拉列表中选择已创建的服务组。
    • 业务日志:根据您的需要选择是否开启日志开关。

      开启日志开关后,会记录业务请求和响应的内容,您可在CSB Broker的/home/admin/cloud-gateway/logstrace.log内查看日志详情。

      不建议长时间开启日志开关,避免日志存储占用过多内存,从而影响性能。

  8. 接入协议页签中填写后端接入服务信息,然后单击下一步
    路由服务发布-接入协议-HSF

    接入协议参数说明:

    • 路由策略:保持默认,直接路由
    • 选择一个接入协议:选择HSF
      • 接口全名名称:输入后端服务Demo csbMocker.war的接口全名名称,例如com.alibaba.csb.api.TestService
      • 方法名称:输入后端服务Demo csbMocker.war的方法地址,例如echo
      • 版本号:输入后端服务Demo csbMocker.war的版本号,例如1.0.0
      • 服务分组名称:HSF服务的分组默认为空,无需填写。csbMocker.war Demo中可以输入hsfdemo-test
      • 超时时间:输入15000
      • EDAS命名空间TID:在下拉列表中选择当前地域下的命名空间,控制台将命名空间自动转换为TID。
    • 编辑入参:单击增加根节点,配置入参。

      按服务Demo,需要配置str入参。

      开放参数名 接入参数名 参数类型 扩展类型 可选
      str str java.lang.String 正常
  9. 开放协议页签选择在CSB上的服务开放类型RESTful,单击下一步
    路由服务发布-开放协议
  10. 限制访问页签设置访问限制,单击下一步
    • 每秒最大调用量:保持默认值0,代表不限制。
    • 公开访问:保持默认,打开。
    • 熔断设置:如果服务设置了超时时间,可以通过熔断设置保证调用方(CSB客户端)服务整体的可用性,详情请参见如何使用熔断和降级保证调用方服务的可用性
    路由服务发布-限制访问
  11. 发布服务页签确认设置无误后,单击完成发布,然后在弹出的确认对话框中单击确认
    在实例详情页面左侧导航栏选择 发布者 > 我的服务,在 我的服务可以看到刚发布的服务信息及状态。
    说明
    • 如果该实例的拥有者将服务发布审批设置为不需要审批,发布后状态激活
    • 如果该实例的拥有者将服务发布审批设置为一级审批二级审批,则发布后状态等待一次审批等待二次审批,需要实例拥有者审批后才能激活。