nacos_config.go 4.4 KB

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