From 03f8ba03160a78444407b899bb7130c6cf7b8f79 Mon Sep 17 00:00:00 2001 From: boyce Date: Tue, 30 Apr 2024 17:33:34 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B2=BE=E7=AE=80=E4=BA=8B=E4=BB=B6=E9=80=9A?= =?UTF-8?q?=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster/cluster.go | 44 +++++-------------------------------------- event/event.go | 1 - service/service.go | 4 ++-- service/servicemgr.go | 3 --- 4 files changed, 7 insertions(+), 45 deletions(-) diff --git a/cluster/cluster.go b/cluster/cluster.go index 75008a5..cd03868 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -54,7 +54,6 @@ type Cluster struct { discoveryInfo DiscoveryInfo //服务发现配置 rpcMode RpcMode - //masterDiscoveryNodeList []NodeInfo //配置发现Master结点 globalCfg interface{} //全局配置 localServiceCfg map[string]interface{} //map[serviceName]配置数据* @@ -70,7 +69,6 @@ type Cluster struct { rpcEventLocker sync.RWMutex //Rpc事件监听保护锁 mapServiceListenRpcEvent map[string]struct{} //ServiceName - mapServiceListenDiscoveryEvent map[string]struct{} //ServiceName } func GetCluster() *Cluster { @@ -228,8 +226,6 @@ func (cls *Cluster) Init(localNodeId string, setupServiceFun SetupServiceFun) er } service.RegRpcEventFun = cls.RegRpcEvent service.UnRegRpcEventFun = cls.UnRegRpcEvent - service.RegDiscoveryServiceEventFun = cls.RegDiscoveryEvent - service.UnRegDiscoveryServiceEventFun = cls.UnReDiscoveryEvent err = cls.serviceDiscovery.InitDiscovery(localNodeId, cls.serviceDiscoveryDelNode, cls.serviceDiscoverySetNodeInfo) if err != nil { @@ -322,23 +318,12 @@ func (cls *Cluster) NotifyAllService(event event.IEvent){ } func (cls *Cluster) TriggerDiscoveryEvent(bDiscovery bool, nodeId string, serviceName []string) { - cls.rpcEventLocker.Lock() - defer cls.rpcEventLocker.Unlock() - - for sName, _ := range cls.mapServiceListenDiscoveryEvent { - ser := service.GetService(sName) - if ser == nil { - log.Error("cannot find service",log.Any("services",serviceName)) - continue - } - - var eventData service.DiscoveryServiceEvent - eventData.IsDiscovery = bDiscovery - eventData.NodeId = nodeId - eventData.ServiceName = serviceName - ser.(service.IModule).NotifyEvent(&eventData) - } + var eventData service.DiscoveryServiceEvent + eventData.IsDiscovery = bDiscovery + eventData.NodeId = nodeId + eventData.ServiceName = serviceName + cls.NotifyAllService(&eventData) } func (cls *Cluster) GetLocalNodeInfo() *NodeInfo { @@ -361,25 +346,6 @@ func (cls *Cluster) UnRegRpcEvent(serviceName string) { cls.rpcEventLocker.Unlock() } - -func (cls *Cluster) RegDiscoveryEvent(serviceName string) { - cls.rpcEventLocker.Lock() - if cls.mapServiceListenDiscoveryEvent == nil { - cls.mapServiceListenDiscoveryEvent = map[string]struct{}{} - } - - cls.mapServiceListenDiscoveryEvent[serviceName] = struct{}{} - cls.rpcEventLocker.Unlock() -} - -func (cls *Cluster) UnReDiscoveryEvent(serviceName string) { - cls.rpcEventLocker.Lock() - delete(cls.mapServiceListenDiscoveryEvent, serviceName) - cls.rpcEventLocker.Unlock() -} - - - func HasService(nodeId string, serviceName string) bool { cluster.locker.RLock() defer cluster.locker.RUnlock() diff --git a/event/event.go b/event/event.go index f25768c..0582a3b 100644 --- a/event/event.go +++ b/event/event.go @@ -236,7 +236,6 @@ func (processor *EventProcessor) castEvent(event IEvent){ eventProcessor,ok := processor.mapListenerEvent[event.GetEventType()] if ok == false || processor == nil{ - log.Debug("event is not listen",log.Int("event type",int(event.GetEventType()))) return } diff --git a/service/service.go b/service/service.go index c9fa07e..68f6dea 100644 --- a/service/service.go +++ b/service/service.go @@ -368,12 +368,12 @@ func (s *Service) UnRegNatsConnListener() { func (s *Service) RegDiscoverListener(discoveryServiceListener rpc.IDiscoveryServiceListener) { s.discoveryServiceLister = discoveryServiceListener s.RegEventReceiverFunc(event.Sys_Event_DiscoverService,s.GetEventHandler(),s.OnDiscoverServiceEvent) - RegDiscoveryServiceEventFun(s.GetName()) + RegRpcEventFun(s.GetName()) } func (s *Service) UnRegDiscoverListener() { s.UnRegEventReceiverFunc(event.Sys_Event_DiscoverService,s.GetEventHandler()) - UnRegDiscoveryServiceEventFun(s.GetName()) + UnRegRpcEventFun(s.GetName()) } func (s *Service) PushRpcRequest(rpcRequest *rpc.RpcRequest) error{ diff --git a/service/servicemgr.go b/service/servicemgr.go index 6fb17d4..3047d60 100644 --- a/service/servicemgr.go +++ b/service/servicemgr.go @@ -14,9 +14,6 @@ type RegDiscoveryServiceEventFunType func(serviceName string) var RegRpcEventFun RegRpcEventFunType var UnRegRpcEventFun RegRpcEventFunType -var RegDiscoveryServiceEventFun RegDiscoveryServiceEventFunType -var UnRegDiscoveryServiceEventFun RegDiscoveryServiceEventFunType - func init(){ mapServiceName = map[string]IService{} setupServiceList = []IService{}