微服务引擎 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版本配置中心失败
- 在全局配置中配置相关的配置项修改后,服务获取的配置内容未修改成功
- 获取配置失败
- 应用网关
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
托管Kratos应用
概述
Kratos是轻量级Go微服务框架,包含大量微服务相关功能及工具,更多Kratos框架相关信息详见Kratos官方文档。
前提条件
创建ServiceComb引擎,请参考创建ServiceComb引擎。
代码接入
- Provider端:
package main import ( "crypto/tls" "log" "net/url" "github.com/go-chassis/sc-client" "github.com/go-kratos/kratos/contrib/registry/servicecomb/v2" "github.com/go-kratos/kratos/v2" ) func main() { c, err := sc.NewClient(sc.Options{ // EndPoints填写servicecomb中service center的地址 Endpoints: []string{"127.0.0.1:30100"}, EnableSSL: true, TLSConfig: &tls.Config{ InsecureSkipVerify: true, }, }) if err != nil { log.Panic(err) } r := servicecomb.NewRegistry(c) app := kratos.New( //需要传入注册实例的endpoint kratos.Endpoint(&url.URL{Scheme: "{endpoint}"}), //服务名 kratos.Name("helloServicecomb"), //接入servicecomb注册中心service center kratos.Registrar(r), ) if err := app.Run(); err != nil { log.Fatal(err) } }
- Consumer端:
package main import ( "context" "crypto/tls" "log" "github.com/go-chassis/sc-client" "github.com/go-kratos/kratos/contrib/registry/servicecomb/v2" "github.com/go-kratos/kratos/v2/transport/grpc" ) func main() { c, err := sc.NewClient(sc.Options{ EnableSSL: true, TLSConfig: &tls.Config{ InsecureSkipVerify: true, }, // EndPoints填写servicecomb中service center的地址 Endpoints: []string{"127.0.0.1:30100"}, }) if err != nil { log.Panic(err) } r := servicecomb.NewRegistry(c) ctx := context.Background() conn, err := grpc.DialInsecure( ctx, //Endpoint格式:<schema>://[namespace]/<service-name> grpc.WithEndpoint("discovery:///helloServicecomb"), grpc.WithDiscovery(r), ) if err != nil { return } defer conn.Close() }
应用部署
参考快速体验ServiceStage选择合适的方式部署应用。
父主题: ServiceComb引擎托管应用