nacos_config.go 4.5 KB

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