微服务引擎 CSE
微服务引擎 CSE
- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
-
常见问题
- 使用华为云CSE注意事项
- Nacos引擎
-
ServiceComb引擎
- 如何进行本地开发和测试?
- 证书加载错误
- 无效头名称
- mesher性能损耗是多少?
- 连接服务中心提示“Version validate failed”
- 连接服务中心提示“Not enough quota”
- 如何处理开启了安全认证的ServiceComb引擎专享版开启IPv6后服务注册失败?
- 服务名重复校验范围是什么?
- 为什么一定要定义服务契约?
- 如何解决微服务应用开发过程中微服务开发框架同netty版本不匹配的问题?
- ServiceComb专享版引擎版本从1.x升级到2.x时有哪些注意事项?
- 用户业务从微服务引擎专业版迁移到微服务引擎专享版checklist
- 创建引擎提示“Duplicate cluster name”
- 创建引擎过程中处理接入地址步骤失败,提示the subnet could not be found
- 本地轻量化注册服务报错:does not match rule: {Max: 100, Regexp: ^[a-zA-Z0-9]{1,160}$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]{0,158}[a-zA-Z0-9]$}"}
- SpringCloud应用连接ServiceComb引擎2.x版本配置中心失败
- 在全局配置中配置相关的配置项修改后,服务获取的配置内容未修改成功
- 获取配置失败
- 应用网关
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
注册发现
场景描述
本章节指导用户通过API实现微服务注册与发现。API的调用方法请参见如何调用API。
流程介绍
- 注册第一个微服务my-provider。
- 注册微服务my-provider的实例。
- 注册第二个微服务my-consumer。
- my-consumer发现第一个微服务my-provider的实例。
以上微服务名称均为示例。
前提条件
已获取ServiceComb引擎实例的注册发现地址,参考服务注册发现地址,以下示例中以{cse_endpoint}代替。
操作步骤
- 注册微服务my-provider。
调用创建微服务静态信息接口,请求示例如下。
curl -k -H "x-domain-name:default" -XPOST "https://{cse_endpoint}/v4/default/registry/microservices" -d '{ "service": { "serviceName": "my-provider", "appId": "default", "version": "1.0.0", "description": "test", "level": "MIDDLE", "status": "UP" } }'
返回结果:
{"serviceId":"918282e8562dc5fdc9a8dcd4d1baabb492190aa4"}
得到的serviceId,后续示例中以{providerServiceId}代替。
- 注册微服务my-provider的实例。
调用注册微服务实例接口。实例有效期1小时,到期自动下线。假设provider实例监听的地址为127.0.0.1:8080,请求示例如下。
curl -k -H "x-domain-name:default" -XPOST "https://{cse_endpoint}/v4/default/registry/microservices/{providerServiceId}/instances" -d '{ "instance": { "hostName": "test", "endpoints": [ "rest:127.0.0.1:8080" ], "status": "UP", "healthCheck": { "mode": "push", "interval": 900, "times": 3 } } }'
返回结果:
{"instanceId":"2be605a095ed11eabcbe0255ac100fa3"}
- 注册微服务my-consumer。
调用创建微服务静态信息接口,请求示例如下。
curl -k -H "x-domain-name:default" -XPOST "https://{cse_endpoint}/v4/default/registry/microservices" -d '{ "service": { "serviceName": "my-consumer", "appId": "default", "version": "1.0.0", "description": "test", "level": "MIDDLE", "status": "UP" } }'
返回结果:
{"serviceId":"9db248934c31fc754d6e922b48ede4a5c004d3c1"}
得到的serviceId,后续示例中以{consumerServiceId}代替。
- my-consumer发现my-provider的实例。
调用按条件查询微服务实例接口,consumer带着自身的serviceId去服务中心查询provider的实例信息,请求示例如下。
curl -k -H "x-domain-name:default" -H "X-ConsumerId:{consumerServiceId}" -XGET "https://{cse_endpoint}/v4/default/registry/instances?appId=default&serviceName=my-provider&version=0.0.0%2B"
返回结果:
{ "instances": [ { "instanceId": "2be605a095ed11eabcbe0255ac100fa3", "serviceId": "918282e8562dc5fdc9a8dcd4d1baabb492190aa4", "endpoints": [ "rest:127.0.0.1:8080" ], "hostName": "test", "status": "UP", "healthCheck": { "mode": "push", "interval": 150, "times": 3 }, "timestamp": "1589465646", "modTimestamp": "1589465646", "version": "1.0.0" } ] }
在实际业务中,consumer可从实例查询结果中的"endpoint"字段获取provider实例的地址,发起业务调用。
您还可以进入微服务引擎控制台的“微服务目录”,查看服务注册信息。
父主题: 应用示例