register_service.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package c_nacos
  2. import (
  3. "cicv-data-closedloop/common/config/c_log"
  4. "fmt"
  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 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. func registerServiceInstance(client naming_client.INamingClient, param vo.RegisterInstanceParam) {
  59. success, err := client.RegisterInstance(param)
  60. if !success || err != nil {
  61. panic("RegisterServiceInstance failed!" + err.Error())
  62. }
  63. fmt.Printf("RegisterServiceInstance,param:%+v,result:%+v \n\n", param, success)
  64. }