register_service.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package c_nacos
  2. import (
  3. "cicv-data-closedloop/common/config/c_log"
  4. "errors"
  5. "github.com/nacos-group/nacos-sdk-go/v2/clients"
  6. "github.com/nacos-group/nacos-sdk-go/v2/clients/naming_client"
  7. "github.com/nacos-group/nacos-sdk-go/v2/common/constant"
  8. "github.com/nacos-group/nacos-sdk-go/v2/vo"
  9. "os"
  10. )
  11. var (
  12. nacosPrivateIp = "10.14.85.228"
  13. nacosPublicIp = "36.110.106.142"
  14. nacosPort = 8848
  15. namespaceId = "45e828a5-1a1d-4c46-a746-d4dfa3ca8f5f"
  16. username = "cicv"
  17. password = "cicv"
  18. serviceIp = "36.110.106.142"
  19. )
  20. func InitService(private bool, serviceName string, servicePort uint64, metadata map[string]string) {
  21. nacosIp := nacosPublicIp
  22. if private {
  23. nacosIp = nacosPrivateIp
  24. }
  25. serverConfig := []constant.ServerConfig{*constant.NewServerConfig(nacosIp, uint64(nacosPort), constant.WithContextPath("/nacos"))}
  26. clientConfig := constant.NewClientConfig(
  27. constant.WithNamespaceId(namespaceId),
  28. constant.WithNotLoadCacheAtStart(true),
  29. constant.WithUsername(username),
  30. constant.WithPassword(password),
  31. )
  32. namingClient, err := clients.NewNamingClient(
  33. vo.NacosClientParam{
  34. ClientConfig: clientConfig,
  35. ServerConfigs: serverConfig,
  36. },
  37. )
  38. if err != nil {
  39. c_log.GlobalLogger.Error("程序崩溃,nacos 连接失败:", err)
  40. os.Exit(-1)
  41. }
  42. if err = registerServiceInstance(namingClient, vo.RegisterInstanceParam{
  43. Ip: serviceIp,
  44. Port: servicePort,
  45. ServiceName: serviceName,
  46. //GroupName: "group-a",
  47. //ClusterName: "cluster-a",
  48. Weight: 10,
  49. Enable: true,
  50. Healthy: true,
  51. Ephemeral: true,
  52. Metadata: metadata,
  53. }); err != nil {
  54. c_log.GlobalLogger.Error("程序崩溃,服务注册连接失败:", err)
  55. os.Exit(-1)
  56. }
  57. }
  58. // registerServiceInstance 服务注册
  59. func registerServiceInstance(client naming_client.INamingClient, param vo.RegisterInstanceParam) error {
  60. success, err := client.RegisterInstance(param)
  61. if err != nil {
  62. return err
  63. }
  64. if !success {
  65. return errors.New("注册失败")
  66. }
  67. return nil
  68. }