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

前提条件

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

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

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

    • 创建共享实例

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

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

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

接入RESTful协议发布RESTful服务

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

  1. 登录CSB控制台
  2. 在顶部菜单栏选择地域。
  3. 在左侧导航栏单击实例列表
  4. 实例列表页面单击具体实例名称。
    重要 如果您使用共享实例,请参见共享实例信息使用CSB指定的共享实例,否则会导致发布失败。共享实例仅用于体验试用,不建议正式生产使用。
  5. 实例概览页面左侧导航栏选择发布者 > 发布服务
  6. 服务关联角色(SLR)授权对话框,单击确认
    服务关联角色
    说明 执行此操作时,将会自动创建一个服务关联角色,以完成相应功能。更多内容,请参见服务关联角色
  7. 服务发布页面的命名服务页签中设置参数,单击下一步
    服务发布

    命名服务参数说明:

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

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

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

    • 客户VPC:如果选择VPC内服务,则需在VPC安全组里配置允许CSB地址访问接入服务端口的规则。
  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协议发布RESTful服务

将后端Dubbo服务Demo在CSB上发布成一个名为http2dubbo1的RESTful API服务。

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

    命名服务参数说明:

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

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

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

    • 服务别名:请输入服务别名。
    • 归属:服务归属组织名称、部门名称或提供商名称。
    • 说明:请输入服务说明,不得超过128个字符。
  8. 接入协议页签中填写后端接入服务信息,然后单击下一步
    路由服务发布-接入协议-Dubbo

    接入协议参数说明:

    • 路由策略:保持默认,直接路由
    • 选择一个接入协议:选择DUBBO
    • 配置服务接入
      • 注册中心类型:服务所注册的注册中心类型。根据实际情况选择NacosEDAS注册中心或者ZooKeeper
        说明 如果服务需要注册到Nacos注册中心,需要满足以下两个条件:
        • 注册中心目前仅支持1.1.3及以上版本。
        • 需要在Nacos注册中心白名单内添加CSB Broker地址,以便CSB Broker访问注册中心。
      • 注册中心地址:根据所选注册中心类型设置正确的地址。
        • Nacos:地址格式为Nacos注册中心地址:端口
        • EDAS注册中心:需要选择EDAS微服务空间TID,可以在EDAS控制台的命名空间页面查看。
        • ZooKeeper:地址格式为ZooKeeper注册中心地址:端口?backup=备注册中心地址:端口
      • 接口全名名称:输入后端服务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协议发布RESTful服务

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

  1. 登录CSB控制台
  2. 在顶部菜单栏选择地域。
  3. 在左侧导航栏单击实例列表
  4. 实例列表页面单击具体实例名称。
    重要 如果您使用共享实例,请参见共享实例信息使用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. 发布服务页签确认设置无误后,单击完成发布,然后在弹出的确认对话框中单击确认
    在实例详情页面左侧导航栏选择发布者 > 我的服务,在我的服务可以看到刚发布的服务信息及状态。
    说明
    • 如果该实例的拥有者将服务发布审批设置为不需要审批,发布后状态激活
    • 如果该实例的拥有者将服务发布审批设置为一级审批二级审批,则发布后状态等待一次审批等待二次审批,需要实例拥有者审批后才能激活。