nacos_config.go 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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. //nacosIp = "36.110.106.142"
  13. nacosIp = "10.14.85.228"
  14. nacosPort = 8848
  15. namespaceId = "45e828a5-1a1d-4c46-a746-d4dfa3ca8f5f"
  16. username = "cicv"
  17. password = "cicv"
  18. serviceIp = "36.110.106.142"
  19. servicePort = 12340
  20. )
  21. func InitNacos(serviceName string, servicePort uint64, metadata map[string]string) {
  22. //create ServerConfig
  23. sc := []constant.ServerConfig{
  24. *constant.NewServerConfig(nacosIp, uint64(nacosPort), constant.WithContextPath("/nacos")),
  25. }
  26. //create ClientConfig
  27. cc := *constant.NewClientConfig(
  28. constant.WithNamespaceId(namespaceId),
  29. constant.WithNotLoadCacheAtStart(true),
  30. constant.WithUsername(username),
  31. constant.WithPassword(password),
  32. )
  33. // create naming client
  34. client, err := clients.NewNamingClient(
  35. vo.NacosClientParam{
  36. ClientConfig: &cc,
  37. ServerConfigs: sc,
  38. },
  39. )
  40. if err != nil {
  41. c_log.GlobalLogger.Error("程序崩溃,nacos 连接失败:", err)
  42. os.Exit(-1)
  43. }
  44. //Register
  45. registerServiceInstance(client, vo.RegisterInstanceParam{
  46. Ip: serviceIp,
  47. Port: servicePort,
  48. ServiceName: serviceName,
  49. //GroupName: "group-a",
  50. //ClusterName: "cluster-a",
  51. Weight: 10,
  52. Enable: true,
  53. Healthy: true,
  54. Ephemeral: true,
  55. Metadata: metadata,
  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. }
  65. func batchRegisterServiceInstance(client naming_client.INamingClient, param vo.BatchRegisterInstanceParam) {
  66. success, err := client.BatchRegisterInstance(param)
  67. if !success || err != nil {
  68. panic("BatchRegisterServiceInstance failed!" + err.Error())
  69. }
  70. fmt.Printf("BatchRegisterServiceInstance,param:%+v,result:%+v \n\n", param, success)
  71. }
  72. func deRegisterServiceInstance(client naming_client.INamingClient, param vo.DeregisterInstanceParam) {
  73. success, err := client.DeregisterInstance(param)
  74. if !success || err != nil {
  75. panic("DeRegisterServiceInstance failed!" + err.Error())
  76. }
  77. fmt.Printf("DeRegisterServiceInstance,param:%+v,result:%+v \n\n", param, success)
  78. }
  79. func updateServiceInstance(client naming_client.INamingClient, param vo.UpdateInstanceParam) {
  80. success, err := client.UpdateInstance(param)
  81. if !success || err != nil {
  82. panic("UpdateInstance failed!" + err.Error())
  83. }
  84. fmt.Printf("UpdateServiceInstance,param:%+v,result:%+v \n\n", param, success)
  85. }
  86. func getService(client naming_client.INamingClient, param vo.GetServiceParam) {
  87. service, err := client.GetService(param)
  88. if err != nil {
  89. panic("GetService failed!" + err.Error())
  90. }
  91. fmt.Printf("GetService,param:%+v, result:%+v \n\n", param, service)
  92. }
  93. func selectAllInstances(client naming_client.INamingClient, param vo.SelectAllInstancesParam) {
  94. instances, err := client.SelectAllInstances(param)
  95. if err != nil {
  96. panic("SelectAllInstances failed!" + err.Error())
  97. }
  98. fmt.Printf("SelectAllInstance,param:%+v, result:%+v \n\n", param, instances)
  99. }
  100. func selectInstances(client naming_client.INamingClient, param vo.SelectInstancesParam) {
  101. instances, err := client.SelectInstances(param)
  102. if err != nil {
  103. panic("SelectInstances failed!" + err.Error())
  104. }
  105. fmt.Printf("SelectInstances,param:%+v, result:%+v \n\n", param, instances)
  106. }
  107. func selectOneHealthyInstance(client naming_client.INamingClient, param vo.SelectOneHealthInstanceParam) {
  108. instances, err := client.SelectOneHealthyInstance(param)
  109. if err != nil {
  110. panic("SelectOneHealthyInstance failed!")
  111. }
  112. fmt.Printf("SelectOneHealthyInstance,param:%+v, result:%+v \n\n", param, instances)
  113. }
  114. func subscribe(client naming_client.INamingClient, param *vo.SubscribeParam) {
  115. client.Subscribe(param)
  116. }
  117. func unSubscribe(client naming_client.INamingClient, param *vo.SubscribeParam) {
  118. client.Unsubscribe(param)
  119. }
  120. func getAllService(client naming_client.INamingClient, param vo.GetAllServiceInfoParam) {
  121. service, err := client.GetAllServicesInfo(param)
  122. if err != nil {
  123. panic("GetAllService failed!")
  124. }
  125. fmt.Printf("GetAllService,param:%+v, result:%+v \n\n", param, service)
  126. }