nacos_config.go 4.4 KB

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