您可以在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服务。
- 登录CSB控制台。
- 在顶部菜单栏选择地域。
- 在左侧导航栏单击实例列表。
- 在实例列表页面单击具体实例名称。重要 如果您使用共享实例,请参见共享实例信息使用CSB指定的共享实例,否则会导致发布失败。共享实例仅用于体验试用,不建议正式生产使用。
- 在实例概览页面左侧导航栏选择 。
- 在服务关联角色(SLR)授权对话框,单击确认。说明 执行此操作时,将会自动创建一个服务关联角色,以完成相应功能。更多内容,请参见服务关联角色
- 在服务发布页面的命名服务页签中设置参数,单击下一步。
命名服务参数说明:
- 服务全名:输入要发布的服务全名,如http2http1。
- 服务版本:输入服务版本,如1.0.0。
- 所属服务组:在下拉列表中选择已创建的服务组。
- 业务日志:根据您的需要选择是否开启日志开关。
开启日志开关后,会记录业务请求和响应的内容,您可在CSB Broker的/home/admin/cloud-gateway/logs的trace.log内查看日志详情。
不建议长时间开启日志开关,避免日志存储占用过多内存,从而影响性能。
- 客户VPC:如果选择VPC内服务,则需在VPC安全组里配置允许CSB地址访问接入服务端口的规则。
- 在接入协议页签中填写后端接入服务信息,然后单击下一步。
接入协议参数说明:
- 路由策略:保持默认,直接路由。
- 选择一个接入协议:保持默认,RESTful。
- 配置接入服务
- 端点:输入csbMocker.war的RESTful服务地址,本示例中是基于VPC内ECS的IP地址,例如http://192.168.8.28:8080/jsontest.jsp。
- 方法:保持默认,POST。
- 请求格式:保持默认,JSON。
- 超时时间(ms):服务的超时时间,小于等于60000ms。如果服务需要使用熔断和降级时,需要配置。
- 编辑入参:单击增加根节点,配置入参。
按服务Demo,需要配置name、times和sleepMSeconds三个入参。
开放参数名 接入参数名 参数类型 扩展类型 可选 name name java.lang.String 正常 否 times times java.lang.Integer 正常 否 sleepMSeconds sleepMSeconds java.lang.Integer 正常 是
- 在开放协议页签选择在CSB上的服务开放类型为RESTful,单击下一步。
- 在限制访问页签设置访问限制,单击下一步。
- 每秒最大调用量:保持默认值0,代表不限制。
- 公开访问:打开。
- 熔断设置:如果服务设置了超时时间,可以通过熔断设置保证调用方(CSB客户端)服务整体的可用性。具体操作,请参见如何使用熔断和降级保证调用方服务的可用性。
- 在发布服务页签确认设置无误后,单击完成发布,然后在弹出的确认对话框中单击确认。在实例详情页面左侧导航栏选择我的服务可以看到刚发布的服务信息及状态。,在说明
- 如果该实例的拥有者将服务发布审批设置为不需要审批,发布后状态为激活。
- 如果该实例的拥有者将服务发布审批设置为一级审批或二级审批,则发布后状态为等待一次审批或等待二次审批,需要实例拥有者审批后才能激活。
接入Dubbo协议发布RESTful服务
将后端Dubbo服务Demo在CSB上发布成一个名为http2dubbo1的RESTful API服务。
- 登录CSB控制台。
- 在顶部菜单栏选择地域。
- 在左侧导航栏单击实例列表。
- 在实例列表页面单击具体实例名称。重要 如果您使用共享实例,请参见共享实例信息使用CSB指定的共享实例,否则会导致发布失败。共享实例仅用于体验试用,不建议正式生产使用。
- 在CSB服务版本对话框中单击新版发布(推荐)。说明 该对话框仅在第一次发布服务出现,您可以选中记住我的选择。
- 在实例概览页面左侧导航栏选择 。
- 在路由服务发布页面的命名服务页签中设置参数,单击下一步。
命名服务参数说明:
- 服务全名:输入要发布的服务全名,如http2dubbo1。
- 服务版本:输入服务版本,如1.0.0。
- 所属服务组:在下拉列表中选择已创建的服务组。
- 业务日志:根据您的需要选择是否开启日志开关。
开启日志开关后,会记录业务请求和响应的内容,您可在CSB Broker的/home/admin/cloud-gateway/logs的trace.log内查看日志详情。
不建议长时间开启日志开关,避免日志存储占用过多内存,从而影响性能。
- 服务别名:请输入服务别名。
- 归属:服务归属组织名称、部门名称或提供商名称。
- 说明:请输入服务说明,不得超过128个字符。
- 在接入协议页签中填写后端接入服务信息,然后单击下一步。
接入协议参数说明:
- 路由策略:保持默认,直接路由。
- 选择一个接入协议:选择DUBBO。
- 配置服务接入
- 注册中心类型:服务所注册的注册中心类型。根据实际情况选择Nacos、EDAS注册中心或者ZooKeeper。说明 如果服务需要注册到Nacos注册中心,需要满足以下两个条件:
- 注册中心目前仅支持1.1.3及以上版本。
- 需要在Nacos注册中心白名单内添加CSB Broker地址,以便CSB Broker访问注册中心。
- 注册中心地址:根据所选注册中心类型设置正确的地址。
- Nacos:地址格式为
Nacos注册中心地址:端口
。 - EDAS注册中心:需要选择EDAS微服务空间TID,可以在EDAS控制台的命名空间页面查看。
- ZooKeeper:地址格式为
ZooKeeper注册中心地址:端口?backup=备注册中心地址:端口
。
- Nacos:地址格式为
- 接口全名名称:输入后端服务Demo dubbo26-demo.jar的接口全名名称,例如com.alibaba.dubbo.IHelloService。
- 方法名称:输入后端服务Demo dubbo26-demo.jar的方法地址,例如sayHello。
- 版本号:输入后端服务Demo dubbo26-demo.jar的版本号,例如1.0.0
- 服务分组名称:Dubbo服务的分组默认为空,无需填写。
- 调用协议:保持默认,Dubbo。
- 超时时间:服务超时时间,输入1000。
- 注册中心类型:服务所注册的注册中心类型。根据实际情况选择Nacos、EDAS注册中心或者ZooKeeper。
- 编辑入参:单击增加根节点,配置入参。
按服务Demo,需要配置str入参。
开放参数名 接入参数名 参数类型 扩展类型 可选 str str java.lang.String 正常 否
- 在开放协议页签选择在CSB上的服务开放类型为RESTful,单击下一步。
- 在限制访问页签设置访问限制,单击下一步。
- 每秒最大调用量:保持默认值0,代表不限制。
- 公开访问:打开。
- 熔断设置:如果服务设置了超时时间,可以通过熔断设置保证调用方(CSB客户端)服务整体的可用性。具体操作,请参见如何使用熔断和降级保证调用方服务的可用性。
- 在发布服务页签确认设置无误后,单击完成发布,然后在弹出的确认对话框中单击确认。在实例详情页面左侧导航栏选择我的服务可以看到刚发布的服务信息及状态。,在说明
- 如果该实例的拥有者将服务发布审批设置为不需要审批,发布后状态为激活。
- 如果该实例的拥有者将服务发布审批设置为一级审批或二级审批,则发布后状态为等待一次审批或等待二次审批,需要实例拥有者审批后才能激活。
接入HSF协议发布RESTful服务
将后端HSF服务Demo在CSB上发布成一个名为http2hsf1 的RESTful API服务。
- 登录CSB控制台。
- 在顶部菜单栏选择地域。
- 在左侧导航栏单击实例列表。
- 在实例列表页面单击具体实例名称。重要 如果您使用共享实例,请参见共享实例信息使用CSB指定的共享实例,否则会导致发布失败。共享实例仅用于体验试用,不建议正式生产使用。
- 在CSB服务版本对话框中单击新版发布(推荐)。说明 该对话框仅在第一次发布服务出现,您可以选中记住我的选择。
- 在实例概览页面左侧导航栏选择 。
- 在路由服务发布页面的命名服务页签中设置参数,单击下一步。
命名服务参数说明:
- 服务全名:输入要发布的服务全名,如http2hsf1。
- 服务版本:输入服务版本,如1.0.0。
- 所属服务组:在下拉列表中选择已创建的服务组。
- 业务日志:根据您的需要选择是否开启日志开关。
开启日志开关后,会记录业务请求和响应的内容,您可在CSB Broker的/home/admin/cloud-gateway/logs的trace.log内查看日志详情。
不建议长时间开启日志开关,避免日志存储占用过多内存,从而影响性能。
- 在接入协议页签中填写后端接入服务信息,然后单击下一步。
接入协议参数说明:
- 路由策略:保持默认,直接路由。
- 选择一个接入协议:选择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 正常 否
- 在开放协议页签选择在CSB上的服务开放类型为RESTful,单击下一步。
- 在限制访问页签设置访问限制,单击下一步。
- 每秒最大调用量:保持默认值0,代表不限制。
- 公开访问:打开。
- 熔断设置:如果服务设置了超时时间,可以通过熔断设置保证调用方(CSB客户端)服务整体的可用性。具体操作,请参见如何使用熔断和降级保证调用方服务的可用性。
- 在发布服务页签确认设置无误后,单击完成发布,然后在弹出的确认对话框中单击确认。在实例详情页面左侧导航栏选择我的服务可以看到刚发布的服务信息及状态。,在说明
- 如果该实例的拥有者将服务发布审批设置为不需要审批,发布后状态为激活。
- 如果该实例的拥有者将服务发布审批设置为一级审批或二级审批,则发布后状态为等待一次审批或等待二次审批,需要实例拥有者审批后才能激活。