孟令鑫 1 year ago
parent
commit
90da7ac84e

+ 1 - 0
pji/control/main/control.go

@@ -23,6 +23,7 @@ func init() {
 	commonConfig.InitPlatformConfig()
 	// 初始化rpc客户端,用于杀死旧的采集程序
 	controlConfig.InitRpcClient()
+	controlConfig.InitNacos()
 }
 
 func main() {

+ 146 - 0
pji/control/pkg/cfg/nacos_config.go

@@ -0,0 +1,146 @@
+package cfg
+
+import (
+	"cicv-data-closedloop/plugin-compile/package/config/c_log"
+	"fmt"
+	"github.com/nacos-group/nacos-sdk-go/v2/clients"
+	"github.com/nacos-group/nacos-sdk-go/v2/clients/naming_client"
+	"github.com/nacos-group/nacos-sdk-go/v2/common/constant"
+	"github.com/nacos-group/nacos-sdk-go/v2/vo"
+	"os"
+)
+
+var (
+	nacosIp     = "36.110.106.142"
+	nacosPort   = 8848
+	namespaceId = "45e828a5-1a1d-4c46-a746-d4dfa3ca8f5f"
+	username    = "cicv"
+	password    = "cicv"
+	//serviceIp   = "36.110.106.142"
+	//servicePort = 12340
+	serviceName = "pji-master"
+	metadata    = map[string]string{"开发者": "孟令鑫"}
+)
+
+func InitNacos() {
+	//create ServerConfig
+	sc := []constant.ServerConfig{
+		*constant.NewServerConfig(nacosIp, uint64(nacosPort), constant.WithContextPath("/nacos")),
+	}
+
+	//create ClientConfig
+	cc := *constant.NewClientConfig(
+		constant.WithNamespaceId(namespaceId),
+		constant.WithNotLoadCacheAtStart(true),
+		constant.WithUsername(username),
+		constant.WithPassword(password),
+	)
+
+	// create naming client
+	client, err := clients.NewNamingClient(
+		vo.NacosClientParam{
+			ClientConfig:  &cc,
+			ServerConfigs: sc,
+		},
+	)
+
+	if err != nil {
+		c_log.GlobalLogger.Error("程序崩溃,nacos连接失败:", err)
+		os.Exit(-1)
+	}
+
+	//Register
+	registerServiceInstance(client, vo.RegisterInstanceParam{
+		//Ip:          serviceIp,
+		//Port:        uint64(servicePort),
+		ServiceName: serviceName,
+		//GroupName:   "group-a",
+		//ClusterName: "cluster-a",
+		Weight:    10,
+		Enable:    true,
+		Healthy:   true,
+		Ephemeral: true,
+		Metadata:  metadata,
+	})
+
+}
+
+func registerServiceInstance(client naming_client.INamingClient, param vo.RegisterInstanceParam) {
+	success, err := client.RegisterInstance(param)
+	if !success || err != nil {
+		panic("RegisterServiceInstance failed!" + err.Error())
+	}
+	fmt.Printf("RegisterServiceInstance,param:%+v,result:%+v \n\n", param, success)
+}
+
+func batchRegisterServiceInstance(client naming_client.INamingClient, param vo.BatchRegisterInstanceParam) {
+	success, err := client.BatchRegisterInstance(param)
+	if !success || err != nil {
+		panic("BatchRegisterServiceInstance failed!" + err.Error())
+	}
+	fmt.Printf("BatchRegisterServiceInstance,param:%+v,result:%+v \n\n", param, success)
+}
+
+func deRegisterServiceInstance(client naming_client.INamingClient, param vo.DeregisterInstanceParam) {
+	success, err := client.DeregisterInstance(param)
+	if !success || err != nil {
+		panic("DeRegisterServiceInstance failed!" + err.Error())
+	}
+	fmt.Printf("DeRegisterServiceInstance,param:%+v,result:%+v \n\n", param, success)
+}
+
+func updateServiceInstance(client naming_client.INamingClient, param vo.UpdateInstanceParam) {
+	success, err := client.UpdateInstance(param)
+	if !success || err != nil {
+		panic("UpdateInstance failed!" + err.Error())
+	}
+	fmt.Printf("UpdateServiceInstance,param:%+v,result:%+v \n\n", param, success)
+}
+
+func getService(client naming_client.INamingClient, param vo.GetServiceParam) {
+	service, err := client.GetService(param)
+	if err != nil {
+		panic("GetService failed!" + err.Error())
+	}
+	fmt.Printf("GetService,param:%+v, result:%+v \n\n", param, service)
+}
+
+func selectAllInstances(client naming_client.INamingClient, param vo.SelectAllInstancesParam) {
+	instances, err := client.SelectAllInstances(param)
+	if err != nil {
+		panic("SelectAllInstances failed!" + err.Error())
+	}
+	fmt.Printf("SelectAllInstance,param:%+v, result:%+v \n\n", param, instances)
+}
+
+func selectInstances(client naming_client.INamingClient, param vo.SelectInstancesParam) {
+	instances, err := client.SelectInstances(param)
+	if err != nil {
+		panic("SelectInstances failed!" + err.Error())
+	}
+	fmt.Printf("SelectInstances,param:%+v, result:%+v \n\n", param, instances)
+}
+
+func selectOneHealthyInstance(client naming_client.INamingClient, param vo.SelectOneHealthInstanceParam) {
+	instances, err := client.SelectOneHealthyInstance(param)
+	if err != nil {
+		panic("SelectOneHealthyInstance failed!")
+	}
+	fmt.Printf("SelectOneHealthyInstance,param:%+v, result:%+v \n\n", param, instances)
+}
+
+func subscribe(client naming_client.INamingClient, param *vo.SubscribeParam) {
+	client.Subscribe(param)
+}
+
+func unSubscribe(client naming_client.INamingClient, param *vo.SubscribeParam) {
+	client.Unsubscribe(param)
+}
+
+func getAllService(client naming_client.INamingClient, param vo.GetAllServiceInfoParam) {
+	service, err := client.GetAllServicesInfo(param)
+	if err != nil {
+		panic("GetAllService failed!")
+	}
+	fmt.Printf("GetAllService,param:%+v, result:%+v \n\n", param, service)
+}

+ 1 - 0
pji/master/main/master.go

@@ -18,6 +18,7 @@ func init() {
 
 	// 等待重启,接收到重启信号,会把信号分发给以下channel
 	go commonService.WaitKillSelf()
+	masterConfig.InitNacos()
 }
 
 func main() {

+ 146 - 0
pji/master/pkg/cfg/nacos_config.go

@@ -0,0 +1,146 @@
+package cfg
+
+import (
+	"cicv-data-closedloop/plugin-compile/package/config/c_log"
+	"fmt"
+	"github.com/nacos-group/nacos-sdk-go/v2/clients"
+	"github.com/nacos-group/nacos-sdk-go/v2/clients/naming_client"
+	"github.com/nacos-group/nacos-sdk-go/v2/common/constant"
+	"github.com/nacos-group/nacos-sdk-go/v2/vo"
+	"os"
+)
+
+var (
+	nacosIp     = "36.110.106.142"
+	nacosPort   = 8848
+	namespaceId = "45e828a5-1a1d-4c46-a746-d4dfa3ca8f5f"
+	username    = "cicv"
+	password    = "cicv"
+	//serviceIp   = "36.110.106.142"
+	//servicePort = 12340
+	serviceName = "pji-control"
+	metadata    = map[string]string{"开发者": "孟令鑫"}
+)
+
+func InitNacos() {
+	//create ServerConfig
+	sc := []constant.ServerConfig{
+		*constant.NewServerConfig(nacosIp, uint64(nacosPort), constant.WithContextPath("/nacos")),
+	}
+
+	//create ClientConfig
+	cc := *constant.NewClientConfig(
+		constant.WithNamespaceId(namespaceId),
+		constant.WithNotLoadCacheAtStart(true),
+		constant.WithUsername(username),
+		constant.WithPassword(password),
+	)
+
+	// create naming client
+	client, err := clients.NewNamingClient(
+		vo.NacosClientParam{
+			ClientConfig:  &cc,
+			ServerConfigs: sc,
+		},
+	)
+
+	if err != nil {
+		c_log.GlobalLogger.Error("程序崩溃,nacos连接失败:", err)
+		os.Exit(-1)
+	}
+
+	//Register
+	registerServiceInstance(client, vo.RegisterInstanceParam{
+		//Ip:          serviceIp,
+		//Port:        uint64(servicePort),
+		ServiceName: serviceName,
+		//GroupName:   "group-a",
+		//ClusterName: "cluster-a",
+		Weight:    10,
+		Enable:    true,
+		Healthy:   true,
+		Ephemeral: true,
+		Metadata:  metadata,
+	})
+
+}
+
+func registerServiceInstance(client naming_client.INamingClient, param vo.RegisterInstanceParam) {
+	success, err := client.RegisterInstance(param)
+	if !success || err != nil {
+		panic("RegisterServiceInstance failed!" + err.Error())
+	}
+	fmt.Printf("RegisterServiceInstance,param:%+v,result:%+v \n\n", param, success)
+}
+
+func batchRegisterServiceInstance(client naming_client.INamingClient, param vo.BatchRegisterInstanceParam) {
+	success, err := client.BatchRegisterInstance(param)
+	if !success || err != nil {
+		panic("BatchRegisterServiceInstance failed!" + err.Error())
+	}
+	fmt.Printf("BatchRegisterServiceInstance,param:%+v,result:%+v \n\n", param, success)
+}
+
+func deRegisterServiceInstance(client naming_client.INamingClient, param vo.DeregisterInstanceParam) {
+	success, err := client.DeregisterInstance(param)
+	if !success || err != nil {
+		panic("DeRegisterServiceInstance failed!" + err.Error())
+	}
+	fmt.Printf("DeRegisterServiceInstance,param:%+v,result:%+v \n\n", param, success)
+}
+
+func updateServiceInstance(client naming_client.INamingClient, param vo.UpdateInstanceParam) {
+	success, err := client.UpdateInstance(param)
+	if !success || err != nil {
+		panic("UpdateInstance failed!" + err.Error())
+	}
+	fmt.Printf("UpdateServiceInstance,param:%+v,result:%+v \n\n", param, success)
+}
+
+func getService(client naming_client.INamingClient, param vo.GetServiceParam) {
+	service, err := client.GetService(param)
+	if err != nil {
+		panic("GetService failed!" + err.Error())
+	}
+	fmt.Printf("GetService,param:%+v, result:%+v \n\n", param, service)
+}
+
+func selectAllInstances(client naming_client.INamingClient, param vo.SelectAllInstancesParam) {
+	instances, err := client.SelectAllInstances(param)
+	if err != nil {
+		panic("SelectAllInstances failed!" + err.Error())
+	}
+	fmt.Printf("SelectAllInstance,param:%+v, result:%+v \n\n", param, instances)
+}
+
+func selectInstances(client naming_client.INamingClient, param vo.SelectInstancesParam) {
+	instances, err := client.SelectInstances(param)
+	if err != nil {
+		panic("SelectInstances failed!" + err.Error())
+	}
+	fmt.Printf("SelectInstances,param:%+v, result:%+v \n\n", param, instances)
+}
+
+func selectOneHealthyInstance(client naming_client.INamingClient, param vo.SelectOneHealthInstanceParam) {
+	instances, err := client.SelectOneHealthyInstance(param)
+	if err != nil {
+		panic("SelectOneHealthyInstance failed!")
+	}
+	fmt.Printf("SelectOneHealthyInstance,param:%+v, result:%+v \n\n", param, instances)
+}
+
+func subscribe(client naming_client.INamingClient, param *vo.SubscribeParam) {
+	client.Subscribe(param)
+}
+
+func unSubscribe(client naming_client.INamingClient, param *vo.SubscribeParam) {
+	client.Unsubscribe(param)
+}
+
+func getAllService(client naming_client.INamingClient, param vo.GetAllServiceInfoParam) {
+	service, err := client.GetAllServicesInfo(param)
+	if err != nil {
+		panic("GetAllService failed!")
+	}
+	fmt.Printf("GetAllService,param:%+v, result:%+v \n\n", param, service)
+}