From 1aa8075eebfe427af63320debd1c5db0705a5f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Mon, 7 Nov 2022 10:23:12 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E9=87=8D=E6=9E=84=20ruoyi-nacos=20?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=AE=98=E6=96=B9=E4=BE=9D=E8=B5=96=E6=95=B4?= =?UTF-8?q?=E5=90=88=20=E5=8D=87=E7=BA=A7=202.1.2=20=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-common/ruoyi-common-alibaba-bom/pom.xml | 2 +- ruoyi-visual/ruoyi-nacos/pom.xml | 178 +++- .../nacos/console/config/ConsoleConfig.java | 10 +- .../ability/RemoteAbilityInitializer.java | 32 - .../ability/ServerAbilityInitializer.java | 36 - .../ServerAbilityInitializerHolder.java | 51 -- .../alibaba/nacos/core/auth/AuthConfig.java | 48 -- .../alibaba/nacos/core/auth/AuthFilter.java | 164 ---- .../core/auth/RemoteRequestAuthFilter.java | 106 --- .../core/cluster/AbstractMemberLookup.java | 70 -- .../alibaba/nacos/core/cluster/Member.java | 252 ------ .../core/cluster/MemberChangeListener.java | 49 -- .../nacos/core/cluster/MemberLookup.java | 76 -- .../core/cluster/MemberMetaDataConstants.java | 47 -- .../nacos/core/cluster/MemberUtil.java | 301 ------- .../core/cluster/MembersChangeEvent.java | 106 --- .../alibaba/nacos/core/cluster/NodeState.java | 54 -- .../core/cluster/ServerMemberManager.java | 602 -------------- .../com/alibaba/nacos/core/cluster/Task.java | 64 -- .../lookup/AddressServerMemberLookup.java | 215 ----- .../lookup/FileConfigMemberLookup.java | 90 --- .../core/cluster/lookup/LookupFactory.java | 181 ----- .../lookup/StandaloneMemberLookup.java | 48 -- .../cluster/remote/ClusterRpcClientProxy.java | 243 ------ .../core/code/ControllerMethodsCache.java | 225 ------ .../nacos/core/code/RequestMappingInfo.java | 62 -- .../code/SpringApplicationRunListener.java | 108 --- .../StandaloneProfileApplicationListener.java | 65 -- .../code/condition/ParamRequestCondition.java | 114 --- .../code/condition/PathRequestCondition.java | 64 -- .../core/config/AbstractDynamicConfig.java | 69 -- .../core/controller/CoreOpsController.java | 88 -- .../controller/NacosClusterController.java | 146 ---- .../controller/ServerLoaderController.java | 414 ---------- .../controller/v2/CoreOpsV2Controller.java | 102 --- .../v2/NacosClusterV2Controller.java | 161 ---- .../AbstractConsistencyProtocol.java | 55 -- .../distributed/ConsistencyConfiguration.java | 57 -- .../core/distributed/ProtocolExecutor.java | 45 -- .../core/distributed/ProtocolManager.java | 164 ---- .../core/distributed/distro/DistroConfig.java | 137 ---- .../distributed/distro/DistroConstants.java | 54 -- .../distributed/distro/DistroProtocol.java | 227 ------ .../distro/component/DistroCallback.java | 37 - .../component/DistroComponentHolder.java | 76 -- .../distro/component/DistroDataProcessor.java | 59 -- .../distro/component/DistroDataStorage.java | 66 -- .../component/DistroFailedTaskHandler.java | 36 - .../component/DistroTransportAgent.java | 92 --- .../distributed/distro/entity/DistroData.java | 65 -- .../distributed/distro/entity/DistroKey.java | 95 --- .../distro/exception/DistroException.java | 40 - .../distro/monitor/DistroRecord.java | 80 -- .../distro/monitor/DistroRecordsHolder.java | 76 -- .../distro/task/DistroTaskEngineHolder.java | 54 -- .../distro/task/delay/DistroDelayTask.java | 72 -- .../delay/DistroDelayTaskExecuteEngine.java | 50 -- .../task/delay/DistroDelayTaskProcessor.java | 65 -- .../execute/AbstractDistroExecuteTask.java | 138 ---- .../DistroExecuteTaskExecuteEngine.java | 32 - .../task/execute/DistroSyncChangeTask.java | 80 -- .../task/execute/DistroSyncDeleteTask.java | 67 -- .../distro/task/load/DistroLoadDataTask.java | 138 ---- .../task/verify/DistroVerifyExecuteTask.java | 96 --- .../task/verify/DistroVerifyTimedTask.java | 85 -- .../distributed/id/IdGeneratorManager.java | 89 -- .../distributed/id/SnowFlowerIdGenerator.java | 189 ----- .../raft/JRaftMaintainService.java | 88 -- .../core/distributed/raft/JRaftProtocol.java | 227 ------ .../core/distributed/raft/JRaftServer.java | 571 ------------- .../distributed/raft/JSnapshotOperation.java | 70 -- .../core/distributed/raft/NacosClosure.java | 159 ---- .../distributed/raft/NacosStateMachine.java | 321 -------- .../core/distributed/raft/RaftConfig.java | 106 --- .../core/distributed/raft/RaftErrorEvent.java | 40 - .../core/distributed/raft/RaftEvent.java | 144 ---- .../distributed/raft/RaftSysConstants.java | 234 ------ .../DuplicateRaftGroupException.java | 31 - .../raft/exception/JRaftException.java | 47 -- .../raft/exception/NoLeaderException.java | 46 -- .../exception/NoSuchRaftGroupException.java | 47 -- .../raft/processor/AbstractProcessor.java | 95 --- .../processor/NacosGetRequestProcessor.java | 52 -- .../raft/processor/NacosLogProcessor.java | 53 -- .../processor/NacosReadRequestProcessor.java | 50 -- .../processor/NacosWriteRequestProcessor.java | 50 -- .../raft/utils/FailoverClosure.java | 43 - .../raft/utils/FailoverClosureImpl.java | 64 -- .../raft/utils/JRaftConstants.java | 52 -- .../raft/utils/JRaftLogOperation.java | 31 - .../core/distributed/raft/utils/JRaftOps.java | 189 ----- .../distributed/raft/utils/JRaftUtils.java | 152 ---- .../distributed/raft/utils/RaftExecutor.java | 110 --- .../raft/utils/RaftOptionsBuilder.java | 125 --- .../distributed/raft/utils/RetryRunner.java | 32 - .../nacos/core/exception/ErrorCode.java | 106 --- .../core/exception/KvStorageException.java | 86 -- .../core/exception/SnakflowerException.java | 46 -- .../listener/LoggingApplicationListener.java | 80 -- .../listener/NacosApplicationListener.java | 78 -- .../listener/StartingApplicationListener.java | 269 ------- .../core/model/request/LogUpdateRequest.java | 45 -- .../model/request/LookupUpdateRequest.java | 35 - .../nacos/core/model/vo/IdGeneratorVO.java | 78 -- .../nacos/core/monitor/MetricsMonitor.java | 87 -- .../core/monitor/NacosMeterRegistry.java | 57 -- .../core/remote/AbstractRequestFilter.java | 90 --- .../nacos/core/remote/BaseRpcServer.java | 107 --- .../remote/ClientConnectionEventListener.java | 77 -- ...ClientConnectionEventListenerRegistry.java | 85 -- .../alibaba/nacos/core/remote/Connection.java | 101 --- .../nacos/core/remote/ConnectionManager.java | 759 ------------------ .../nacos/core/remote/ConnectionMeta.java | 303 ------- .../remote/HealthCheckRequestHandler.java | 39 - .../nacos/core/remote/RequestFilters.java | 38 - .../nacos/core/remote/RequestHandler.java | 71 -- .../core/remote/RequestHandlerRegistry.java | 95 --- .../remote/RpcAckCallbackSynchronizer.java | 132 --- .../nacos/core/remote/RpcPushService.java | 111 --- .../remote/control/ClientIpMonitorKey.java | 42 - .../control/ConnectionIdMonitorKey.java | 44 - .../nacos/core/remote/control/MatchMode.java | 55 -- .../nacos/core/remote/control/MonitorKey.java | 58 -- .../remote/control/MonitorKeyMatcher.java | 82 -- .../core/remote/control/MonitorKeyParser.java | 39 - .../core/remote/control/MonitorType.java | 55 -- .../nacos/core/remote/control/TpsControl.java | 45 -- .../core/remote/control/TpsControlConfig.java | 34 - .../control/TpsControlRequestFilter.java | 96 --- .../core/remote/control/TpsControlRule.java | 143 ---- .../control/TpsControlRuleChangeEvent.java | 53 -- .../remote/control/TpsMonitorManager.java | 325 -------- .../core/remote/control/TpsMonitorPoint.java | 298 ------- .../core/remote/control/TpsRecorder.java | 220 ----- .../core/RpcAckCallbackInitorOrCleaner.java | 42 - .../core/ServerLoaderInfoRequestHandler.java | 61 -- .../core/ServerReloaderRequestHandler.java | 64 -- .../event/ConnectionLimitRuleChangeEvent.java | 40 - .../remote/event/RemotingHeartBeatEvent.java | 51 -- .../core/remote/grpc/BaseGrpcServer.java | 230 ------ .../grpc/GrpcBiStreamRequestAcceptor.java | 203 ----- .../core/remote/grpc/GrpcClusterServer.java | 46 -- .../core/remote/grpc/GrpcConnection.java | 152 ---- .../core/remote/grpc/GrpcRequestAcceptor.java | 185 ----- .../nacos/core/remote/grpc/GrpcSdkServer.java | 43 - .../core/remote/grpc/PushAckIdGenerator.java | 43 - .../nacos/core/storage/StorageFactory.java | 51 -- .../nacos/core/storage/kv/FileKvStorage.java | 195 ----- .../nacos/core/storage/kv/KvStorage.java | 130 --- .../core/storage/kv/MemoryKvStorage.java | 140 ---- .../alibaba/nacos/core/utils/ClassUtils.java | 77 -- .../com/alibaba/nacos/core/utils/Commons.java | 39 - .../alibaba/nacos/core/utils/GenericType.java | 55 -- .../nacos/core/utils/GlobalExecutor.java | 87 -- .../com/alibaba/nacos/core/utils/Loggers.java | 77 -- .../OverrideParameterRequestWrapper.java | 110 --- .../alibaba/nacos/core/utils/RemoteUtils.java | 65 -- .../nacos/core/utils/ReuseHttpRequest.java | 58 -- .../core/utils/ReuseHttpServletRequest.java | 138 ---- .../ReuseUploadFileHttpServletRequest.java | 81 -- .../alibaba/nacos/core/utils/StringPool.java | 69 -- .../nacos/core/utils/TimerContext.java | 152 ---- .../alibaba/nacos/core/utils/WebUtils.java | 254 ------ .../main/resources/META-INF/logback/nacos.xml | 352 -------- ...acos.core.ability.ServerAbilityInitializer | 17 - ...cos.core.listener.NacosApplicationListener | 18 - .../main/resources/META-INF/spring.factories | 6 - .../main/resources/lib/nacos-auth-2.1.2.jar | Bin 0 -> 26415 bytes .../main/resources/lib/nacos-cmdb-2.1.2.jar | Bin 0 -> 16659 bytes .../main/resources/lib/nacos-config-2.1.2.jar | Bin 0 -> 498001 bytes .../resources/lib/nacos-consistency-2.1.2.jar | Bin 0 -> 98649 bytes .../main/resources/lib/nacos-core-2.1.2.jar | Bin 0 -> 351012 bytes .../main/resources/lib/nacos-istio-2.1.2.jar | Bin 0 -> 1404399 bytes .../main/resources/lib/nacos-naming-2.1.2.jar | Bin 0 -> 785724 bytes .../lib/nacos-plugin-default-impl-2.1.2.jar | Bin 0 -> 71510 bytes .../main/resources/lib/nacos-sys-2.1.2.jar | Bin 0 -> 49365 bytes .../src/main/resources/static/css/main.css | 69 +- .../src/main/resources/static/index.html | 4 +- .../src/main/resources/static/js/main.js | 292 +++---- 179 files changed, 350 insertions(+), 18398 deletions(-) delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/RemoteAbilityInitializer.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/ServerAbilityInitializer.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/ServerAbilityInitializerHolder.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/AuthConfig.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/AuthFilter.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/RemoteRequestAuthFilter.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/AbstractMemberLookup.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/Member.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberChangeListener.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberLookup.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberMetaDataConstants.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberUtil.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MembersChangeEvent.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/NodeState.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/ServerMemberManager.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/Task.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/AddressServerMemberLookup.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/FileConfigMemberLookup.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/LookupFactory.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/StandaloneMemberLookup.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/remote/ClusterRpcClientProxy.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/ControllerMethodsCache.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/RequestMappingInfo.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/SpringApplicationRunListener.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/StandaloneProfileApplicationListener.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/condition/ParamRequestCondition.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/condition/PathRequestCondition.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/config/AbstractDynamicConfig.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/CoreOpsController.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/NacosClusterController.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/ServerLoaderController.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/v2/CoreOpsV2Controller.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/v2/NacosClusterV2Controller.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/AbstractConsistencyProtocol.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ConsistencyConfiguration.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ProtocolExecutor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ProtocolManager.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroConfig.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroConstants.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroProtocol.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroCallback.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroComponentHolder.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroDataProcessor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroDataStorage.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroFailedTaskHandler.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroTransportAgent.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/entity/DistroData.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/entity/DistroKey.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/exception/DistroException.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/monitor/DistroRecord.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/monitor/DistroRecordsHolder.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/DistroTaskEngineHolder.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTask.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTaskExecuteEngine.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTaskProcessor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/AbstractDistroExecuteTask.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroExecuteTaskExecuteEngine.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroSyncChangeTask.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroSyncDeleteTask.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/load/DistroLoadDataTask.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/verify/DistroVerifyExecuteTask.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/verify/DistroVerifyTimedTask.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/id/IdGeneratorManager.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/id/SnowFlowerIdGenerator.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftMaintainService.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftProtocol.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftServer.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JSnapshotOperation.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/NacosClosure.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/NacosStateMachine.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftConfig.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftErrorEvent.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftEvent.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftSysConstants.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/DuplicateRaftGroupException.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/JRaftException.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/NoLeaderException.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/NoSuchRaftGroupException.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/AbstractProcessor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosGetRequestProcessor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosLogProcessor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosReadRequestProcessor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosWriteRequestProcessor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/FailoverClosure.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/FailoverClosureImpl.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftConstants.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftLogOperation.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftOps.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftUtils.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RaftExecutor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RaftOptionsBuilder.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RetryRunner.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/ErrorCode.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/KvStorageException.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/SnakflowerException.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/LoggingApplicationListener.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/NacosApplicationListener.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/StartingApplicationListener.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/request/LogUpdateRequest.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/request/LookupUpdateRequest.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/vo/IdGeneratorVO.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/monitor/MetricsMonitor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/monitor/NacosMeterRegistry.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/AbstractRequestFilter.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/BaseRpcServer.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ClientConnectionEventListener.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ClientConnectionEventListenerRegistry.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/Connection.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ConnectionManager.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ConnectionMeta.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/HealthCheckRequestHandler.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestFilters.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestHandler.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestHandlerRegistry.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RpcAckCallbackSynchronizer.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RpcPushService.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/ClientIpMonitorKey.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/ConnectionIdMonitorKey.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MatchMode.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKey.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKeyMatcher.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKeyParser.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorType.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControl.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlConfig.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRequestFilter.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRule.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRuleChangeEvent.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsMonitorManager.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsMonitorPoint.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsRecorder.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/RpcAckCallbackInitorOrCleaner.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/ServerLoaderInfoRequestHandler.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/ServerReloaderRequestHandler.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/event/ConnectionLimitRuleChangeEvent.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/event/RemotingHeartBeatEvent.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/BaseGrpcServer.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcBiStreamRequestAcceptor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcClusterServer.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcConnection.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcRequestAcceptor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcSdkServer.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/PushAckIdGenerator.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/StorageFactory.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/FileKvStorage.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/KvStorage.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/MemoryKvStorage.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ClassUtils.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/Commons.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/GenericType.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/GlobalExecutor.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/Loggers.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/OverrideParameterRequestWrapper.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/RemoteUtils.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseHttpRequest.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseHttpServletRequest.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseUploadFileHttpServletRequest.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/StringPool.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/TimerContext.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/WebUtils.java delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/logback/nacos.xml delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/services/com.alibaba.nacos.core.ability.ServerAbilityInitializer delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/services/com.alibaba.nacos.core.listener.NacosApplicationListener delete mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/spring.factories create mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-auth-2.1.2.jar create mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-cmdb-2.1.2.jar create mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-config-2.1.2.jar create mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-consistency-2.1.2.jar create mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-core-2.1.2.jar create mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-istio-2.1.2.jar create mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-naming-2.1.2.jar create mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-plugin-default-impl-2.1.2.jar create mode 100644 ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-sys-2.1.2.jar diff --git a/ruoyi-common/ruoyi-common-alibaba-bom/pom.xml b/ruoyi-common/ruoyi-common-alibaba-bom/pom.xml index db0d3830..843a2e9a 100644 --- a/ruoyi-common/ruoyi-common-alibaba-bom/pom.xml +++ b/ruoyi-common/ruoyi-common-alibaba-bom/pom.xml @@ -17,7 +17,7 @@ 2021.0.4.0 1.8.6 1.5.2 - 2.1.1 + 2.1.2 2.0.4 3.1.0 1.0.11 diff --git a/ruoyi-visual/ruoyi-nacos/pom.xml b/ruoyi-visual/ruoyi-nacos/pom.xml index 0b890cd8..c9f32b4e 100644 --- a/ruoyi-visual/ruoyi-nacos/pom.xml +++ b/ruoyi-visual/ruoyi-nacos/pom.xml @@ -27,13 +27,14 @@ jar - 2.1.1 + 2.1.2 + ${project.basedir}/src/main/resources/lib - io.springboot.nacos + com.alibaba.nacos nacos-all ${nacos.version} pom @@ -44,25 +45,174 @@ - io.springboot.nacos + com.alibaba.nacos + nacos-auth + ${nacos.version} + system + ${nacos.lib.path}/nacos-auth-${nacos.version}.jar + + + com.alibaba.nacos + nacos-cmdb + ${nacos.version} + system + ${nacos.lib.path}/nacos-cmdb-${nacos.version}.jar + + + com.alibaba.nacos nacos-config ${nacos.version} + system + ${nacos.lib.path}/nacos-config-${nacos.version}.jar + + + com.alibaba.nacos + nacos-consistency + ${nacos.version} + system + ${nacos.lib.path}/nacos-consistency-${nacos.version}.jar + + + com.alibaba.nacos + nacos-core + ${nacos.version} + system + ${nacos.lib.path}/nacos-core-${nacos.version}.jar + + + com.alibaba.nacos + nacos-istio + ${nacos.version} + system + ${nacos.lib.path}/nacos-istio-${nacos.version}.jar + + + com.alibaba.nacos + nacos-naming + ${nacos.version} + system + ${nacos.lib.path}/nacos-naming-${nacos.version}.jar + + + com.alibaba.nacos + nacos-plugin-default-impl + ${nacos.version} + system + ${nacos.lib.path}/nacos-plugin-default-impl-${nacos.version}.jar + + + com.alibaba.nacos + nacos-sys + ${nacos.version} + system + ${nacos.lib.path}/nacos-sys-${nacos.version}.jar + + + com.alibaba.nacos + nacos-common + ${nacos.version} - io.springboot.nacos - nacos-naming - ${nacos.version} + com.alibaba.nacos + nacos-client - io.springboot.nacos - nacos-plugin-default-impl - ${nacos.version} + org.springframework.boot + spring-boot-starter-web - io.springboot.nacos - nacos-istio - ${nacos.version} + org.springframework.boot + spring-boot-starter-jdbc + + + org.springframework.boot + spring-boot-starter-aop + + + org.springframework.ldap + spring-ldap-core + + + + com.caucho + hessian + + + commons-collections + commons-collections + + + ch.qos.logback + logback-classic + + + ch.qos.logback + logback-core + + + mysql + mysql-connector-java + + + org.apache.derby + derby + + + com.alipay.sofa + jraft-core + + + com.alipay.sofa + rpc-grpc-impl + + + org.codehaus.jackson + jackson-core-asl + + + io.jsonwebtoken + jjwt-api + + + io.jsonwebtoken + jjwt-impl + runtime + + + io.jsonwebtoken + jjwt-jackson + runtime + + + com.google.guava + guava + + + org.javatuples + javatuples + + + com.google.code.gson + gson + + + io.micrometer + micrometer-registry-prometheus + + + io.micrometer + micrometer-registry-influx + + + io.micrometer + micrometer-registry-elastic + + + + io.envoyproxy.controlplane + api + 0.1.27 @@ -106,6 +256,10 @@ + + + true + diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/console/config/ConsoleConfig.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/console/config/ConsoleConfig.java index 237ff383..2afdaaef 100644 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/console/config/ConsoleConfig.java +++ b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/console/config/ConsoleConfig.java @@ -42,10 +42,10 @@ import java.time.ZoneId; @EnableScheduling @PropertySource("/application.properties") public class ConsoleConfig { - + @Autowired private ControllerMethodsCache methodsCache; - + /** * Init. */ @@ -56,7 +56,7 @@ public class ConsoleConfig { methodsCache.initClassMethod("com.alibaba.nacos.config.server.controller"); methodsCache.initClassMethod("com.alibaba.nacos.console.controller"); } - + @Bean public CorsFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); @@ -69,12 +69,12 @@ public class ConsoleConfig { source.registerCorsConfiguration("/**", config); return new CorsFilter(source); } - + @Bean public XssFilter xssFilter() { return new XssFilter(); } - + @Bean public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() { return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(ZoneId.systemDefault().toString()); diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/RemoteAbilityInitializer.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/RemoteAbilityInitializer.java deleted file mode 100644 index b26db0a4..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/RemoteAbilityInitializer.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 1999-2021 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.ability; - -import com.alibaba.nacos.api.ability.ServerAbilities; - -/** - * Server ability initializer for remote. - * - * @author xiweng.yy - */ -public class RemoteAbilityInitializer implements ServerAbilityInitializer { - - @Override - public void initialize(ServerAbilities abilities) { - abilities.getRemoteAbility().setSupportRemoteConnection(true); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/ServerAbilityInitializer.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/ServerAbilityInitializer.java deleted file mode 100644 index 368d9e44..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/ServerAbilityInitializer.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 1999-2021 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.ability; - -import com.alibaba.nacos.api.ability.ServerAbilities; -import com.alibaba.nacos.api.ability.initializer.AbilityInitializer; - -/** - * Nacos server ability initializer. - * - * @author xiweng.yy - */ -public interface ServerAbilityInitializer extends AbilityInitializer { - - /** - * Initialize server abilities content. - * - * @param abilities server abilities - */ - @Override - void initialize(ServerAbilities abilities); -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/ServerAbilityInitializerHolder.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/ServerAbilityInitializerHolder.java deleted file mode 100644 index 1893ab3d..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/ability/ServerAbilityInitializerHolder.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 1999-2021 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.ability; - -import com.alibaba.nacos.common.spi.NacosServiceLoader; -import com.alibaba.nacos.core.utils.Loggers; - -import java.util.Collection; -import java.util.HashSet; - -/** - * Nacos server ability initializer holder. - * - * @author xiweng.yy - */ -public class ServerAbilityInitializerHolder { - - private static final ServerAbilityInitializerHolder INSTANCE = new ServerAbilityInitializerHolder(); - - private final Collection initializers; - - private ServerAbilityInitializerHolder() { - initializers = new HashSet<>(); - for (ServerAbilityInitializer each : NacosServiceLoader.load(ServerAbilityInitializer.class)) { - Loggers.CORE.info("Load {} for ServerAbilityInitializer", each.getClass().getCanonicalName()); - initializers.add(each); - } - } - - public static ServerAbilityInitializerHolder getInstance() { - return INSTANCE; - } - - public Collection getInitializers() { - return initializers; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/AuthConfig.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/AuthConfig.java deleted file mode 100644 index db43e8a8..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/AuthConfig.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.auth; - -import com.alibaba.nacos.auth.config.AuthConfigs; -import com.alibaba.nacos.core.code.ControllerMethodsCache; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * auth filter config. - * - * @author mai.jh - */ -@Configuration -public class AuthConfig { - - @Bean - public FilterRegistrationBean authFilterRegistration(AuthFilter authFilter) { - FilterRegistrationBean registration = new FilterRegistrationBean<>(); - registration.setFilter(authFilter); - registration.addUrlPatterns("/*"); - registration.setName("authFilter"); - registration.setOrder(6); - - return registration; - } - - @Bean - public AuthFilter authFilter(AuthConfigs authConfigs, ControllerMethodsCache methodsCache) { - return new AuthFilter(authConfigs, methodsCache); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/AuthFilter.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/AuthFilter.java deleted file mode 100644 index 92853e00..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/AuthFilter.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.auth; - -import com.alibaba.nacos.auth.HttpProtocolAuthService; -import com.alibaba.nacos.auth.annotation.Secured; -import com.alibaba.nacos.auth.config.AuthConfigs; -import com.alibaba.nacos.common.utils.ExceptionUtil; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.core.code.ControllerMethodsCache; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.core.utils.WebUtils; -import com.alibaba.nacos.plugin.auth.api.IdentityContext; -import com.alibaba.nacos.plugin.auth.api.Permission; -import com.alibaba.nacos.plugin.auth.api.Resource; -import com.alibaba.nacos.plugin.auth.exception.AccessException; -import com.alibaba.nacos.sys.env.Constants; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.lang.reflect.Method; - -/** - * Unified filter to handle authentication and authorization. - * - * @author nkorange - * @since 1.2.0 - */ -public class AuthFilter implements Filter { - - private final AuthConfigs authConfigs; - - private final ControllerMethodsCache methodsCache; - - private final HttpProtocolAuthService protocolAuthService; - - public AuthFilter(AuthConfigs authConfigs, ControllerMethodsCache methodsCache) { - this.authConfigs = authConfigs; - this.methodsCache = methodsCache; - this.protocolAuthService = new HttpProtocolAuthService(authConfigs); - this.protocolAuthService.initialize(); - } - - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - throws IOException, ServletException { - - if (!authConfigs.isAuthEnabled()) { - chain.doFilter(request, response); - return; - } - - HttpServletRequest req = (HttpServletRequest) request; - HttpServletResponse resp = (HttpServletResponse) response; - - if (authConfigs.isEnableUserAgentAuthWhite()) { - String userAgent = WebUtils.getUserAgent(req); - if (StringUtils.startsWith(userAgent, Constants.NACOS_SERVER_HEADER)) { - chain.doFilter(request, response); - return; - } - } else if (StringUtils.isNotBlank(authConfigs.getServerIdentityKey()) && StringUtils - .isNotBlank(authConfigs.getServerIdentityValue())) { - String serverIdentity = req.getHeader(authConfigs.getServerIdentityKey()); - if (StringUtils.isNotBlank(serverIdentity)) { - if (authConfigs.getServerIdentityValue().equals(serverIdentity)) { - chain.doFilter(request, response); - return; - } - Loggers.AUTH.warn("Invalid server identity value for {} from {}", authConfigs.getServerIdentityKey(), - req.getRemoteHost()); - } - } else { - resp.sendError(HttpServletResponse.SC_FORBIDDEN, - "Invalid server identity key or value, Please make sure set `nacos.core.auth.server.identity.key`" - + " and `nacos.core.auth.server.identity.value`, or open `nacos.core.auth.enable.userAgentAuthWhite`"); - return; - } - - try { - - Method method = methodsCache.getMethod(req); - - if (method == null) { - chain.doFilter(request, response); - return; - } - - if (method.isAnnotationPresent(Secured.class) && authConfigs.isAuthEnabled()) { - - if (Loggers.AUTH.isDebugEnabled()) { - Loggers.AUTH.debug("auth start, request: {} {}", req.getMethod(), req.getRequestURI()); - } - - Secured secured = method.getAnnotation(Secured.class); - if (!protocolAuthService.enableAuth(secured)) { - chain.doFilter(request, response); - return; - } - Resource resource = protocolAuthService.parseResource(req, secured); - IdentityContext identityContext = protocolAuthService.parseIdentity(req); - boolean result = protocolAuthService.validateIdentity(identityContext, resource); - if (!result) { - // TODO Get reason of failure - throw new AccessException("Validate Identity failed."); - } - injectIdentityId(req, identityContext); - String action = secured.action().toString(); - result = protocolAuthService.validateAuthority(identityContext, new Permission(resource, action)); - if (!result) { - // TODO Get reason of failure - throw new AccessException("Validate Authority failed."); - } - } - chain.doFilter(request, response); - } catch (AccessException e) { - if (Loggers.AUTH.isDebugEnabled()) { - Loggers.AUTH.debug("access denied, request: {} {}, reason: {}", req.getMethod(), req.getRequestURI(), - e.getErrMsg()); - } - resp.sendError(HttpServletResponse.SC_FORBIDDEN, e.getErrMsg()); - } catch (IllegalArgumentException e) { - resp.sendError(HttpServletResponse.SC_BAD_REQUEST, ExceptionUtil.getAllExceptionMsg(e)); - } catch (Exception e) { - Loggers.AUTH.warn("[AUTH-FILTER] Server failed: ", e); - resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Server failed, " + e.getMessage()); - } - } - - /** - * Set identity id to request session, make sure some actual logic can get identity information. - * - *

May be replaced with whole identityContext. - * - * @param request http request - * @param identityContext identity context - */ - private void injectIdentityId(HttpServletRequest request, IdentityContext identityContext) { - String identityId = identityContext - .getParameter(com.alibaba.nacos.plugin.auth.constant.Constants.Identity.IDENTITY_ID, StringUtils.EMPTY); - request.getSession() - .setAttribute(com.alibaba.nacos.plugin.auth.constant.Constants.Identity.IDENTITY_ID, identityId); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/RemoteRequestAuthFilter.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/RemoteRequestAuthFilter.java deleted file mode 100644 index ad9a250b..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/auth/RemoteRequestAuthFilter.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.auth; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.request.Request; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.auth.GrpcProtocolAuthService; -import com.alibaba.nacos.auth.annotation.Secured; -import com.alibaba.nacos.auth.config.AuthConfigs; -import com.alibaba.nacos.common.utils.ExceptionUtil; -import com.alibaba.nacos.core.remote.AbstractRequestFilter; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.plugin.auth.api.IdentityContext; -import com.alibaba.nacos.plugin.auth.api.Permission; -import com.alibaba.nacos.plugin.auth.api.Resource; -import com.alibaba.nacos.plugin.auth.constant.Constants; -import com.alibaba.nacos.plugin.auth.exception.AccessException; -import org.springframework.stereotype.Component; - -import java.lang.reflect.Method; - -/** - * request auth filter for remote. - * - * @author liuzunfei - * @version $Id: RemoteRequestAuthFilter.java, v 0.1 2020年09月14日 12:38 PM liuzunfei Exp $ - */ -@Component -public class RemoteRequestAuthFilter extends AbstractRequestFilter { - - private final AuthConfigs authConfigs; - - private final GrpcProtocolAuthService protocolAuthService; - - public RemoteRequestAuthFilter(AuthConfigs authConfigs) { - this.authConfigs = authConfigs; - this.protocolAuthService = new GrpcProtocolAuthService(authConfigs); - this.protocolAuthService.initialize(); - } - - @Override - public Response filter(Request request, RequestMeta meta, Class handlerClazz) throws NacosException { - - try { - - Method method = getHandleMethod(handlerClazz); - if (method.isAnnotationPresent(Secured.class) && authConfigs.isAuthEnabled()) { - - if (Loggers.AUTH.isDebugEnabled()) { - Loggers.AUTH.debug("auth start, request: {}", request.getClass().getSimpleName()); - } - - Secured secured = method.getAnnotation(Secured.class); - if (!protocolAuthService.enableAuth(secured)) { - return null; - } - String clientIp = meta.getClientIp(); - request.putHeader(Constants.Identity.X_REAL_IP, clientIp); - Resource resource = protocolAuthService.parseResource(request, secured); - IdentityContext identityContext = protocolAuthService.parseIdentity(request); - boolean result = protocolAuthService.validateIdentity(identityContext, resource); - if (!result) { - // TODO Get reason of failure - throw new AccessException("Validate Identity failed."); - } - String action = secured.action().toString(); - result = protocolAuthService.validateAuthority(identityContext, new Permission(resource, action)); - if (!result) { - // TODO Get reason of failure - throw new AccessException("Validate Authority failed."); - } - } - } catch (AccessException e) { - if (Loggers.AUTH.isDebugEnabled()) { - Loggers.AUTH.debug("access denied, request: {}, reason: {}", request.getClass().getSimpleName(), - e.getErrMsg()); - } - Response defaultResponseInstance = getDefaultResponseInstance(handlerClazz); - defaultResponseInstance.setErrorInfo(NacosException.NO_RIGHT, e.getErrMsg()); - return defaultResponseInstance; - } catch (Exception e) { - Response defaultResponseInstance = getDefaultResponseInstance(handlerClazz); - - defaultResponseInstance.setErrorInfo(NacosException.SERVER_ERROR, ExceptionUtil.getAllExceptionMsg(e)); - return defaultResponseInstance; - } - - return null; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/AbstractMemberLookup.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/AbstractMemberLookup.java deleted file mode 100644 index 46cc913b..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/AbstractMemberLookup.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -import com.alibaba.nacos.api.exception.NacosException; - -import java.util.Collection; -import java.util.concurrent.atomic.AtomicBoolean; - -/** - * Addressable pattern base class. - * - * @author liaochuntao - */ -public abstract class AbstractMemberLookup implements MemberLookup { - - protected ServerMemberManager memberManager; - - protected AtomicBoolean start = new AtomicBoolean(false); - - @Override - public void injectMemberManager(ServerMemberManager memberManager) { - this.memberManager = memberManager; - } - - @Override - public void afterLookup(Collection members) { - this.memberManager.memberChange(members); - } - - @Override - public void destroy() throws NacosException { - if (start.compareAndSet(true, false)) { - doDestroy(); - } - } - - @Override - public void start() throws NacosException { - if (start.compareAndSet(false, true)) { - doStart(); - } - } - - /** - * subclass can override this method if need. - * @throws NacosException NacosException - */ - protected abstract void doStart() throws NacosException; - - /** - * subclass can override this method if need. - * @throws NacosException nacosException - */ - protected abstract void doDestroy() throws NacosException; -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/Member.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/Member.java deleted file mode 100644 index 090cf9f4..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/Member.java +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -import com.alibaba.nacos.api.ability.ServerAbilities; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.common.utils.StringUtils; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.Serializable; -import java.util.Collections; -import java.util.Map; -import java.util.Objects; -import java.util.TreeMap; - -/** - * Cluster member node. - * - * @author liaochuntao - */ -public class Member implements Comparable, Cloneable, Serializable { - - private static final long serialVersionUID = -6061130045021268736L; - - private String ip; - - private int port = -1; - - private volatile NodeState state = NodeState.UP; - - private Map extendInfo = Collections.synchronizedMap(new TreeMap<>()); - - private String address = ""; - - private transient int failAccessCnt = 0; - - private ServerAbilities abilities = new ServerAbilities(); - - public Member() { - String prefix = "nacos.core.member.meta."; - extendInfo.put(MemberMetaDataConstants.SITE_KEY, - EnvUtil.getProperty(prefix + MemberMetaDataConstants.SITE_KEY, "unknow")); - extendInfo.put(MemberMetaDataConstants.AD_WEIGHT, - EnvUtil.getProperty(prefix + MemberMetaDataConstants.AD_WEIGHT, "0")); - extendInfo - .put(MemberMetaDataConstants.WEIGHT, EnvUtil.getProperty(prefix + MemberMetaDataConstants.WEIGHT, "1")); - } - - public ServerAbilities getAbilities() { - return abilities; - } - - public void setAbilities(ServerAbilities abilities) { - this.abilities = abilities; - } - - public static MemberBuilder builder() { - return new MemberBuilder(); - } - - public int getPort() { - return port; - } - - public void setPort(int port) { - this.port = port; - } - - public NodeState getState() { - return state; - } - - public void setState(NodeState state) { - this.state = state; - } - - public Map getExtendInfo() { - return extendInfo; - } - - public void setExtendInfo(Map extendInfo) { - Map newExtendInfo = Collections.synchronizedMap(new TreeMap<>()); - newExtendInfo.putAll(extendInfo); - this.extendInfo = newExtendInfo; - } - - public String getIp() { - return ip; - } - - public void setIp(String ip) { - this.ip = ip; - } - - public String getAddress() { - if (StringUtils.isBlank(address)) { - address = ip + ":" + port; - } - return address; - } - - public void setAddress(String address) { - this.address = address; - } - - public Object getExtendVal(String key) { - return extendInfo.get(key); - } - - public void setExtendVal(String key, Object value) { - extendInfo.put(key, value); - } - - public void delExtendVal(String key) { - extendInfo.remove(key); - } - - public boolean check() { - return StringUtils.isNoneBlank(ip, address) && port != -1; - } - - public int getFailAccessCnt() { - return failAccessCnt; - } - - public void setFailAccessCnt(int failAccessCnt) { - this.failAccessCnt = failAccessCnt; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Member that = (Member) o; - if (StringUtils.isAnyBlank(address, that.address)) { - return port == that.port && StringUtils.equals(ip, that.ip); - } - return StringUtils.equals(address, that.address); - } - - @Override - public String toString() { - return "Member{" + "ip='" + ip + '\'' + ", port=" + port + ", state=" + state + ", extendInfo=" + extendInfo - + '}'; - } - - @Override - public int hashCode() { - return Objects.hash(ip, port); - } - - @Override - public int compareTo(Member o) { - return getAddress().compareTo(o.getAddress()); - } - - /** - * get a copy. - * - * @return member. - */ - public Member copy() { - Member copy = null; - try { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - ObjectOutputStream oos = new ObjectOutputStream(baos); - oos.writeObject(this); - // convert the input stream to member object - ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); - ObjectInputStream ois = new ObjectInputStream(bais); - copy = (Member) ois.readObject(); - } catch (IOException | ClassNotFoundException e) { - Loggers.CORE.warn("[Member copy] copy failed", e); - } - return copy; - } - - public static final class MemberBuilder { - - private String ip; - - private int port; - - private NodeState state; - - private Map extendInfo = Collections.synchronizedMap(new TreeMap<>()); - - private MemberBuilder() { - } - - public MemberBuilder ip(String ip) { - this.ip = ip; - return this; - } - - public MemberBuilder port(int port) { - this.port = port; - return this; - } - - public MemberBuilder state(NodeState state) { - this.state = state; - return this; - } - - public MemberBuilder extendInfo(Map extendInfo) { - this.extendInfo.putAll(extendInfo); - return this; - } - - /** - * build Member. - * - * @return {@link Member} - */ - public Member build() { - Member serverNode = new Member(); - if (Objects.nonNull(this.extendInfo)) { - serverNode.extendInfo.putAll(this.extendInfo); - } - serverNode.state = this.state; - serverNode.ip = this.ip; - serverNode.port = this.port; - serverNode.address = this.ip + ":" + this.port; - return serverNode; - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberChangeListener.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberChangeListener.java deleted file mode 100644 index 25b7192c..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberChangeListener.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -import com.alibaba.nacos.common.notify.Event; -import com.alibaba.nacos.common.notify.listener.Subscriber; - -/** - * Node change listeners. - * - * @author liaochuntao - */ -@SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule") -public abstract class MemberChangeListener extends Subscriber { - - /** - * return NodeChangeEvent.class info. - * - * @return {@link MembersChangeEvent#getClass()} - */ - @Override - public Class subscribeType() { - return MembersChangeEvent.class; - } - - /** - * Whether to ignore expired events. - * - * @return default value is {@link Boolean#TRUE} - */ - @Override - public boolean ignoreExpireEvent() { - return true; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberLookup.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberLookup.java deleted file mode 100644 index 9dee565b..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberLookup.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -import com.alibaba.nacos.api.exception.NacosException; - -import java.util.Collection; -import java.util.Collections; -import java.util.Map; - -/** - * Member node addressing mode. - * - * @author liaochuntao - */ -public interface MemberLookup { - - /** - * start. - * - * @throws NacosException NacosException - */ - void start() throws NacosException; - - /** - * is using address server. - * - * @return using address server or not. - */ - boolean useAddressServer(); - - /** - * Inject the ServerMemberManager property. - * - * @param memberManager {@link ServerMemberManager} - */ - void injectMemberManager(ServerMemberManager memberManager); - - /** - * The addressing pattern finds cluster nodes. - * - * @param members {@link Collection} - */ - void afterLookup(Collection members); - - /** - * Addressing mode closed. - * - * @throws NacosException NacosException - */ - void destroy() throws NacosException; - - /** - * Some data information about the addressing pattern. - * - * @return {@link Map} - */ - default Map info() { - return Collections.emptyMap(); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberMetaDataConstants.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberMetaDataConstants.java deleted file mode 100644 index a72bc666..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberMetaDataConstants.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -/** - * The necessary metadata information for the node. - * - * @author liaochuntao - */ -public class MemberMetaDataConstants { - - /** - * Raft port,This parameter is dropped when RPC is used as a whole. - */ - public static final String RAFT_PORT = "raftPort"; - - public static final String SITE_KEY = "site"; - - public static final String AD_WEIGHT = "adWeight"; - - public static final String WEIGHT = "weight"; - - public static final String LAST_REFRESH_TIME = "lastRefreshTime"; - - public static final String VERSION = "version"; - - public static final String SUPPORT_REMOTE_C_TYPE = "remoteConnectType"; - - public static final String READY_TO_UPGRADE = "readyToUpgrade"; - - public static final String[] BASIC_META_KEYS = new String[] {SITE_KEY, AD_WEIGHT, RAFT_PORT, WEIGHT, VERSION, - READY_TO_UPGRADE}; -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberUtil.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberUtil.java deleted file mode 100644 index 3a81aeb0..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MemberUtil.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -import com.alibaba.nacos.common.utils.ExceptionUtil; -import com.alibaba.nacos.common.utils.InternetAddressUtil; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.common.utils.StringUtils; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; -import java.util.concurrent.ThreadLocalRandom; -import java.util.function.Predicate; -import java.util.stream.Collectors; - -/** - * Member node tool class. - * - * @author liaochuntao - */ -public class MemberUtil { - - protected static final String TARGET_MEMBER_CONNECT_REFUSE_ERRMSG = "Connection refused"; - - private static final String SERVER_PORT_PROPERTY = "server.port"; - - private static final int DEFAULT_SERVER_PORT = 8848; - - private static final int DEFAULT_RAFT_OFFSET_PORT = 1000; - - private static final String MEMBER_FAIL_ACCESS_CNT_PROPERTY = "nacos.core.member.fail-access-cnt"; - - private static final int DEFAULT_MEMBER_FAIL_ACCESS_CNT = 3; - - /** - * Information copy. - * - * @param newMember {@link Member} - * @param oldMember {@link Member} - */ - public static void copy(Member newMember, Member oldMember) { - oldMember.setIp(newMember.getIp()); - oldMember.setPort(newMember.getPort()); - oldMember.setState(newMember.getState()); - oldMember.setExtendInfo(newMember.getExtendInfo()); - oldMember.setAddress(newMember.getAddress()); - oldMember.setAbilities(newMember.getAbilities()); - } - - /** - * parse ip:port to member. - * - * @param member ip:port - * @return {@link Member} - */ - @SuppressWarnings("PMD.UndefineMagicConstantRule") - public static Member singleParse(String member) { - // Nacos default port is 8848 - int defaultPort = EnvUtil.getProperty(SERVER_PORT_PROPERTY, Integer.class, DEFAULT_SERVER_PORT); - // Set the default Raft port information for securit - - String address = member; - int port = defaultPort; - String[] info = InternetAddressUtil.splitIPPortStr(address); - if (info.length > 1) { - address = info[0]; - port = Integer.parseInt(info[1]); - } - - Member target = Member.builder().ip(address).port(port).state(NodeState.UP).build(); - Map extendInfo = new HashMap<>(4); - // The Raft Port information needs to be set by default - extendInfo.put(MemberMetaDataConstants.RAFT_PORT, String.valueOf(calculateRaftPort(target))); - extendInfo.put(MemberMetaDataConstants.READY_TO_UPGRADE, true); - target.setExtendInfo(extendInfo); - return target; - } - - /** - * check whether the member support long connection or not. - * - * @param member member instance of server. - * @return support long connection or not. - */ - public static boolean isSupportedLongCon(Member member) { - if (member.getAbilities() == null || member.getAbilities().getRemoteAbility() == null) { - return false; - } - return member.getAbilities().getRemoteAbility().isSupportRemoteConnection(); - } - - public static int calculateRaftPort(Member member) { - return member.getPort() - DEFAULT_RAFT_OFFSET_PORT; - } - - /** - * Resolves to Member list. - * - * @param addresses ip list, example [127.0.0.1:8847,127.0.0.1:8848,127.0.0.1:8849] - * @return member list - */ - public static Collection multiParse(Collection addresses) { - List members = new ArrayList<>(addresses.size()); - for (String address : addresses) { - Member member = singleParse(address); - members.add(member); - } - return members; - } - - /** - * Successful processing of the operation on the node. - * - * @param member {@link Member} - */ - public static void onSuccess(final ServerMemberManager manager, final Member member) { - final NodeState old = member.getState(); - manager.getMemberAddressInfos().add(member.getAddress()); - member.setState(NodeState.UP); - member.setFailAccessCnt(0); - if (!Objects.equals(old, member.getState())) { - manager.notifyMemberChange(member); - } - } - - public static void onFail(final ServerMemberManager manager, final Member member) { - // To avoid null pointer judgments, pass in one NONE_EXCEPTION - onFail(manager, member, ExceptionUtil.NONE_EXCEPTION); - } - - /** - * Failure processing of the operation on the node. - * - * @param member {@link Member} - * @param ex {@link Throwable} - */ - public static void onFail(final ServerMemberManager manager, final Member member, Throwable ex) { - manager.getMemberAddressInfos().remove(member.getAddress()); - final NodeState old = member.getState(); - member.setState(NodeState.SUSPICIOUS); - member.setFailAccessCnt(member.getFailAccessCnt() + 1); - int maxFailAccessCnt = EnvUtil.getProperty(MEMBER_FAIL_ACCESS_CNT_PROPERTY, Integer.class, DEFAULT_MEMBER_FAIL_ACCESS_CNT); - - // If the number of consecutive failures to access the target node reaches - // a maximum, or the link request is rejected, the state is directly down - if (member.getFailAccessCnt() > maxFailAccessCnt || StringUtils - .containsIgnoreCase(ex.getMessage(), TARGET_MEMBER_CONNECT_REFUSE_ERRMSG)) { - member.setState(NodeState.DOWN); - } - if (!Objects.equals(old, member.getState())) { - manager.notifyMemberChange(member); - } - } - - /** - * Node list information persistence. - * - * @param members member list - */ - public static void syncToFile(Collection members) { - try { - StringBuilder builder = new StringBuilder(); - builder.append('#').append(LocalDateTime.now()).append(StringUtils.LF); - for (String member : simpleMembers(members)) { - builder.append(member).append(StringUtils.LF); - } - EnvUtil.writeClusterConf(builder.toString()); - } catch (Throwable ex) { - Loggers.CLUSTER.error("cluster member node persistence failed : {}", ExceptionUtil.getAllExceptionMsg(ex)); - } - } - - /** - * We randomly pick k nodes. - * - * @param members member list - * @param filter filter {@link Predicate} - * @param k node number - * @return target members - */ - @SuppressWarnings("PMD.UndefineMagicConstantRule") - public static Collection kRandom(Collection members, Predicate filter, int k) { - - Set kMembers = new HashSet<>(); - - // Here thinking similar consul gossip protocols random k node - int totalSize = members.size(); - Member[] membersArray = members.toArray(new Member[totalSize]); - ThreadLocalRandom threadLocalRandom = ThreadLocalRandom.current(); - for (int i = 0; i < 3 * totalSize && kMembers.size() < k; i++) { - int idx = threadLocalRandom.nextInt(totalSize); - Member member = membersArray[idx]; - if (filter.test(member)) { - kMembers.add(member); - } - } - - return kMembers; - } - - /** - * Default configuration format resolution, only NACos-Server IP or IP :port or hostname: Port information. - */ - public static Collection readServerConf(Collection members) { - Set nodes = new HashSet<>(); - - for (String member : members) { - Member target = singleParse(member); - nodes.add(target); - } - - return nodes; - } - - /** - * Select target members with filter. - * - * @param members original members - * @param filter filter - * @return target members - */ - public static Set selectTargetMembers(Collection members, Predicate filter) { - return members.stream().filter(filter).collect(Collectors.toSet()); - } - - /** - * Get address list of members. - * - * @param members members - * @return address list - */ - public static List simpleMembers(Collection members) { - return members.stream().map(Member::getAddress).sorted() - .collect(ArrayList::new, ArrayList::add, ArrayList::addAll); - } - - /** - * Judge whether basic info has changed. - * - * @param actual actual member - * @param expected expected member - * @return true if all content is same, otherwise false - */ - public static boolean isBasicInfoChanged(Member actual, Member expected) { - if (null == expected) { - return null == actual; - } - if (!expected.getIp().equals(actual.getIp())) { - return true; - } - if (expected.getPort() != actual.getPort()) { - return true; - } - if (!expected.getAddress().equals(actual.getAddress())) { - return true; - } - if (!expected.getState().equals(actual.getState())) { - return true; - } - - if (!expected.getAbilities().equals(actual.getAbilities())) { - return true; - } - - return isBasicInfoChangedInExtendInfo(expected, actual); - } - - private static boolean isBasicInfoChangedInExtendInfo(Member expected, Member actual) { - for (String each : MemberMetaDataConstants.BASIC_META_KEYS) { - if (expected.getExtendInfo().containsKey(each) != actual.getExtendInfo().containsKey(each)) { - return true; - } - if (!Objects.equals(expected.getExtendVal(each), actual.getExtendVal(each))) { - return true; - } - } - return false; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MembersChangeEvent.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MembersChangeEvent.java deleted file mode 100644 index 8feb572a..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/MembersChangeEvent.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -import com.alibaba.nacos.common.notify.Event; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; - -/** - * Publish this event when the node list changes,All interested in the node list change event can listen to this event. - * - *

    - *
  • {@link com.alibaba.nacos.core.distributed.ProtocolManager}
  • - *
  • {@link com.alibaba.nacos.naming.core.DistroMapper}
  • - *
  • {@link com.alibaba.nacos.naming.consistency.persistent.raft.RaftPeerSet}
  • - *
- * - * @author liaochuntao - */ -public class MembersChangeEvent extends Event { - - private static final long serialVersionUID = 7308126651076668976L; - - private final Collection members; - - private final Collection triggers; - - private MembersChangeEvent(Collection members, Collection triggers) { - this.members = members; - this.triggers = new HashSet<>(); - if (triggers != null) { - this.triggers.addAll(triggers); - } - } - - public static MemberChangeEventBuilder builder() { - return new MemberChangeEventBuilder(); - } - - public Collection getMembers() { - return members; - } - - public boolean hasTriggers() { - return !triggers.isEmpty(); - } - - public Collection getTriggers() { - return triggers; - } - - @Override - public String toString() { - return "MembersChangeEvent{" + "members=" + members + ", triggers=" + triggers + ", no=" + sequence() + '}'; - } - - public static final class MemberChangeEventBuilder { - - private Collection allMembers; - - private Collection triggers; - - private MemberChangeEventBuilder() { - } - - public MemberChangeEventBuilder members(Collection allMembers) { - this.allMembers = allMembers; - return this; - } - - public MemberChangeEventBuilder triggers(Collection triggers) { - this.triggers = triggers; - return this; - } - - public MemberChangeEventBuilder trigger(Member trigger) { - this.triggers = Collections.singleton(trigger); - return this; - } - - /** - * build MemberChangeEvent. - * - * @return {@link MembersChangeEvent} - */ - public MembersChangeEvent build() { - return new MembersChangeEvent(allMembers, triggers); - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/NodeState.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/NodeState.java deleted file mode 100644 index 93f6adca..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/NodeState.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -/** - * The life cycle state of a node plays an important role. - * - *

1.3.0 The unified sinking operation should be done first, and the node state - * should be radiated out later, mainly for whether the request can be processed and so on

- * - * @author liaochuntao - */ -public enum NodeState { - - /** - * Node is starting. - */ - STARTING, - - /** - * Node is up and ready for request. - */ - UP, - - /** - * Node may Crash. - */ - SUSPICIOUS, - - /** - * Node is out of service, something abnormal happened. - */ - DOWN, - - /** - * The Node is isolated. - */ - ISOLATION, - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/ServerMemberManager.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/ServerMemberManager.java deleted file mode 100644 index 16c6824a..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/ServerMemberManager.java +++ /dev/null @@ -1,602 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -import com.alibaba.nacos.api.ability.ServerAbilities; -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.auth.util.AuthHeaderUtil; -import com.alibaba.nacos.common.JustForTest; -import com.alibaba.nacos.common.http.Callback; -import com.alibaba.nacos.common.http.HttpClientBeanHolder; -import com.alibaba.nacos.common.http.HttpUtils; -import com.alibaba.nacos.common.http.client.NacosAsyncRestTemplate; -import com.alibaba.nacos.common.http.param.Header; -import com.alibaba.nacos.common.http.param.Query; -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.notify.Event; -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.common.notify.listener.Subscriber; -import com.alibaba.nacos.common.utils.ConcurrentHashSet; -import com.alibaba.nacos.common.utils.ExceptionUtil; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.common.utils.VersionUtils; -import com.alibaba.nacos.core.ability.ServerAbilityInitializer; -import com.alibaba.nacos.core.ability.ServerAbilityInitializerHolder; -import com.alibaba.nacos.core.cluster.lookup.LookupFactory; -import com.alibaba.nacos.core.utils.Commons; -import com.alibaba.nacos.core.utils.GenericType; -import com.alibaba.nacos.core.utils.GlobalExecutor; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.Constants; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.sys.utils.InetUtils; -import org.springframework.boot.web.context.WebServerInitializedEvent; -import org.springframework.context.ApplicationListener; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; - -import javax.annotation.PreDestroy; -import javax.servlet.ServletContext; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; -import java.util.concurrent.ConcurrentSkipListMap; - -/** - * Cluster node management in Nacos. - * - *

{@link ServerMemberManager#init()} Cluster node manager initialization {@link ServerMemberManager#shutdown()} The - * cluster node manager is down {@link ServerMemberManager#getSelf()} Gets local node information {@link - * ServerMemberManager#getServerList()} Gets the cluster node dictionary {@link ServerMemberManager#getMemberAddressInfos()} - * Gets the address information of the healthy member node {@link ServerMemberManager#allMembers()} Gets a list of - * member information objects {@link ServerMemberManager#allMembersWithoutSelf()} Gets a list of cluster member nodes - * with the exception of this node {@link ServerMemberManager#hasMember(String)} Is there a node {@link - * ServerMemberManager#memberChange(Collection)} The final node list changes the method, making the full size more - * {@link ServerMemberManager#memberJoin(Collection)} Node join, can automatically trigger {@link - * ServerMemberManager#memberLeave(Collection)} When the node leaves, only the interface call can be manually triggered - * {@link ServerMemberManager#update(Member)} Update the target node information {@link - * ServerMemberManager#isUnHealth(String)} Whether the target node is healthy {@link - * ServerMemberManager#initAndStartLookup()} Initializes the addressing mode - * - * @author liaochuntao - */ -@Component(value = "serverMemberManager") -public class ServerMemberManager implements ApplicationListener { - - private final NacosAsyncRestTemplate asyncRestTemplate = HttpClientBeanHolder - .getNacosAsyncRestTemplate(Loggers.CORE); - - private static final int DEFAULT_SERVER_PORT = 8848; - - private static final String SERVER_PORT_PROPERTY = "server.port"; - - private static final String SPRING_MANAGEMENT_CONTEXT_NAMESPACE = "management"; - - private static final String MEMBER_CHANGE_EVENT_QUEUE_SIZE_PROPERTY = "nacos.member-change-event.queue.size"; - - private static final int DEFAULT_MEMBER_CHANGE_EVENT_QUEUE_SIZE = 128; - - private static boolean isUseAddressServer = false; - - private static final long DEFAULT_TASK_DELAY_TIME = 5_000L; - - /** - * Cluster node list. - */ - private volatile ConcurrentSkipListMap serverList; - - /** - * Is this node in the cluster list. - */ - private static volatile boolean isInIpList = true; - - /** - * port. - */ - private int port; - - /** - * Address information for the local node. - */ - private String localAddress; - - /** - * Addressing pattern instances. - */ - private MemberLookup lookup; - - /** - * self member obj. - */ - private volatile Member self; - - /** - * here is always the node information of the "UP" state. - */ - private volatile Set memberAddressInfos = new ConcurrentHashSet<>(); - - /** - * Broadcast this node element information task. - */ - private final MemberInfoReportTask infoReportTask = new MemberInfoReportTask(); - - public ServerMemberManager(ServletContext servletContext) throws Exception { - this.serverList = new ConcurrentSkipListMap<>(); - EnvUtil.setContextPath(servletContext.getContextPath()); - - init(); - } - - protected void init() throws NacosException { - Loggers.CORE.info("Nacos-related cluster resource initialization"); - this.port = EnvUtil.getProperty(SERVER_PORT_PROPERTY, Integer.class, DEFAULT_SERVER_PORT); - this.localAddress = InetUtils.getSelfIP() + ":" + port; - this.self = MemberUtil.singleParse(this.localAddress); - this.self.setExtendVal(MemberMetaDataConstants.VERSION, VersionUtils.version); - - // init abilities. - this.self.setAbilities(initMemberAbilities()); - - serverList.put(self.getAddress(), self); - - // register NodeChangeEvent publisher to NotifyManager - registerClusterEvent(); - - // Initializes the lookup mode - initAndStartLookup(); - - if (serverList.isEmpty()) { - throw new NacosException(NacosException.SERVER_ERROR, "cannot get serverlist, so exit."); - } - - Loggers.CORE.info("The cluster resource is initialized"); - } - - private ServerAbilities initMemberAbilities() { - ServerAbilities serverAbilities = new ServerAbilities(); - for (ServerAbilityInitializer each : ServerAbilityInitializerHolder.getInstance().getInitializers()) { - each.initialize(serverAbilities); - } - return serverAbilities; - } - - private void initAndStartLookup() throws NacosException { - this.lookup = LookupFactory.createLookUp(this); - isUseAddressServer = this.lookup.useAddressServer(); - this.lookup.start(); - } - - /** - * switch look up. - * - * @param name look up name. - * @throws NacosException exception. - */ - public void switchLookup(String name) throws NacosException { - this.lookup = LookupFactory.switchLookup(name, this); - isUseAddressServer = this.lookup.useAddressServer(); - this.lookup.start(); - } - - private void registerClusterEvent() { - // Register node change events - NotifyCenter.registerToPublisher(MembersChangeEvent.class, - EnvUtil.getProperty(MEMBER_CHANGE_EVENT_QUEUE_SIZE_PROPERTY, Integer.class, - DEFAULT_MEMBER_CHANGE_EVENT_QUEUE_SIZE)); - - // The address information of this node needs to be dynamically modified - // when registering the IP change of this node - NotifyCenter.registerSubscriber(new Subscriber() { - @Override - public void onEvent(InetUtils.IPChangeEvent event) { - String newAddress = event.getNewIP() + ":" + port; - ServerMemberManager.this.localAddress = newAddress; - EnvUtil.setLocalAddress(localAddress); - - Member self = ServerMemberManager.this.self; - self.setIp(event.getNewIP()); - - String oldAddress = event.getOldIP() + ":" + port; - ServerMemberManager.this.serverList.remove(oldAddress); - ServerMemberManager.this.serverList.put(newAddress, self); - - ServerMemberManager.this.memberAddressInfos.remove(oldAddress); - ServerMemberManager.this.memberAddressInfos.add(newAddress); - } - - @Override - public Class subscribeType() { - return InetUtils.IPChangeEvent.class; - } - }); - } - - public static boolean isUseAddressServer() { - return isUseAddressServer; - } - - /** - * member information update. - * - * @param newMember {@link Member} - * @return update is success - */ - public boolean update(Member newMember) { - Loggers.CLUSTER.debug("member information update : {}", newMember); - - String address = newMember.getAddress(); - if (!serverList.containsKey(address)) { - return false; - } - - serverList.computeIfPresent(address, (s, member) -> { - if (NodeState.DOWN.equals(newMember.getState())) { - memberAddressInfos.remove(newMember.getAddress()); - } - boolean isPublishChangeEvent = MemberUtil.isBasicInfoChanged(newMember, member); - newMember.setExtendVal(MemberMetaDataConstants.LAST_REFRESH_TIME, System.currentTimeMillis()); - MemberUtil.copy(newMember, member); - if (isPublishChangeEvent) { - // member basic data changes and all listeners need to be notified - notifyMemberChange(member); - } - return member; - }); - - return true; - } - - void notifyMemberChange(Member member) { - NotifyCenter.publishEvent(MembersChangeEvent.builder().trigger(member).members(allMembers()).build()); - } - - /** - * Whether the node exists within the cluster. - * - * @param address ip:port - * @return is exists - */ - public boolean hasMember(String address) { - boolean result = serverList.containsKey(address); - if (result) { - return true; - } - - // If only IP information is passed in, a fuzzy match is required - for (Map.Entry entry : serverList.entrySet()) { - if (StringUtils.contains(entry.getKey(), address)) { - result = true; - break; - } - } - return result; - } - - public List getServerListUnhealth() { - List unhealthyMembers = new ArrayList<>(); - for (Member member : this.allMembers()) { - NodeState state = member.getState(); - if (state.equals(NodeState.DOWN)) { - unhealthyMembers.add(member.getAddress()); - } - - } - return unhealthyMembers; - } - - public MemberLookup getLookup() { - return lookup; - } - - public Member getSelf() { - return this.self; - } - - public Member find(String address) { - return serverList.get(address); - } - - /** - * return this cluster all members. - * - * @return {@link Collection} all member - */ - public Collection allMembers() { - // We need to do a copy to avoid affecting the real data - HashSet set = new HashSet<>(serverList.values()); - set.add(self); - return set; - } - - /** - * return this cluster all members without self. - * - * @return {@link Collection} all member without self - */ - public List allMembersWithoutSelf() { - List members = new ArrayList<>(serverList.values()); - members.remove(self); - return members; - } - - synchronized boolean memberChange(Collection members) { - - if (members == null || members.isEmpty()) { - return false; - } - - boolean isContainSelfIp = members.stream() - .anyMatch(ipPortTmp -> Objects.equals(localAddress, ipPortTmp.getAddress())); - - if (isContainSelfIp) { - isInIpList = true; - } else { - isInIpList = false; - members.add(this.self); - Loggers.CLUSTER.warn("[serverlist] self ip {} not in serverlist {}", self, members); - } - - // If the number of old and new clusters is different, the cluster information - // must have changed; if the number of clusters is the same, then compare whether - // there is a difference; if there is a difference, then the cluster node changes - // are involved and all recipients need to be notified of the node change event - - boolean hasChange = members.size() != serverList.size(); - ConcurrentSkipListMap tmpMap = new ConcurrentSkipListMap<>(); - Set tmpAddressInfo = new ConcurrentHashSet<>(); - for (Member member : members) { - final String address = member.getAddress(); - - Member existMember = serverList.get(address); - if (existMember == null) { - hasChange = true; - tmpMap.put(address, member); - } else { - //to keep extendInfo and abilities that report dynamically. - tmpMap.put(address, existMember); - } - - if (NodeState.UP.equals(member.getState())) { - tmpAddressInfo.add(address); - } - } - - serverList = tmpMap; - memberAddressInfos = tmpAddressInfo; - - Collection finalMembers = allMembers(); - - // Persist the current cluster node information to cluster.conf - // need to put the event publication into a synchronized block to ensure - // that the event publication is sequential - if (hasChange) { - Loggers.CLUSTER.warn("[serverlist] updated to : {}", finalMembers); - MemberUtil.syncToFile(finalMembers); - Event event = MembersChangeEvent.builder().members(finalMembers).build(); - NotifyCenter.publishEvent(event); - } else { - if (Loggers.CLUSTER.isDebugEnabled()) { - Loggers.CLUSTER.debug("[serverlist] not updated, is still : {}", finalMembers); - } - } - - return hasChange; - } - - /** - * members join this cluster. - * - * @param members {@link Collection} new members - * @return is success - */ - public synchronized boolean memberJoin(Collection members) { - Set set = new HashSet<>(members); - set.addAll(allMembers()); - return memberChange(set); - } - - /** - * members leave this cluster. - * - * @param members {@link Collection} wait leave members - * @return is success - */ - public synchronized boolean memberLeave(Collection members) { - Set set = new HashSet<>(allMembers()); - set.removeAll(members); - return memberChange(set); - } - - /** - * this member {@link Member#getState()} is health. - * - * @param address ip:port - * @return is health - */ - public boolean isUnHealth(String address) { - Member member = serverList.get(address); - if (member == null) { - return false; - } - return !NodeState.UP.equals(member.getState()); - } - - public boolean isFirstIp() { - return Objects.equals(serverList.firstKey(), this.localAddress); - } - - @Override - public void onApplicationEvent(WebServerInitializedEvent event) { - String serverNamespace = event.getApplicationContext().getServerNamespace(); - if (SPRING_MANAGEMENT_CONTEXT_NAMESPACE.equals(serverNamespace)) { - // ignore - // fix#issue https://github.com/alibaba/nacos/issues/7230 - return; - } - getSelf().setState(NodeState.UP); - if (!EnvUtil.getStandaloneMode()) { - GlobalExecutor.scheduleByCommon(this.infoReportTask, DEFAULT_TASK_DELAY_TIME); - } - EnvUtil.setPort(event.getWebServer().getPort()); - EnvUtil.setLocalAddress(this.localAddress); - Loggers.CLUSTER.info("This node is ready to provide external services"); - } - - /** - * ServerMemberManager shutdown. - * - * @throws NacosException NacosException - */ - @PreDestroy - public void shutdown() throws NacosException { - serverList.clear(); - memberAddressInfos.clear(); - infoReportTask.shutdown(); - LookupFactory.destroy(); - } - - public Set getMemberAddressInfos() { - return memberAddressInfos; - } - - @JustForTest - public void updateMember(Member member) { - serverList.put(member.getAddress(), member); - } - - @JustForTest - public void setMemberAddressInfos(Set memberAddressInfos) { - this.memberAddressInfos = memberAddressInfos; - } - - @JustForTest - public MemberInfoReportTask getInfoReportTask() { - return infoReportTask; - } - - public Map getServerList() { - return Collections.unmodifiableMap(serverList); - } - - public static boolean isInIpList() { - return isInIpList; - } - - // Synchronize the metadata information of a node - // A health check of the target node is also attached - - class MemberInfoReportTask extends Task { - - private final GenericType> reference = new GenericType>() { - }; - - private int cursor = 0; - - @Override - protected void executeBody() { - List members = ServerMemberManager.this.allMembersWithoutSelf(); - - if (members.isEmpty()) { - return; - } - - this.cursor = (this.cursor + 1) % members.size(); - Member target = members.get(cursor); - - Loggers.CLUSTER.debug("report the metadata to the node : {}", target.getAddress()); - - final String url = HttpUtils - .buildUrl(false, target.getAddress(), EnvUtil.getContextPath(), Commons.NACOS_CORE_CONTEXT, - "/cluster/report"); - - try { - Header header = Header.newInstance().addParam(Constants.NACOS_SERVER_HEADER, VersionUtils.version); - AuthHeaderUtil.addIdentityToHeader(header); - asyncRestTemplate - .post(url, header, Query.EMPTY, getSelf(), reference.getType(), new Callback() { - @Override - public void onReceive(RestResult result) { - if (result.getCode() == HttpStatus.NOT_IMPLEMENTED.value() - || result.getCode() == HttpStatus.NOT_FOUND.value()) { - Loggers.CLUSTER - .warn("{} version is too low, it is recommended to upgrade the version : {}", - target, VersionUtils.version); - Member memberNew = null; - if (target.getExtendVal(MemberMetaDataConstants.VERSION) != null) { - memberNew = target.copy(); - // Clean up remote version info. - // This value may still stay in extend info when remote server has been downgraded to old version. - memberNew.delExtendVal(MemberMetaDataConstants.VERSION); - memberNew.delExtendVal(MemberMetaDataConstants.READY_TO_UPGRADE); - Loggers.CLUSTER.warn("{} : Clean up version info," - + " target has been downgrade to old version.", memberNew); - } - if (target.getAbilities() != null - && target.getAbilities().getRemoteAbility() != null && target.getAbilities() - .getRemoteAbility().isSupportRemoteConnection()) { - if (memberNew == null) { - memberNew = target.copy(); - } - memberNew.getAbilities().getRemoteAbility().setSupportRemoteConnection(false); - Loggers.CLUSTER - .warn("{} : Clear support remote connection flag,target may rollback version ", - memberNew); - } - if (memberNew != null) { - update(memberNew); - } - return; - } - if (result.ok()) { - MemberUtil.onSuccess(ServerMemberManager.this, target); - } else { - Loggers.CLUSTER.warn("failed to report new info to target node : {}, result : {}", - target.getAddress(), result); - MemberUtil.onFail(ServerMemberManager.this, target); - } - } - - @Override - public void onError(Throwable throwable) { - Loggers.CLUSTER.error("failed to report new info to target node : {}, error : {}", - target.getAddress(), ExceptionUtil.getAllExceptionMsg(throwable)); - MemberUtil.onFail(ServerMemberManager.this, target, throwable); - } - - @Override - public void onCancel() { - - } - }); - } catch (Throwable ex) { - Loggers.CLUSTER.error("failed to report new info to target node : {}, error : {}", target.getAddress(), - ExceptionUtil.getAllExceptionMsg(ex)); - } - } - - @Override - protected void after() { - GlobalExecutor.scheduleByCommon(this, 2_000L); - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/Task.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/Task.java deleted file mode 100644 index 9b7ee8f3..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/Task.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster; - -import com.alibaba.nacos.common.utils.ExceptionUtil; -import com.alibaba.nacos.core.utils.Loggers; - -/** - * task. - * - * @author liaochuntao - */ -@SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule") -public abstract class Task implements Runnable { - - protected volatile boolean shutdown = false; - - @Override - public void run() { - if (shutdown) { - return; - } - try { - executeBody(); - } catch (Throwable t) { - Loggers.CORE.error("this task execute has error : {}", ExceptionUtil.getStackTrace(t)); - } finally { - if (!shutdown) { - after(); - } - } - } - - /** - * Task executive. - */ - protected abstract void executeBody(); - - /** - * after executeBody should do. - */ - protected void after() { - - } - - public void shutdown() { - shutdown = true; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/AddressServerMemberLookup.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/AddressServerMemberLookup.java deleted file mode 100644 index 76e747a8..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/AddressServerMemberLookup.java +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster.lookup; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.common.http.HttpClientBeanHolder; -import com.alibaba.nacos.common.http.client.NacosRestTemplate; -import com.alibaba.nacos.common.http.param.Header; -import com.alibaba.nacos.common.http.param.Query; -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.utils.ExceptionUtil; -import com.alibaba.nacos.core.cluster.AbstractMemberLookup; -import com.alibaba.nacos.core.cluster.MemberUtil; -import com.alibaba.nacos.core.utils.GenericType; -import com.alibaba.nacos.core.utils.GlobalExecutor; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.common.utils.StringUtils; - -import java.io.Reader; -import java.io.StringReader; -import java.util.HashMap; -import java.util.Map; - -import static com.alibaba.nacos.common.constant.RequestUrlConstants.HTTP_PREFIX; - -/** - * Cluster member addressing mode for the address server. - * - * @author liaochuntao - */ -public class AddressServerMemberLookup extends AbstractMemberLookup { - - private final GenericType genericType = new GenericType() { }; - - public String domainName; - - public String addressPort; - - public String addressUrl; - - public String envIdUrl; - - public String addressServerUrl; - - private volatile boolean isAddressServerHealth = true; - - private int addressServerFailCount = 0; - - private int maxFailCount = 12; - - private final NacosRestTemplate restTemplate = HttpClientBeanHolder.getNacosRestTemplate(Loggers.CORE); - - private volatile boolean shutdown = false; - - private static final String HEALTH_CHECK_FAIL_COUNT_PROPERTY = "maxHealthCheckFailCount"; - - private static final String DEFAULT_HEALTH_CHECK_FAIL_COUNT = "12"; - - private static final String DEFAULT_SERVER_DOMAIN = "jmenv.tbsite.net"; - - private static final String DEFAULT_SERVER_POINT = "8080"; - - private static final int DEFAULT_SERVER_RETRY_TIME = 5; - - private static final long DEFAULT_SYNC_TASK_DELAY_MS = 5_000L; - - private static final String ADDRESS_SERVER_DOMAIN_ENV = "address_server_domain"; - - private static final String ADDRESS_SERVER_DOMAIN_PROPERTY = "address.server.domain"; - - private static final String ADDRESS_SERVER_PORT_ENV = "address_server_port"; - - private static final String ADDRESS_SERVER_PORT_PROPERTY = "address.server.port"; - - private static final String ADDRESS_SERVER_URL_ENV = "address_server_url"; - - private static final String ADDRESS_SERVER_URL_PROPERTY = "address.server.url"; - - private static final String ADDRESS_SERVER_RETRY_PROPERTY = "nacos.core.address-server.retry"; - - @Override - public void doStart() throws NacosException { - this.maxFailCount = Integer.parseInt(EnvUtil.getProperty(HEALTH_CHECK_FAIL_COUNT_PROPERTY, DEFAULT_HEALTH_CHECK_FAIL_COUNT)); - initAddressSys(); - run(); - } - - @Override - public boolean useAddressServer() { - return true; - } - - private void initAddressSys() { - String envDomainName = System.getenv(ADDRESS_SERVER_DOMAIN_ENV); - if (StringUtils.isBlank(envDomainName)) { - domainName = EnvUtil.getProperty(ADDRESS_SERVER_DOMAIN_PROPERTY, DEFAULT_SERVER_DOMAIN); - } else { - domainName = envDomainName; - } - String envAddressPort = System.getenv(ADDRESS_SERVER_PORT_ENV); - if (StringUtils.isBlank(envAddressPort)) { - addressPort = EnvUtil.getProperty(ADDRESS_SERVER_PORT_PROPERTY, DEFAULT_SERVER_POINT); - } else { - addressPort = envAddressPort; - } - String envAddressUrl = System.getenv(ADDRESS_SERVER_URL_ENV); - if (StringUtils.isBlank(envAddressUrl)) { - addressUrl = EnvUtil.getProperty(ADDRESS_SERVER_URL_PROPERTY, EnvUtil.getContextPath() + "/" + "serverlist"); - } else { - addressUrl = envAddressUrl; - } - addressServerUrl = HTTP_PREFIX + domainName + ":" + addressPort + addressUrl; - envIdUrl = HTTP_PREFIX + domainName + ":" + addressPort + "/env"; - - Loggers.CORE.info("ServerListService address-server port:" + addressPort); - Loggers.CORE.info("ADDRESS_SERVER_URL:" + addressServerUrl); - } - - @SuppressWarnings("PMD.UndefineMagicConstantRule") - private void run() throws NacosException { - // With the address server, you need to perform a synchronous member node pull at startup - // Repeat three times, successfully jump out - boolean success = false; - Throwable ex = null; - int maxRetry = EnvUtil.getProperty(ADDRESS_SERVER_RETRY_PROPERTY, Integer.class, DEFAULT_SERVER_RETRY_TIME); - for (int i = 0; i < maxRetry; i++) { - try { - syncFromAddressUrl(); - success = true; - break; - } catch (Throwable e) { - ex = e; - Loggers.CLUSTER.error("[serverlist] exception, error : {}", ExceptionUtil.getAllExceptionMsg(ex)); - } - } - if (!success) { - throw new NacosException(NacosException.SERVER_ERROR, ex); - } - - GlobalExecutor.scheduleByCommon(new AddressServerSyncTask(), DEFAULT_SYNC_TASK_DELAY_MS); - } - - @Override - protected void doDestroy() throws NacosException { - shutdown = true; - } - - @Override - public Map info() { - Map info = new HashMap<>(4); - info.put("addressServerHealth", isAddressServerHealth); - info.put("addressServerUrl", addressServerUrl); - info.put("envIdUrl", envIdUrl); - info.put("addressServerFailCount", addressServerFailCount); - return info; - } - - private void syncFromAddressUrl() throws Exception { - RestResult result = restTemplate - .get(addressServerUrl, Header.EMPTY, Query.EMPTY, genericType.getType()); - if (result.ok()) { - isAddressServerHealth = true; - Reader reader = new StringReader(result.getData()); - try { - afterLookup(MemberUtil.readServerConf(EnvUtil.analyzeClusterConf(reader))); - } catch (Throwable e) { - Loggers.CLUSTER.error("[serverlist] exception for analyzeClusterConf, error : {}", - ExceptionUtil.getAllExceptionMsg(e)); - } - addressServerFailCount = 0; - } else { - addressServerFailCount++; - if (addressServerFailCount >= maxFailCount) { - isAddressServerHealth = false; - } - Loggers.CLUSTER.error("[serverlist] failed to get serverlist, error code {}", result.getCode()); - } - } - - class AddressServerSyncTask implements Runnable { - - @Override - public void run() { - if (shutdown) { - return; - } - try { - syncFromAddressUrl(); - } catch (Throwable ex) { - addressServerFailCount++; - if (addressServerFailCount >= maxFailCount) { - isAddressServerHealth = false; - } - Loggers.CLUSTER.error("[serverlist] exception, error : {}", ExceptionUtil.getAllExceptionMsg(ex)); - } finally { - GlobalExecutor.scheduleByCommon(this, DEFAULT_SYNC_TASK_DELAY_MS); - } - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/FileConfigMemberLookup.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/FileConfigMemberLookup.java deleted file mode 100644 index d50ffbb4..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/FileConfigMemberLookup.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster.lookup; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.core.cluster.AbstractMemberLookup; -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.MemberUtil; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.sys.file.FileChangeEvent; -import com.alibaba.nacos.sys.file.FileWatcher; -import com.alibaba.nacos.sys.file.WatchFileCenter; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.common.utils.StringUtils; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * Cluster.conf file managed cluster member node addressing pattern. - * - * @author liaochuntao - */ -public class FileConfigMemberLookup extends AbstractMemberLookup { - - private static final String DEFAULT_SEARCH_SEQ = "cluster.conf"; - - private FileWatcher watcher = new FileWatcher() { - @Override - public void onChange(FileChangeEvent event) { - readClusterConfFromDisk(); - } - - @Override - public boolean interest(String context) { - return StringUtils.contains(context, DEFAULT_SEARCH_SEQ); - } - }; - - @Override - public void doStart() throws NacosException { - readClusterConfFromDisk(); - - // Use the inotify mechanism to monitor file changes and automatically - // trigger the reading of cluster.conf - try { - WatchFileCenter.registerWatcher(EnvUtil.getConfPath(), watcher); - } catch (Throwable e) { - Loggers.CLUSTER.error("An exception occurred in the launch file monitor : {}", e.getMessage()); - } - } - - @Override - public boolean useAddressServer() { - return false; - } - - @Override - protected void doDestroy() throws NacosException { - WatchFileCenter.deregisterWatcher(EnvUtil.getConfPath(), watcher); - } - - private void readClusterConfFromDisk() { - Collection tmpMembers = new ArrayList<>(); - try { - List tmp = EnvUtil.readClusterConf(); - tmpMembers = MemberUtil.readServerConf(tmp); - } catch (Throwable e) { - Loggers.CLUSTER - .error("nacos-XXXX [serverlist] failed to get serverlist from disk!, error : {}", e.getMessage()); - } - - afterLookup(tmpMembers); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/LookupFactory.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/LookupFactory.java deleted file mode 100644 index 437247cb..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/LookupFactory.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster.lookup; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.core.cluster.MemberLookup; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.core.utils.Loggers; - -import java.io.File; -import java.util.Arrays; -import java.util.Objects; - -/** - * An addressing pattern factory, responsible for the creation of all addressing patterns. - * - * @author liaochuntao - */ -public final class LookupFactory { - - private static final String LOOKUP_MODE_TYPE = "nacos.core.member.lookup.type"; - - @SuppressWarnings("checkstyle:StaticVariableName") - private static MemberLookup LOOK_UP = null; - - private static LookupType currentLookupType = null; - - /** - * Create the target addressing pattern. - * - * @param memberManager {@link ServerMemberManager} - * @return {@link MemberLookup} - * @throws NacosException NacosException - */ - public static MemberLookup createLookUp(ServerMemberManager memberManager) throws NacosException { - if (!EnvUtil.getStandaloneMode()) { - String lookupType = EnvUtil.getProperty(LOOKUP_MODE_TYPE); - LookupType type = chooseLookup(lookupType); - LOOK_UP = find(type); - currentLookupType = type; - } else { - LOOK_UP = new StandaloneMemberLookup(); - } - LOOK_UP.injectMemberManager(memberManager); - Loggers.CLUSTER.info("Current addressing mode selection : {}", LOOK_UP.getClass().getSimpleName()); - return LOOK_UP; - } - - /** - * Switch to target addressing mode. - * - * @param name target member-lookup name - * @param memberManager {@link ServerMemberManager} - * @return {@link MemberLookup} - * @throws NacosException {@link NacosException} - */ - public static MemberLookup switchLookup(String name, ServerMemberManager memberManager) throws NacosException { - LookupType lookupType = LookupType.sourceOf(name); - - if (Objects.isNull(lookupType)) { - throw new IllegalArgumentException( - "The addressing mode exists : " + name + ", just support : [" + Arrays.toString(LookupType.values()) - + "]"); - } - - if (Objects.equals(currentLookupType, lookupType)) { - return LOOK_UP; - } - MemberLookup newLookup = find(lookupType); - currentLookupType = lookupType; - if (Objects.nonNull(LOOK_UP)) { - LOOK_UP.destroy(); - } - LOOK_UP = newLookup; - LOOK_UP.injectMemberManager(memberManager); - Loggers.CLUSTER.info("Current addressing mode selection : {}", LOOK_UP.getClass().getSimpleName()); - return LOOK_UP; - } - - private static MemberLookup find(LookupType type) { - if (LookupType.FILE_CONFIG.equals(type)) { - LOOK_UP = new FileConfigMemberLookup(); - return LOOK_UP; - } - if (LookupType.ADDRESS_SERVER.equals(type)) { - LOOK_UP = new AddressServerMemberLookup(); - return LOOK_UP; - } - // unpossible to run here - throw new IllegalArgumentException(); - } - - private static LookupType chooseLookup(String lookupType) { - if (StringUtils.isNotBlank(lookupType)) { - LookupType type = LookupType.sourceOf(lookupType); - if (Objects.nonNull(type)) { - return type; - } - } - File file = new File(EnvUtil.getClusterConfFilePath()); - if (file.exists() || StringUtils.isNotBlank(EnvUtil.getMemberList())) { - return LookupType.FILE_CONFIG; - } - return LookupType.ADDRESS_SERVER; - } - - public static MemberLookup getLookUp() { - return LOOK_UP; - } - - public static void destroy() throws NacosException { - Objects.requireNonNull(LOOK_UP).destroy(); - } - - public enum LookupType { - - /** - * File addressing mode. - */ - FILE_CONFIG(1, "file"), - - /** - * Address server addressing mode. - */ - ADDRESS_SERVER(2, "address-server"); - - private final int code; - - private final String name; - - LookupType(int code, String name) { - this.code = code; - this.name = name; - } - - /** - * find one {@link LookupType} by name, if not found, return null. - * - * @param name name - * @return {@link LookupType} - */ - public static LookupType sourceOf(String name) { - for (LookupType type : values()) { - if (Objects.equals(type.name, name)) { - return type; - } - } - return null; - } - - public int getCode() { - return code; - } - - public String getName() { - return name; - } - - @Override - public String toString() { - return name; - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/StandaloneMemberLookup.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/StandaloneMemberLookup.java deleted file mode 100644 index 70deb5b2..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/lookup/StandaloneMemberLookup.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster.lookup; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.core.cluster.AbstractMemberLookup; -import com.alibaba.nacos.core.cluster.MemberUtil; -import com.alibaba.nacos.sys.env.EnvUtil; - -import java.util.Collections; - -/** - * Member node addressing mode in stand-alone mode. - * - * @author liaochuntao - */ -public class StandaloneMemberLookup extends AbstractMemberLookup { - - @Override - public void doStart() { - String url = EnvUtil.getLocalAddress(); - afterLookup(MemberUtil.readServerConf(Collections.singletonList(url))); - } - - @Override - protected void doDestroy() throws NacosException { - - } - - @Override - public boolean useAddressServer() { - return false; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/remote/ClusterRpcClientProxy.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/remote/ClusterRpcClientProxy.java deleted file mode 100644 index b0febd7a..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/cluster/remote/ClusterRpcClientProxy.java +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.cluster.remote; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.RemoteConstants; -import com.alibaba.nacos.api.remote.RequestCallBack; -import com.alibaba.nacos.api.remote.request.Request; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.common.remote.ConnectionType; -import com.alibaba.nacos.common.remote.client.RpcClient; -import com.alibaba.nacos.common.remote.client.RpcClientFactory; -import com.alibaba.nacos.common.remote.client.ServerListFactory; -import com.alibaba.nacos.common.utils.CollectionUtils; -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.MemberChangeListener; -import com.alibaba.nacos.core.cluster.MemberUtil; -import com.alibaba.nacos.core.cluster.MembersChangeEvent; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.EnvUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.annotation.PostConstruct; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import static com.alibaba.nacos.api.exception.NacosException.CLIENT_INVALID_PARAM; - -/** - * cluster rpc client proxy. - * - * @author liuzunfei - * @version $Id: ClusterRpcClientProxy.java, v 0.1 2020年08月11日 2:11 PM liuzunfei Exp $ - */ -@Service -public class ClusterRpcClientProxy extends MemberChangeListener { - - private static final long DEFAULT_REQUEST_TIME_OUT = 3000L; - - @Autowired - ServerMemberManager serverMemberManager; - - /** - * init after constructor. - */ - @PostConstruct - public void init() { - try { - NotifyCenter.registerSubscriber(this); - List members = serverMemberManager.allMembersWithoutSelf(); - refresh(members); - Loggers.CLUSTER - .warn("[ClusterRpcClientProxy] success to refresh cluster rpc client on start up,members ={} ", - members); - } catch (NacosException e) { - Loggers.CLUSTER.warn("[ClusterRpcClientProxy] fail to refresh cluster rpc client,{} ", e.getMessage()); - } - - } - - /** - * init cluster rpc clients. - * - * @param members cluster server list member list. - */ - private void refresh(List members) throws NacosException { - - //ensure to create client of new members - for (Member member : members) { - - if (MemberUtil.isSupportedLongCon(member)) { - createRpcClientAndStart(member, ConnectionType.GRPC); - } - } - - //shutdown and remove old members. - Set> allClientEntrys = RpcClientFactory.getAllClientEntries(); - Iterator> iterator = allClientEntrys.iterator(); - List newMemberKeys = members.stream().filter(MemberUtil::isSupportedLongCon) - .map(this::memberClientKey).collect(Collectors.toList()); - while (iterator.hasNext()) { - Map.Entry next1 = iterator.next(); - if (next1.getKey().startsWith("Cluster-") && !newMemberKeys.contains(next1.getKey())) { - Loggers.CLUSTER.info("member leave,destroy client of member - > : {}", next1.getKey()); - RpcClientFactory.getClient(next1.getKey()).shutdown(); - iterator.remove(); - } - } - - } - - private String memberClientKey(Member member) { - return "Cluster-" + member.getAddress(); - } - - private void createRpcClientAndStart(Member member, ConnectionType type) throws NacosException { - Map labels = new HashMap<>(2); - labels.put(RemoteConstants.LABEL_SOURCE, RemoteConstants.LABEL_SOURCE_CLUSTER); - String memberClientKey = memberClientKey(member); - RpcClient client = buildRpcClient(type, labels, memberClientKey); - if (!client.getConnectionType().equals(type)) { - Loggers.CLUSTER.info(",connection type changed,destroy client of member - > : {}", member); - RpcClientFactory.destroyClient(memberClientKey); - client = buildRpcClient(type, labels, memberClientKey); - } - - if (client.isWaitInitiated()) { - Loggers.CLUSTER.info("start a new rpc client to member - > : {}", member); - - //one fixed server - client.serverListFactory(new ServerListFactory() { - @Override - public String genNextServer() { - return member.getAddress(); - } - - @Override - public String getCurrentServer() { - return member.getAddress(); - } - - @Override - public List getServerList() { - return CollectionUtils.list(member.getAddress()); - } - }); - - client.start(); - } - } - - /** - * Using {@link EnvUtil#getAvailableProcessors(int)} to build cluster clients' grpc thread pool. - */ - private RpcClient buildRpcClient(ConnectionType type, Map labels, String memberClientKey) { - return RpcClientFactory.createClusterClient(memberClientKey, type, - EnvUtil.getAvailableProcessors(2), EnvUtil.getAvailableProcessors(8), labels); - } - - /** - * send request to member. - * - * @param member member of server. - * @param request request. - * @return Response response. - * @throws NacosException exception may throws. - */ - public Response sendRequest(Member member, Request request) throws NacosException { - return sendRequest(member, request, DEFAULT_REQUEST_TIME_OUT); - } - - /** - * send request to member. - * - * @param member member of server. - * @param request request. - * @return Response response. - * @throws NacosException exception may throws. - */ - public Response sendRequest(Member member, Request request, long timeoutMills) throws NacosException { - RpcClient client = RpcClientFactory.getClient(memberClientKey(member)); - if (client != null) { - return client.request(request, timeoutMills); - } else { - throw new NacosException(CLIENT_INVALID_PARAM, "No rpc client related to member: " + member); - } - } - - /** - * aync send request to member with callback. - * - * @param member member of server. - * @param request request. - * @param callBack RequestCallBack. - * @throws NacosException exception may throws. - */ - public void asyncRequest(Member member, Request request, RequestCallBack callBack) throws NacosException { - RpcClient client = RpcClientFactory.getClient(memberClientKey(member)); - if (client != null) { - client.asyncRequest(request, callBack); - } else { - throw new NacosException(CLIENT_INVALID_PARAM, "No rpc client related to member: " + member); - } - } - - /** - * send request to member. - * - * @param request request. - * @throws NacosException exception may throw. - */ - public void sendRequestToAllMembers(Request request) throws NacosException { - List members = serverMemberManager.allMembersWithoutSelf(); - for (Member member1 : members) { - sendRequest(member1, request); - } - } - - @Override - public void onEvent(MembersChangeEvent event) { - try { - List members = serverMemberManager.allMembersWithoutSelf(); - refresh(members); - } catch (NacosException e) { - Loggers.CLUSTER.warn("[serverlist] fail to refresh cluster rpc client, event:{}, msg: {} ", event, e.getMessage()); - } - } - - /** - * Check whether client for member is running. - * - * @param member member - * @return {@code true} if target client is connected, otherwise {@code false} - */ - public boolean isRunning(Member member) { - RpcClient client = RpcClientFactory.getClient(memberClientKey(member)); - if (null == client) { - return false; - } - return client.isRunning(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/ControllerMethodsCache.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/ControllerMethodsCache.java deleted file mode 100644 index af105446..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/ControllerMethodsCache.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.code; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.exception.runtime.NacosRuntimeException; -import com.alibaba.nacos.common.packagescan.DefaultPackageScan; -import com.alibaba.nacos.common.utils.ArrayUtils; -import com.alibaba.nacos.common.utils.CollectionUtils; -import com.alibaba.nacos.core.code.RequestMappingInfo.RequestMappingInfoComparator; -import com.alibaba.nacos.core.code.condition.ParamRequestCondition; -import com.alibaba.nacos.core.code.condition.PathRequestCondition; -import com.alibaba.nacos.sys.env.EnvUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PatchMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; - -import javax.servlet.http.HttpServletRequest; -import java.lang.reflect.Method; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -import static com.alibaba.nacos.sys.env.Constants.REQUEST_PATH_SEPARATOR; - - -/** - * Method cache. - * - * @author nkorange - * @since 1.2.0 - */ -@Component -public class ControllerMethodsCache { - - private static final Logger LOGGER = LoggerFactory.getLogger(ControllerMethodsCache.class); - - private ConcurrentMap methods = new ConcurrentHashMap<>(); - - private final ConcurrentMap> urlLookup = new ConcurrentHashMap<>(); - - public Method getMethod(HttpServletRequest request) { - String path = getPath(request); - String httpMethod = request.getMethod(); - String urlKey = httpMethod + REQUEST_PATH_SEPARATOR + path.replaceFirst(EnvUtil.getContextPath(), ""); - List requestMappingInfos = urlLookup.get(urlKey); - if (CollectionUtils.isEmpty(requestMappingInfos)) { - return null; - } - List matchedInfo = findMatchedInfo(requestMappingInfos, request); - if (CollectionUtils.isEmpty(matchedInfo)) { - return null; - } - RequestMappingInfo bestMatch = matchedInfo.get(0); - if (matchedInfo.size() > 1) { - RequestMappingInfoComparator comparator = new RequestMappingInfoComparator(); - matchedInfo.sort(comparator); - bestMatch = matchedInfo.get(0); - RequestMappingInfo secondBestMatch = matchedInfo.get(1); - if (comparator.compare(bestMatch, secondBestMatch) == 0) { - throw new IllegalStateException( - "Ambiguous methods mapped for '" + request.getRequestURI() + "': {" + bestMatch + ", " - + secondBestMatch + "}"); - } - } - return methods.get(bestMatch); - } - - private String getPath(HttpServletRequest request) { - try { - return new URI(request.getRequestURI()).getPath(); - } catch (URISyntaxException e) { - LOGGER.error("parse request to path error", e); - throw new NacosRuntimeException(NacosException.NOT_FOUND, "Invalid URI"); - } - } - - private List findMatchedInfo(List requestMappingInfos, - HttpServletRequest request) { - List matchedInfo = new ArrayList<>(); - for (RequestMappingInfo requestMappingInfo : requestMappingInfos) { - ParamRequestCondition matchingCondition = requestMappingInfo.getParamRequestCondition() - .getMatchingCondition(request); - if (matchingCondition != null) { - matchedInfo.add(requestMappingInfo); - } - } - return matchedInfo; - } - - /** - * find target method from this package. - * - * @param packageName package name - */ - public void initClassMethod(String packageName) { - DefaultPackageScan packageScan = new DefaultPackageScan(); - Set> classesList = packageScan.getTypesAnnotatedWith(packageName, RequestMapping.class); - for (Class clazz : classesList) { - initClassMethod(clazz); - } - } - - /** - * find target method from class list. - * - * @param classesList class list - */ - public void initClassMethod(Set> classesList) { - for (Class clazz : classesList) { - initClassMethod(clazz); - } - } - - /** - * find target method from target class. - * - * @param clazz {@link Class} - */ - private void initClassMethod(Class clazz) { - RequestMapping requestMapping = clazz.getAnnotation(RequestMapping.class); - for (String classPath : requestMapping.value()) { - for (Method method : clazz.getMethods()) { - if (!method.isAnnotationPresent(RequestMapping.class)) { - parseSubAnnotations(method, classPath); - continue; - } - requestMapping = method.getAnnotation(RequestMapping.class); - RequestMethod[] requestMethods = requestMapping.method(); - if (requestMethods.length == 0) { - requestMethods = new RequestMethod[1]; - requestMethods[0] = RequestMethod.GET; - } - for (String methodPath : requestMapping.value()) { - String urlKey = requestMethods[0].name() + REQUEST_PATH_SEPARATOR + classPath + methodPath; - addUrlAndMethodRelation(urlKey, requestMapping.params(), method); - } - } - } - } - - private void parseSubAnnotations(Method method, String classPath) { - - final GetMapping getMapping = method.getAnnotation(GetMapping.class); - final PostMapping postMapping = method.getAnnotation(PostMapping.class); - final PutMapping putMapping = method.getAnnotation(PutMapping.class); - final DeleteMapping deleteMapping = method.getAnnotation(DeleteMapping.class); - final PatchMapping patchMapping = method.getAnnotation(PatchMapping.class); - - if (getMapping != null) { - put(RequestMethod.GET, classPath, getMapping.value(), getMapping.params(), method); - } - - if (postMapping != null) { - put(RequestMethod.POST, classPath, postMapping.value(), postMapping.params(), method); - } - - if (putMapping != null) { - put(RequestMethod.PUT, classPath, putMapping.value(), putMapping.params(), method); - } - - if (deleteMapping != null) { - put(RequestMethod.DELETE, classPath, deleteMapping.value(), deleteMapping.params(), method); - } - - if (patchMapping != null) { - put(RequestMethod.PATCH, classPath, patchMapping.value(), patchMapping.params(), method); - } - - } - - private void put(RequestMethod requestMethod, String classPath, String[] requestPaths, String[] requestParams, - Method method) { - if (ArrayUtils.isEmpty(requestPaths)) { - String urlKey = requestMethod.name() + REQUEST_PATH_SEPARATOR + classPath; - addUrlAndMethodRelation(urlKey, requestParams, method); - return; - } - for (String requestPath : requestPaths) { - String urlKey = requestMethod.name() + REQUEST_PATH_SEPARATOR + classPath + requestPath; - addUrlAndMethodRelation(urlKey, requestParams, method); - } - } - - private void addUrlAndMethodRelation(String urlKey, String[] requestParam, Method method) { - RequestMappingInfo requestMappingInfo = new RequestMappingInfo(); - requestMappingInfo.setPathRequestCondition(new PathRequestCondition(urlKey)); - requestMappingInfo.setParamRequestCondition(new ParamRequestCondition(requestParam)); - List requestMappingInfos = urlLookup.get(urlKey); - if (requestMappingInfos == null) { - urlLookup.putIfAbsent(urlKey, new ArrayList<>()); - requestMappingInfos = urlLookup.get(urlKey); - // For issue #4701. - String urlKeyBackup = urlKey + "/"; - urlLookup.putIfAbsent(urlKeyBackup, requestMappingInfos); - } - requestMappingInfos.add(requestMappingInfo); - methods.put(requestMappingInfo, method); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/RequestMappingInfo.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/RequestMappingInfo.java deleted file mode 100644 index 78dcc954..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/RequestMappingInfo.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 1999-2021 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.code; - -import com.alibaba.nacos.core.code.condition.ParamRequestCondition; -import com.alibaba.nacos.core.code.condition.PathRequestCondition; - -import java.util.Comparator; - -/** - * Request mapping information. to find the matched method by request - * - * @author horizonzy - * @since 1.3.2 - */ -public class RequestMappingInfo { - - private PathRequestCondition pathRequestCondition; - - private ParamRequestCondition paramRequestCondition; - - public ParamRequestCondition getParamRequestCondition() { - return paramRequestCondition; - } - - public void setParamRequestCondition(ParamRequestCondition paramRequestCondition) { - this.paramRequestCondition = paramRequestCondition; - } - - public void setPathRequestCondition(PathRequestCondition pathRequestCondition) { - this.pathRequestCondition = pathRequestCondition; - } - - @Override - public String toString() { - return "RequestMappingInfo{" + "pathRequestCondition=" + pathRequestCondition + ", paramRequestCondition=" - + paramRequestCondition + '}'; - } - - public static class RequestMappingInfoComparator implements Comparator { - - @Override - public int compare(RequestMappingInfo o1, RequestMappingInfo o2) { - return Integer.compare(o2.getParamRequestCondition().getExpressions().size(), - o1.getParamRequestCondition().getExpressions().size()); - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/SpringApplicationRunListener.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/SpringApplicationRunListener.java deleted file mode 100644 index 8e207187..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/SpringApplicationRunListener.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.code; - -import com.alibaba.nacos.common.spi.NacosServiceLoader; -import com.alibaba.nacos.core.listener.NacosApplicationListener; -import org.springframework.boot.ConfigurableBootstrapContext; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.context.event.EventPublishingRunListener; -import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.core.Ordered; -import org.springframework.core.env.ConfigurableEnvironment; - -import java.util.Collection; - -/** - * {@link org.springframework.boot.SpringApplicationRunListener} before {@link EventPublishingRunListener} execution. - * - * @author Mercy - * @since 0.2.2 - */ -public class SpringApplicationRunListener implements org.springframework.boot.SpringApplicationRunListener, Ordered { - - private final SpringApplication application; - - private final String[] args; - - Collection nacosApplicationListeners = NacosServiceLoader.load(NacosApplicationListener.class); - - public SpringApplicationRunListener(SpringApplication application, String[] args) { - this.application = application; - this.args = args; - } - - @Override - public void starting(ConfigurableBootstrapContext bootstrapContext) { - for (NacosApplicationListener nacosApplicationListener : nacosApplicationListeners) { - nacosApplicationListener.starting(); - } - } - - @Override - public void environmentPrepared(ConfigurableBootstrapContext bootstrapContext, - ConfigurableEnvironment environment) { - for (NacosApplicationListener nacosApplicationListener : nacosApplicationListeners) { - nacosApplicationListener.environmentPrepared(environment); - } - } - - @Override - public void contextPrepared(ConfigurableApplicationContext context) { - for (NacosApplicationListener nacosApplicationListener : nacosApplicationListeners) { - nacosApplicationListener.contextPrepared(context); - } - } - - @Override - public void contextLoaded(ConfigurableApplicationContext context) { - for (NacosApplicationListener nacosApplicationListener : nacosApplicationListeners) { - nacosApplicationListener.contextLoaded(context); - } - } - - @Override - public void started(ConfigurableApplicationContext context) { - for (NacosApplicationListener nacosApplicationListener : nacosApplicationListeners) { - nacosApplicationListener.started(context); - } - } - - @Override - public void running(ConfigurableApplicationContext context) { - for (NacosApplicationListener nacosApplicationListener : nacosApplicationListeners) { - nacosApplicationListener.running(context); - } - } - - @Override - public void failed(ConfigurableApplicationContext context, Throwable exception) { - for (NacosApplicationListener nacosApplicationListener : nacosApplicationListeners) { - nacosApplicationListener.failed(context, exception); - } - } - - /** - * Before {@link EventPublishingRunListener}. - * - * @return HIGHEST_PRECEDENCE - */ - @Override - public int getOrder() { - return HIGHEST_PRECEDENCE; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/StandaloneProfileApplicationListener.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/StandaloneProfileApplicationListener.java deleted file mode 100644 index 43ab8f36..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/StandaloneProfileApplicationListener.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.code; - -import com.alibaba.nacos.sys.env.EnvUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent; -import org.springframework.context.ApplicationListener; -import org.springframework.context.annotation.Profile; -import org.springframework.core.PriorityOrdered; -import org.springframework.core.env.ConfigurableEnvironment; - -import java.util.Arrays; - -import static com.alibaba.nacos.sys.env.Constants.STANDALONE_MODE_PROPERTY_NAME; -import static com.alibaba.nacos.sys.env.Constants.STANDALONE_SPRING_PROFILE; - -/** - * Standalone {@link Profile} {@link ApplicationListener} for {@link ApplicationEnvironmentPreparedEvent}. - * - * @author Mercy - * @see ConfigurableEnvironment#addActiveProfile(String) - * @since 0.2.2 - */ -public class StandaloneProfileApplicationListener - implements ApplicationListener, PriorityOrdered { - - private static final Logger LOGGER = LoggerFactory.getLogger(StandaloneProfileApplicationListener.class); - - @Override - public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) { - - ConfigurableEnvironment environment = event.getEnvironment(); - - if (environment.getProperty(STANDALONE_MODE_PROPERTY_NAME, boolean.class, false)) { - environment.addActiveProfile(STANDALONE_SPRING_PROFILE); - } - - if (LOGGER.isInfoEnabled()) { - LOGGER.info("Spring Environment's active profiles : {} in standalone mode : {}", - Arrays.asList(environment.getActiveProfiles()), EnvUtil.getStandaloneMode()); - } - - } - - @Override - public int getOrder() { - return HIGHEST_PRECEDENCE; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/condition/ParamRequestCondition.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/condition/ParamRequestCondition.java deleted file mode 100644 index 0431242f..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/condition/ParamRequestCondition.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.code.condition; - -import org.springframework.util.ObjectUtils; - -import javax.servlet.http.HttpServletRequest; -import java.util.Collections; -import java.util.LinkedHashSet; -import java.util.Set; - -/** - * request param info. {@link org.springframework.web.bind.annotation.RequestMapping#params()} - * - * @author horizonzy - * @since 1.3.2 - */ -public class ParamRequestCondition { - - private final Set expressions; - - public ParamRequestCondition(String... expressions) { - this.expressions = parseExpressions(expressions); - } - - private Set parseExpressions(String... params) { - if (ObjectUtils.isEmpty(params)) { - return Collections.emptySet(); - } - Set expressions = new LinkedHashSet<>(params.length); - for (String param : params) { - expressions.add(new ParamExpression(param)); - } - return expressions; - } - - public Set getExpressions() { - return expressions; - } - - public ParamRequestCondition getMatchingCondition(HttpServletRequest request) { - for (ParamExpression expression : this.expressions) { - if (!expression.match(request)) { - return null; - } - } - return this; - } - - @Override - public String toString() { - return "ParamRequestCondition{" + "expressions=" + expressions + '}'; - } - - static class ParamExpression { - - private final String name; - - private final String value; - - private final boolean isNegated; - - ParamExpression(String expression) { - int separator = expression.indexOf('='); - if (separator == -1) { - this.isNegated = expression.startsWith("!"); - this.name = isNegated ? expression.substring(1) : expression; - this.value = null; - } else { - this.isNegated = (separator > 0) && (expression.charAt(separator - 1) == '!'); - this.name = isNegated ? expression.substring(0, separator - 1) : expression.substring(0, separator); - this.value = expression.substring(separator + 1); - } - } - - public final boolean match(HttpServletRequest request) { - boolean isMatch; - if (this.value != null) { - isMatch = matchValue(request); - } else { - isMatch = matchName(request); - } - return this.isNegated != isMatch; - } - - private boolean matchName(HttpServletRequest request) { - return request.getParameterMap().containsKey(this.name); - } - - private boolean matchValue(HttpServletRequest request) { - return ObjectUtils.nullSafeEquals(this.value, request.getParameter(this.name)); - } - - @Override - public String toString() { - return "ParamExpression{" + "name='" + name + '\'' + ", value='" + value + '\'' + ", isNegated=" + isNegated - + '}'; - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/condition/PathRequestCondition.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/condition/PathRequestCondition.java deleted file mode 100644 index 33bd9deb..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/code/condition/PathRequestCondition.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.code.condition; - -import static com.alibaba.nacos.sys.env.Constants.REQUEST_PATH_SEPARATOR; - -/** - * request path info. method:{@link org.springframework.web.bind.annotation.RequestMapping#method()} path: {@link - * org.springframework.web.bind.annotation.RequestMapping#value()} or {@link org.springframework.web.bind.annotation.RequestMapping#value()} - * - * @author horizonzy - * @since 1.3.2 - */ -public class PathRequestCondition { - - private final PathExpression pathExpression; - - public PathRequestCondition(String pathExpression) { - this.pathExpression = parseExpressions(pathExpression); - } - - private PathExpression parseExpressions(String pathExpression) { - String[] split = pathExpression.split(REQUEST_PATH_SEPARATOR); - String method = split[0]; - String path = split[1]; - return new PathExpression(method, path); - } - - @Override - public String toString() { - return "PathRequestCondition{" + "pathExpression=" + pathExpression + '}'; - } - - static class PathExpression { - - private final String method; - - private final String path; - - PathExpression(String method, String path) { - this.method = method; - this.path = path; - } - - @Override - public String toString() { - return "PathExpression{" + "method='" + method + '\'' + ", path='" + path + '\'' + '}'; - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/config/AbstractDynamicConfig.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/config/AbstractDynamicConfig.java deleted file mode 100644 index 26499556..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/config/AbstractDynamicConfig.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.config; - -import com.alibaba.nacos.common.event.ServerConfigChangeEvent; -import com.alibaba.nacos.common.notify.Event; -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.common.notify.listener.Subscriber; -import com.alibaba.nacos.core.utils.Loggers; - -/** - * Nacos abstract dynamic config. - * - * @author xiweng.yy - */ -public abstract class AbstractDynamicConfig extends Subscriber { - - private final String configName; - - protected AbstractDynamicConfig(String configName) { - this.configName = configName; - NotifyCenter.registerSubscriber(this); - } - - @Override - public void onEvent(ServerConfigChangeEvent event) { - resetConfig(); - } - - @Override - public Class subscribeType() { - return ServerConfigChangeEvent.class; - } - - protected void resetConfig() { - try { - getConfigFromEnv(); - Loggers.CORE.info("Get {} config from env, {}", configName, printConfig()); - } catch (Exception e) { - Loggers.CORE.warn("Upgrade {} config from env failed, will use old value", configName, e); - } - } - - /** - * Execute get config from env actually. - */ - protected abstract void getConfigFromEnv(); - - /** - * Print config content. - * - * @return config content - */ - protected abstract String printConfig(); -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/CoreOpsController.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/CoreOpsController.java deleted file mode 100644 index 1c9efb1a..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/CoreOpsController.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.controller; - -import com.alibaba.nacos.auth.annotation.Secured; -import com.alibaba.nacos.plugin.auth.constant.ActionTypes; -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.model.RestResultUtils; -import com.alibaba.nacos.core.distributed.ProtocolManager; -import com.alibaba.nacos.core.distributed.id.IdGeneratorManager; -import com.alibaba.nacos.core.utils.Commons; -import com.alibaba.nacos.core.utils.Loggers; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.servlet.http.HttpServletResponse; -import java.util.HashMap; -import java.util.Map; - -/** - * Kernel modules operate and maintain HTTP interfaces. - * - * @author liaochuntao - */ -@RestController -@RequestMapping(Commons.NACOS_CORE_CONTEXT + "/ops") -public class CoreOpsController { - - private final ProtocolManager protocolManager; - - private final IdGeneratorManager idGeneratorManager; - - public CoreOpsController(ProtocolManager protocolManager, IdGeneratorManager idGeneratorManager) { - this.protocolManager = protocolManager; - this.idGeneratorManager = idGeneratorManager; - } - - // Temporarily overpassed the raft operations interface - // { - // "groupId": "xxx", - // "command": "transferLeader or doSnapshot or resetRaftCluster or removePeer" - // "value": "ip:{raft_port}" - // } - - @PostMapping(value = "/raft") - @Secured(action = ActionTypes.WRITE, resource = "nacos/admin") - public RestResult raftOps(@RequestBody Map commands) { - return protocolManager.getCpProtocol().execute(commands); - } - - /** - * Gets the current health of the ID generator. - * - * @return {@link RestResult} - */ - @GetMapping(value = "/idInfo") - public RestResult>> idInfo() { - Map> info = new HashMap<>(10); - idGeneratorManager.getGeneratorMap().forEach((resource, idGenerator) -> info.put(resource, idGenerator.info())); - return RestResultUtils.success(info); - } - - @PutMapping(value = "/log") - public String setLogLevel(@RequestParam String logName, @RequestParam String logLevel) { - Loggers.setLogLevel(logName, logLevel); - return HttpServletResponse.SC_OK + ""; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/NacosClusterController.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/NacosClusterController.java deleted file mode 100644 index a17c9621..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/NacosClusterController.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.controller; - -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.model.RestResultUtils; -import com.alibaba.nacos.common.utils.LoggerUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.NodeState; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.utils.Commons; -import com.alibaba.nacos.core.utils.Loggers; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.ArrayList; -import java.util.Collection; - -/** - * Cluster communication interface. - * - * @author liaochuntao - */ -@RestController -@RequestMapping(Commons.NACOS_CORE_CONTEXT + "/cluster") -public class NacosClusterController { - - private final ServerMemberManager memberManager; - - public NacosClusterController(ServerMemberManager memberManager) { - this.memberManager = memberManager; - } - - @GetMapping(value = "/self") - public RestResult self() { - return RestResultUtils.success(memberManager.getSelf()); - } - - /** - * The console displays the list of cluster members. - * - * @param ipKeyWord search keyWord - * @return all members - */ - @GetMapping(value = "/nodes") - public RestResult> listNodes( - @RequestParam(value = "keyword", required = false) String ipKeyWord) { - Collection members = memberManager.allMembers(); - Collection result = new ArrayList<>(); - - members.stream().sorted().forEach(member -> { - if (StringUtils.isBlank(ipKeyWord)) { - result.add(member); - return; - } - final String address = member.getAddress(); - if (StringUtils.equals(address, ipKeyWord) || StringUtils.startsWith(address, ipKeyWord)) { - result.add(member); - } - }); - - return RestResultUtils.success(result); - } - - // The client can get all the nacos node information in the current - // cluster according to this interface - - @GetMapping(value = "/simple/nodes") - public RestResult> listSimpleNodes() { - return RestResultUtils.success(memberManager.getMemberAddressInfos()); - } - - @GetMapping("/health") - public RestResult getHealth() { - return RestResultUtils.success(memberManager.getSelf().getState().name()); - } - - /** - * Other nodes return their own metadata information. - * - * @param node {@link Member} - * @return {@link RestResult} - */ - @PostMapping(value = {"/report"}) - public RestResult report(@RequestBody Member node) { - if (!node.check()) { - return RestResultUtils.failedWithMsg(400, "Node information is illegal"); - } - LoggerUtils.printIfDebugEnabled(Loggers.CLUSTER, "node state report, receive info : {}", node); - node.setState(NodeState.UP); - node.setFailAccessCnt(0); - - boolean result = memberManager.update(node); - - return RestResultUtils.success(Boolean.toString(result)); - } - - /** - * Addressing mode switch. - * - * @param type member-lookup name - * @return {@link RestResult} - */ - @PostMapping(value = "/switch/lookup") - public RestResult switchLookup(@RequestParam(name = "type") String type) { - try { - memberManager.switchLookup(type); - return RestResultUtils.success(); - } catch (Throwable ex) { - return RestResultUtils.failed(ex.getMessage()); - } - } - - /** - * member leave. - * - * @param params member ip list, example [ip1:port1,ip2:port2,...] - * @return {@link RestResult} - * @throws Exception {@link Exception} - */ - @PostMapping("/server/leave") - public RestResult leave(@RequestBody Collection params, - @RequestParam(defaultValue = "true") Boolean notifyOtherMembers) throws Exception { - return RestResultUtils.failed(405, "/v1/core/cluster/server/leave API not allow to use temporarily."); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/ServerLoaderController.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/ServerLoaderController.java deleted file mode 100644 index 17cd2eea..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/ServerLoaderController.java +++ /dev/null @@ -1,414 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.controller; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.RequestCallBack; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.request.ServerLoaderInfoRequest; -import com.alibaba.nacos.api.remote.request.ServerReloadRequest; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.api.remote.response.ServerLoaderInfoResponse; -import com.alibaba.nacos.auth.annotation.Secured; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.MemberUtil; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.cluster.remote.ClusterRpcClientProxy; -import com.alibaba.nacos.core.remote.Connection; -import com.alibaba.nacos.core.remote.ConnectionManager; -import com.alibaba.nacos.core.remote.core.ServerLoaderInfoRequestHandler; -import com.alibaba.nacos.core.remote.core.ServerReloaderRequestHandler; -import com.alibaba.nacos.core.utils.Commons; -import com.alibaba.nacos.core.utils.RemoteUtils; -import com.alibaba.nacos.plugin.auth.constant.ActionTypes; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.Executor; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; - -/** - * controller to control server loader. - * - * @author liuzunfei - * @version $Id: ServerLoaderController.java, v 0.1 2020年07月22日 4:28 PM liuzunfei Exp $ - */ -@RestController -@RequestMapping(Commons.NACOS_CORE_CONTEXT_V2 + "/loader") -public class ServerLoaderController { - - private static final Logger LOGGER = LoggerFactory.getLogger(ServerLoaderController.class); - - private static final String X_REAL_IP = "X-Real-IP"; - - private static final String X_FORWARDED_FOR = "X-Forwarded-For"; - - private static final String X_FORWARDED_FOR_SPLIT_SYMBOL = ","; - - private static final String SUCCESS_RESULT = "Ok"; - - private static final String FAIL_RESULT = "Fail"; - - private static final String SDK_CONNECTION_COUNT_METRIC = "sdkConCount"; - - private final ConnectionManager connectionManager; - - private final ServerMemberManager serverMemberManager; - - private final ClusterRpcClientProxy clusterRpcClientProxy; - - private final ServerReloaderRequestHandler serverReloaderRequestHandler; - - private final ServerLoaderInfoRequestHandler serverLoaderInfoRequestHandler; - - public ServerLoaderController(ConnectionManager connectionManager, ServerMemberManager serverMemberManager, - ClusterRpcClientProxy clusterRpcClientProxy, ServerReloaderRequestHandler serverReloaderRequestHandler, - ServerLoaderInfoRequestHandler serverLoaderInfoRequestHandler) { - this.connectionManager = connectionManager; - this.serverMemberManager = serverMemberManager; - this.clusterRpcClientProxy = clusterRpcClientProxy; - this.serverReloaderRequestHandler = serverReloaderRequestHandler; - this.serverLoaderInfoRequestHandler = serverLoaderInfoRequestHandler; - } - - /** - * Get current clients. - * - * @return state json. - */ - @Secured(resource = Commons.NACOS_CORE_CONTEXT_V2 + "/loader", action = ActionTypes.READ) - @GetMapping("/current") - public ResponseEntity> currentClients() { - Map stringConnectionMap = connectionManager.currentClients(); - return ResponseEntity.ok().body(stringConnectionMap); - } - - /** - * Get server state of current server. - * - * @return state json. - */ - @Secured(resource = Commons.NACOS_CORE_CONTEXT_V2 + "/loader", action = ActionTypes.WRITE) - @GetMapping("/reloadCurrent") - public ResponseEntity reloadCount(@RequestParam Integer count, - @RequestParam(value = "redirectAddress", required = false) String redirectAddress) { - connectionManager.loadCount(count, redirectAddress); - return ResponseEntity.ok().body("success"); - } - - /** - * Get server state of current server. - * - * @return state json. - */ - @Secured(resource = Commons.NACOS_CORE_CONTEXT_V2 + "/loader", action = ActionTypes.WRITE) - @GetMapping("/smartReloadCluster") - public ResponseEntity smartReload(HttpServletRequest request, - @RequestParam(value = "loaderFactor", required = false) String loaderFactorStr, - @RequestParam(value = "force", required = false) String force) { - - LOGGER.info("Smart reload request receive,requestIp={}", getRemoteIp(request)); - - Map serverLoadMetrics = getServerLoadMetrics(); - Object avgString = serverLoadMetrics.get("avg"); - List details = (List) serverLoadMetrics.get("detail"); - int avg = Integer.parseInt(avgString.toString()); - float loaderFactor = - StringUtils.isBlank(loaderFactorStr) ? RemoteUtils.LOADER_FACTOR : Float.parseFloat(loaderFactorStr); - int overLimitCount = (int) (avg * (1 + loaderFactor)); - int lowLimitCount = (int) (avg * (1 - loaderFactor)); - - List overLimitServer = new ArrayList<>(); - List lowLimitServer = new ArrayList<>(); - - for (ServerLoaderMetrics metrics : details) { - int sdkCount = Integer.parseInt(metrics.getMetric().get(SDK_CONNECTION_COUNT_METRIC)); - if (sdkCount > overLimitCount) { - overLimitServer.add(metrics); - } - if (sdkCount < lowLimitCount) { - lowLimitServer.add(metrics); - } - } - - // desc by sdkConCount - overLimitServer.sort((o1, o2) -> { - Integer sdkCount1 = Integer.valueOf(o1.getMetric().get(SDK_CONNECTION_COUNT_METRIC)); - Integer sdkCount2 = Integer.valueOf(o2.getMetric().get(SDK_CONNECTION_COUNT_METRIC)); - return sdkCount1.compareTo(sdkCount2) * -1; - }); - - LOGGER.info("Over load limit server list ={}", overLimitServer); - - //asc by sdkConCount - lowLimitServer.sort((o1, o2) -> { - Integer sdkCount1 = Integer.valueOf(o1.getMetric().get(SDK_CONNECTION_COUNT_METRIC)); - Integer sdkCount2 = Integer.valueOf(o2.getMetric().get(SDK_CONNECTION_COUNT_METRIC)); - return sdkCount1.compareTo(sdkCount2); - }); - - LOGGER.info("Low load limit server list ={}", lowLimitServer); - AtomicBoolean result = new AtomicBoolean(true); - - for (int i = 0; i < overLimitServer.size() & i < lowLimitServer.size(); i++) { - ServerReloadRequest serverLoaderInfoRequest = new ServerReloadRequest(); - serverLoaderInfoRequest.setReloadCount(overLimitCount); - serverLoaderInfoRequest.setReloadServer(lowLimitServer.get(i).address); - Member member = serverMemberManager.find(overLimitServer.get(i).address); - - LOGGER.info("Reload task submit ,fromServer ={},toServer={}, ", overLimitServer.get(i).address, - lowLimitServer.get(i).address); - - if (serverMemberManager.getSelf().equals(member)) { - try { - serverReloaderRequestHandler.handle(serverLoaderInfoRequest, new RequestMeta()); - } catch (NacosException e) { - LOGGER.error("Fail to loader self server", e); - result.set(false); - } - } else { - - try { - clusterRpcClientProxy.asyncRequest(member, serverLoaderInfoRequest, new RequestCallBack() { - @Override - public Executor getExecutor() { - return null; - } - - @Override - public long getTimeout() { - return 100L; - } - - @Override - public void onResponse(Response response) { - if (response == null || !response.isSuccess()) { - LOGGER.error("Fail to loader member={},response={}", member.getAddress(), response); - result.set(false); - - } - } - - @Override - public void onException(Throwable e) { - LOGGER.error("Fail to loader member={}", member.getAddress(), e); - result.set(false); - } - }); - } catch (NacosException e) { - LOGGER.error("Fail to loader member={}", member.getAddress(), e); - result.set(false); - } - } - } - - return ResponseEntity.ok().body(result.get() ? SUCCESS_RESULT : FAIL_RESULT); - } - - - /** - * Get server state of current server. - * - * @return state json. - */ - @Secured(resource = Commons.NACOS_CORE_CONTEXT_V2 + "/loader", action = ActionTypes.WRITE) - @GetMapping("/reloadClient") - public ResponseEntity reloadSingle(@RequestParam String connectionId, - @RequestParam(value = "redirectAddress", required = false) String redirectAddress) { - connectionManager.loadSingle(connectionId, redirectAddress); - return ResponseEntity.ok().body("success"); - } - - /** - * Get current clients. - * - * @return state json. - */ - @Secured(resource = Commons.NACOS_CORE_CONTEXT_V2 + "/loader", action = ActionTypes.READ) - @GetMapping("/cluster") - public ResponseEntity> loaderMetrics() { - - Map serverLoadMetrics = getServerLoadMetrics(); - - return ResponseEntity.ok().body(serverLoadMetrics); - } - - private Map getServerLoadMetrics() { - - List responseList = new LinkedList<>(); - - // default include self. - int memberSize = serverMemberManager.allMembersWithoutSelf().size(); - CountDownLatch countDownLatch = new CountDownLatch(memberSize); - for (Member member : serverMemberManager.allMembersWithoutSelf()) { - if (MemberUtil.isSupportedLongCon(member)) { - ServerLoaderInfoRequest serverLoaderInfoRequest = new ServerLoaderInfoRequest(); - - try { - clusterRpcClientProxy.asyncRequest(member, serverLoaderInfoRequest, new RequestCallBack() { - @Override - public Executor getExecutor() { - return null; - } - - @Override - public long getTimeout() { - return 200L; - } - - @Override - public void onResponse(Response response) { - if (response instanceof ServerLoaderInfoResponse) { - ServerLoaderMetrics metrics = new ServerLoaderMetrics(); - metrics.setAddress(member.getAddress()); - metrics.setMetric(((ServerLoaderInfoResponse) response).getLoaderMetrics()); - responseList.add(metrics); - } - countDownLatch.countDown(); - } - - @Override - public void onException(Throwable e) { - LOGGER.error("Get metrics fail,member={}", member.getAddress(), e); - countDownLatch.countDown(); - } - }); - } catch (NacosException e) { - LOGGER.error("Get metrics fail,member={}", member.getAddress(), e); - countDownLatch.countDown(); - } - } else { - countDownLatch.countDown(); - } - } - - try { - ServerLoaderInfoResponse handle = serverLoaderInfoRequestHandler - .handle(new ServerLoaderInfoRequest(), new RequestMeta()); - ServerLoaderMetrics metrics = new ServerLoaderMetrics(); - metrics.setAddress(serverMemberManager.getSelf().getAddress()); - metrics.setMetric(handle.getLoaderMetrics()); - responseList.add(metrics); - } catch (NacosException e) { - LOGGER.error("Get self metrics fail", e); - } - - try { - countDownLatch.await(1000, TimeUnit.MILLISECONDS); - } catch (InterruptedException e) { - LOGGER.warn("Get metrics timeout,metrics info may not complete."); - } - int max = 0; - int min = -1; - int total = 0; - - for (ServerLoaderMetrics serverLoaderMetrics : responseList) { - String sdkConCountStr = serverLoaderMetrics.getMetric().get("sdkConCount"); - - if (StringUtils.isNotBlank(sdkConCountStr)) { - int sdkConCount = Integer.parseInt(sdkConCountStr); - if (max == 0 || max < sdkConCount) { - max = sdkConCount; - } - if (min == -1 || sdkConCount < min) { - min = sdkConCount; - } - total += sdkConCount; - } - } - Map responseMap = new HashMap<>(9); - responseList.sort(Comparator.comparing(ServerLoaderMetrics::getAddress)); - responseMap.put("detail", responseList); - responseMap.put("memberCount", serverMemberManager.allMembers().size()); - responseMap.put("metricsCount", responseList.size()); - responseMap.put("completed", responseList.size() == serverMemberManager.allMembers().size()); - responseMap.put("max", max); - responseMap.put("min", min); - responseMap.put("avg", total / responseList.size()); - responseMap.put("threshold", total / responseList.size() * 1.1); - responseMap.put("total", total); - return responseMap; - - } - - class ServerLoaderMetrics { - - String address; - - Map metric = new HashMap<>(); - - /** - * Getter method for property address. - * - * @return property value of address - */ - public String getAddress() { - return address; - } - - /** - * Setter method for property address. - * - * @param address value to be assigned to property address - */ - public void setAddress(String address) { - this.address = address; - } - - /** - * Getter method for property metric. - * - * @return property value of metric - */ - public Map getMetric() { - return metric; - } - - /** - * Setter method for property metric. - * - * @param metric value to be assigned to property metric - */ - public void setMetric(Map metric) { - this.metric = metric; - } - } - - private static String getRemoteIp(HttpServletRequest request) { - String xForwardedFor = request.getHeader(X_FORWARDED_FOR); - if (!StringUtils.isBlank(xForwardedFor)) { - return xForwardedFor.split(X_FORWARDED_FOR_SPLIT_SYMBOL)[0].trim(); - } - String nginxHeader = request.getHeader(X_REAL_IP); - return StringUtils.isBlank(nginxHeader) ? request.getRemoteAddr() : nginxHeader; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/v2/CoreOpsV2Controller.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/v2/CoreOpsV2Controller.java deleted file mode 100644 index b6f5f13d..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/v2/CoreOpsV2Controller.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.controller.v2; - -import com.alibaba.nacos.auth.annotation.Secured; -import com.alibaba.nacos.plugin.auth.constant.ActionTypes; -import com.alibaba.nacos.common.Beta; -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.model.RestResultUtils; -import com.alibaba.nacos.core.distributed.ProtocolManager; -import com.alibaba.nacos.core.distributed.id.IdGeneratorManager; -import com.alibaba.nacos.core.model.request.LogUpdateRequest; -import com.alibaba.nacos.core.model.vo.IdGeneratorVO; -import com.alibaba.nacos.core.utils.Commons; -import com.alibaba.nacos.core.utils.Loggers; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * Kernel modules operate and maintain HTTP interfaces v2. - * - * @author wuzhiguo - */ -@Beta -@RestController -@RequestMapping(Commons.NACOS_CORE_CONTEXT_V2 + "/ops") -public class CoreOpsV2Controller { - - private final ProtocolManager protocolManager; - - private final IdGeneratorManager idGeneratorManager; - - public CoreOpsV2Controller(ProtocolManager protocolManager, IdGeneratorManager idGeneratorManager) { - this.protocolManager = protocolManager; - this.idGeneratorManager = idGeneratorManager; - } - - // Temporarily overpassed the raft operations interface - // { - // "groupId": "xxx", - // "command": "transferLeader or doSnapshot or resetRaftCluster or removePeer" - // "value": "ip:{raft_port}" - // } - - @PostMapping(value = "/raft") - @Secured(action = ActionTypes.WRITE, resource = "nacos/admin") - public RestResult raftOps(@RequestBody Map commands) { - return protocolManager.getCpProtocol().execute(commands); - } - - /** - * Gets the current health of the ID generator. - * - * @return {@link RestResult} - */ - @GetMapping(value = "/ids") - public RestResult> ids() { - List result = new ArrayList<>(); - idGeneratorManager.getGeneratorMap().forEach((resource, idGenerator) -> { - IdGeneratorVO vo = new IdGeneratorVO(); - vo.setResource(resource); - - IdGeneratorVO.IdInfo info = new IdGeneratorVO.IdInfo(); - info.setCurrentId(idGenerator.currentId()); - info.setWorkerId(idGenerator.workerId()); - vo.setInfo(info); - - result.add(vo); - }); - - return RestResultUtils.success(result); - } - - @PutMapping(value = "/log") - public RestResult updateLog(@RequestBody LogUpdateRequest logUpdateRequest) { - Loggers.setLogLevel(logUpdateRequest.getLogName(), logUpdateRequest.getLogLevel()); - return RestResultUtils.success(); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/v2/NacosClusterV2Controller.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/v2/NacosClusterV2Controller.java deleted file mode 100644 index 4d1d4699..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/controller/v2/NacosClusterV2Controller.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.controller.v2; - -import com.alibaba.nacos.common.Beta; -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.model.RestResultUtils; -import com.alibaba.nacos.common.utils.LoggerUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.NodeState; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.model.request.LookupUpdateRequest; -import com.alibaba.nacos.core.utils.Commons; -import com.alibaba.nacos.core.utils.Loggers; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Locale; - -/** - * Cluster communication interface v2. - * - * @author wuzhiguo - */ -@Beta -@RestController -@RequestMapping(Commons.NACOS_CORE_CONTEXT_V2 + "/cluster") -public class NacosClusterV2Controller { - - private final ServerMemberManager memberManager; - - public NacosClusterV2Controller(ServerMemberManager memberManager) { - this.memberManager = memberManager; - } - - @GetMapping(value = "/nodes/self") - public RestResult self() { - return RestResultUtils.success(memberManager.getSelf()); - } - - /** - * The console displays the list of cluster members. - * - * @param address match address - * @param state match state - * @return members that matches condition - */ - @GetMapping(value = "/nodes") - public RestResult> listNodes(@RequestParam(value = "address", required = false) String address, - @RequestParam(value = "state", required = false) String state) { - - NodeState nodeState = null; - if (StringUtils.isNoneBlank(state)) { - try { - nodeState = NodeState.valueOf(state.toUpperCase(Locale.ROOT)); - } catch (IllegalArgumentException e) { - return RestResultUtils.failedWithMsg(400, "Illegal state: " + state); - } - } - - Collection members = memberManager.allMembers(); - Collection result = new ArrayList<>(); - - for (Member member : members) { - if (StringUtils.isNoneBlank(address) && !StringUtils.startsWith(member.getAddress(), address)) { - continue; - } - - if (nodeState != null && member.getState() != nodeState) { - continue; - } - - result.add(member); - } - - return RestResultUtils.success(result); - } - - // The client can get all the nacos node information in the current - // cluster according to this interface - - /** - * Other nodes return their own metadata information. - * - * @param nodes List of {@link Member} - * @return {@link RestResult} - */ - @PutMapping(value = "/nodes") - public RestResult updateNodes(@RequestBody List nodes) { - for (Member node : nodes) { - if (!node.check()) { - LoggerUtils.printIfWarnEnabled(Loggers.CLUSTER, "node information is illegal, ignore node: {}", node); - continue; - } - - LoggerUtils.printIfDebugEnabled(Loggers.CLUSTER, "node state updating, node: {}", node); - node.setState(NodeState.UP); - node.setFailAccessCnt(0); - - boolean update = memberManager.update(node); - if (!update) { - LoggerUtils.printIfErrorEnabled(Loggers.CLUSTER, "node state update failed, node: {}", node); - } - } - - return RestResultUtils.success(); - } - - /** - * Addressing mode switch. - * - * @param request {@link LookupUpdateRequest} - * @return {@link RestResult} - */ - @PutMapping(value = "/lookup") - public RestResult updateLookup(@RequestBody LookupUpdateRequest request) { - try { - memberManager.switchLookup(request.getType()); - return RestResultUtils.success(); - } catch (Throwable ex) { - return RestResultUtils.failed(ex.getMessage()); - } - } - - /** - * member leave. - * - * @param addresses member ip list, example [ip1:port1,ip2:port2,...] - * @return {@link RestResult} - * @throws Exception throw {@link Exception} - */ - @DeleteMapping("/nodes") - public RestResult deleteNodes(@RequestParam("addresses") List addresses) throws Exception { - return RestResultUtils.failed(405, null, "DELETE /v2/core/cluster/nodes API not allow to use temporarily."); - - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/AbstractConsistencyProtocol.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/AbstractConsistencyProtocol.java deleted file mode 100644 index 250c12c7..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/AbstractConsistencyProtocol.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed; - -import com.alibaba.nacos.consistency.Config; -import com.alibaba.nacos.consistency.ConsistencyProtocol; -import com.alibaba.nacos.consistency.RequestProcessor; -import com.alibaba.nacos.consistency.ProtocolMetaData; - -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Consistent protocol base class. - * - * @author liaochuntao - */ -@SuppressWarnings("all") -public abstract class AbstractConsistencyProtocol - implements ConsistencyProtocol { - - protected final ProtocolMetaData metaData = new ProtocolMetaData(); - - protected Map processorMap = Collections.synchronizedMap(new HashMap<>()); - - public void loadLogProcessor(List logProcessors) { - logProcessors.forEach(logDispatcher -> processorMap.put(logDispatcher.group(), logDispatcher)); - } - - protected Map allProcessor() { - return processorMap; - } - - @Override - public ProtocolMetaData protocolMetaData() { - return this.metaData; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ConsistencyConfiguration.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ConsistencyConfiguration.java deleted file mode 100644 index 1748b3bd..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ConsistencyConfiguration.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed; - -import com.alibaba.nacos.common.spi.NacosServiceLoader; -import com.alibaba.nacos.consistency.cp.CPProtocol; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.distributed.raft.JRaftProtocol; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.Collection; -import java.util.Iterator; -import java.util.concurrent.Callable; - -/** - * consistency configuration. - * - * @author liaochuntao - */ -@Configuration -public class ConsistencyConfiguration { - - @Bean(value = "strongAgreementProtocol") - public CPProtocol strongAgreementProtocol(ServerMemberManager memberManager) throws Exception { - final CPProtocol protocol = getProtocol(CPProtocol.class, () -> new JRaftProtocol(memberManager)); - return protocol; - } - - private T getProtocol(Class cls, Callable builder) throws Exception { - Collection protocols = NacosServiceLoader.load(cls); - - // Select only the first implementation - - Iterator iterator = protocols.iterator(); - if (iterator.hasNext()) { - return iterator.next(); - } else { - return builder.call(); - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ProtocolExecutor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ProtocolExecutor.java deleted file mode 100644 index db0bb4e0..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ProtocolExecutor.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed; - -import com.alibaba.nacos.common.executor.ExecutorFactory; -import com.alibaba.nacos.core.utils.ClassUtils; - -import java.util.concurrent.ExecutorService; - -/** - * ProtocolExecutor. - * - * @author liaochuntao - */ -public final class ProtocolExecutor { - - private static final ExecutorService CP_MEMBER_CHANGE_EXECUTOR = ExecutorFactory.Managed - .newSingleExecutorService(ClassUtils.getCanonicalName(ProtocolManager.class)); - - private static final ExecutorService AP_MEMBER_CHANGE_EXECUTOR = ExecutorFactory.Managed - .newSingleExecutorService(ClassUtils.getCanonicalName(ProtocolManager.class)); - - public static void cpMemberChange(Runnable runnable) { - CP_MEMBER_CHANGE_EXECUTOR.execute(runnable); - } - - public static void apMemberChange(Runnable runnable) { - AP_MEMBER_CHANGE_EXECUTOR.execute(runnable); - } - -} \ No newline at end of file diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ProtocolManager.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ProtocolManager.java deleted file mode 100644 index af518582..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/ProtocolManager.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed; - -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.consistency.Config; -import com.alibaba.nacos.consistency.ap.APProtocol; -import com.alibaba.nacos.consistency.cp.CPProtocol; -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.MemberChangeListener; -import com.alibaba.nacos.core.cluster.MemberMetaDataConstants; -import com.alibaba.nacos.core.cluster.MemberUtil; -import com.alibaba.nacos.core.cluster.MembersChangeEvent; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.utils.ClassUtils; -import com.alibaba.nacos.sys.utils.ApplicationUtils; -import org.springframework.beans.factory.DisposableBean; -import org.springframework.stereotype.Component; - -import javax.annotation.PreDestroy; -import java.util.Collection; -import java.util.HashSet; -import java.util.Objects; -import java.util.Set; - -/** - * Conformance protocol management, responsible for managing the lifecycle of conformance protocols in Nacos. - * - * @author liaochuntao - */ -@SuppressWarnings("all") -@Component(value = "ProtocolManager") -public class ProtocolManager extends MemberChangeListener implements DisposableBean { - - private CPProtocol cpProtocol; - - private APProtocol apProtocol; - - private final ServerMemberManager memberManager; - - private boolean apInit = false; - - private boolean cpInit = false; - - private Set oldMembers; - - public ProtocolManager(ServerMemberManager memberManager) { - this.memberManager = memberManager; - NotifyCenter.registerSubscriber(this); - } - - public static Set toAPMembersInfo(Collection members) { - Set nodes = new HashSet<>(); - members.forEach(member -> nodes.add(member.getAddress())); - return nodes; - } - - public static Set toCPMembersInfo(Collection members) { - Set nodes = new HashSet<>(); - members.forEach(member -> { - final String ip = member.getIp(); - final int raftPort = MemberUtil.calculateRaftPort(member); - nodes.add(ip + ":" + raftPort); - }); - return nodes; - } - - public CPProtocol getCpProtocol() { - synchronized (this) { - if (!cpInit) { - initCPProtocol(); - cpInit = true; - } - } - return cpProtocol; - } - - public APProtocol getApProtocol() { - synchronized (this) { - if (!apInit) { - initAPProtocol(); - apInit = true; - } - } - return apProtocol; - } - - @PreDestroy - @Override - public void destroy() { - if (Objects.nonNull(apProtocol)) { - apProtocol.shutdown(); - } - if (Objects.nonNull(cpProtocol)) { - cpProtocol.shutdown(); - } - } - - private void initAPProtocol() { - ApplicationUtils.getBeanIfExist(APProtocol.class, protocol -> { - Class configType = ClassUtils.resolveGenericType(protocol.getClass()); - Config config = (Config) ApplicationUtils.getBean(configType); - injectMembers4AP(config); - protocol.init(config); - ProtocolManager.this.apProtocol = protocol; - }); - } - - private void initCPProtocol() { - ApplicationUtils.getBeanIfExist(CPProtocol.class, protocol -> { - Class configType = ClassUtils.resolveGenericType(protocol.getClass()); - Config config = (Config) ApplicationUtils.getBean(configType); - injectMembers4CP(config); - protocol.init(config); - ProtocolManager.this.cpProtocol = protocol; - }); - } - - private void injectMembers4CP(Config config) { - final Member selfMember = memberManager.getSelf(); - final String self = selfMember.getIp() + ":" + Integer - .parseInt(String.valueOf(selfMember.getExtendVal(MemberMetaDataConstants.RAFT_PORT))); - Set others = toCPMembersInfo(memberManager.allMembers()); - config.setMembers(self, others); - } - - private void injectMembers4AP(Config config) { - final String self = memberManager.getSelf().getAddress(); - Set others = toAPMembersInfo(memberManager.allMembers()); - config.setMembers(self, others); - } - - @Override - public void onEvent(MembersChangeEvent event) { - // Here, the sequence of node change events is very important. For example, - // node change event A occurs at time T1, and node change event B occurs at - // time T2 after a period of time. - // (T1 < T2) - // Node change events between different protocols should not block each other. - // and we use a single thread pool to inform the consistency layer of node changes, - // to avoid multiple tasks simultaneously carrying out the consistency layer of - // node changes operation - if (Objects.nonNull(apProtocol)) { - ProtocolExecutor.apMemberChange(() -> apProtocol.memberChange(toAPMembersInfo(event.getMembers()))); - } - if (Objects.nonNull(cpProtocol)) { - ProtocolExecutor.cpMemberChange(() -> cpProtocol.memberChange(toCPMembersInfo(event.getMembers()))); - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroConfig.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroConfig.java deleted file mode 100644 index 09b4145d..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroConfig.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro; - -import com.alibaba.nacos.core.config.AbstractDynamicConfig; -import com.alibaba.nacos.sys.env.EnvUtil; - -/** - * Distro configuration. - * - * @author xiweng.yy - */ -public class DistroConfig extends AbstractDynamicConfig { - - private static final String DISTRO = "Distro"; - - private static final DistroConfig INSTANCE = new DistroConfig(); - - private long syncDelayMillis = DistroConstants.DEFAULT_DATA_SYNC_DELAY_MILLISECONDS; - - private long syncTimeoutMillis = DistroConstants.DEFAULT_DATA_SYNC_TIMEOUT_MILLISECONDS; - - private long syncRetryDelayMillis = DistroConstants.DEFAULT_DATA_SYNC_RETRY_DELAY_MILLISECONDS; - - private long verifyIntervalMillis = DistroConstants.DEFAULT_DATA_VERIFY_INTERVAL_MILLISECONDS; - - private long verifyTimeoutMillis = DistroConstants.DEFAULT_DATA_VERIFY_TIMEOUT_MILLISECONDS; - - private long loadDataRetryDelayMillis = DistroConstants.DEFAULT_DATA_LOAD_RETRY_DELAY_MILLISECONDS; - - private long loadDataTimeoutMillis = DistroConstants.DEFAULT_DATA_LOAD_TIMEOUT_MILLISECONDS; - - private DistroConfig() { - super(DISTRO); - resetConfig(); - } - - @Override - protected void getConfigFromEnv() { - syncDelayMillis = EnvUtil.getProperty(DistroConstants.DATA_SYNC_DELAY_MILLISECONDS, Long.class, - DistroConstants.DEFAULT_DATA_SYNC_DELAY_MILLISECONDS); - syncTimeoutMillis = EnvUtil.getProperty(DistroConstants.DATA_SYNC_TIMEOUT_MILLISECONDS, Long.class, - DistroConstants.DEFAULT_DATA_SYNC_TIMEOUT_MILLISECONDS); - syncRetryDelayMillis = EnvUtil.getProperty(DistroConstants.DATA_SYNC_RETRY_DELAY_MILLISECONDS, Long.class, - DistroConstants.DEFAULT_DATA_SYNC_RETRY_DELAY_MILLISECONDS); - verifyIntervalMillis = EnvUtil.getProperty(DistroConstants.DATA_VERIFY_INTERVAL_MILLISECONDS, Long.class, - DistroConstants.DEFAULT_DATA_VERIFY_INTERVAL_MILLISECONDS); - verifyTimeoutMillis = EnvUtil.getProperty(DistroConstants.DATA_VERIFY_TIMEOUT_MILLISECONDS, Long.class, - DistroConstants.DEFAULT_DATA_VERIFY_TIMEOUT_MILLISECONDS); - loadDataRetryDelayMillis = EnvUtil.getProperty(DistroConstants.DATA_LOAD_RETRY_DELAY_MILLISECONDS, Long.class, - DistroConstants.DEFAULT_DATA_LOAD_RETRY_DELAY_MILLISECONDS); - loadDataTimeoutMillis = EnvUtil.getProperty(DistroConstants.DATA_LOAD_TIMEOUT_MILLISECONDS, Long.class, - DistroConstants.DEFAULT_DATA_LOAD_TIMEOUT_MILLISECONDS); - } - - public static DistroConfig getInstance() { - return INSTANCE; - } - - public long getSyncDelayMillis() { - return syncDelayMillis; - } - - public void setSyncDelayMillis(long syncDelayMillis) { - this.syncDelayMillis = syncDelayMillis; - } - - public long getSyncTimeoutMillis() { - return syncTimeoutMillis; - } - - public void setSyncTimeoutMillis(long syncTimeoutMillis) { - this.syncTimeoutMillis = syncTimeoutMillis; - } - - public long getSyncRetryDelayMillis() { - return syncRetryDelayMillis; - } - - public void setSyncRetryDelayMillis(long syncRetryDelayMillis) { - this.syncRetryDelayMillis = syncRetryDelayMillis; - } - - public long getVerifyIntervalMillis() { - return verifyIntervalMillis; - } - - public void setVerifyIntervalMillis(long verifyIntervalMillis) { - this.verifyIntervalMillis = verifyIntervalMillis; - } - - public long getVerifyTimeoutMillis() { - return verifyTimeoutMillis; - } - - public void setVerifyTimeoutMillis(long verifyTimeoutMillis) { - this.verifyTimeoutMillis = verifyTimeoutMillis; - } - - public long getLoadDataRetryDelayMillis() { - return loadDataRetryDelayMillis; - } - - public void setLoadDataRetryDelayMillis(long loadDataRetryDelayMillis) { - this.loadDataRetryDelayMillis = loadDataRetryDelayMillis; - } - - public long getLoadDataTimeoutMillis() { - return loadDataTimeoutMillis; - } - - public void setLoadDataTimeoutMillis(long loadDataTimeoutMillis) { - this.loadDataTimeoutMillis = loadDataTimeoutMillis; - } - - @Override - protected String printConfig() { - return "DistroConfig{" + "syncDelayMillis=" + syncDelayMillis + ", syncTimeoutMillis=" + syncTimeoutMillis - + ", syncRetryDelayMillis=" + syncRetryDelayMillis + ", verifyIntervalMillis=" + verifyIntervalMillis - + ", verifyTimeoutMillis=" + verifyTimeoutMillis + ", loadDataRetryDelayMillis=" - + loadDataRetryDelayMillis + '}'; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroConstants.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroConstants.java deleted file mode 100644 index 1a0b3e1b..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroConstants.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro; - -/** - * Distro constants. - * - * @author xiweng.yy - */ -public class DistroConstants { - - public static final String DATA_SYNC_DELAY_MILLISECONDS = "nacos.core.protocol.distro.data.sync.delayMs"; - - public static final long DEFAULT_DATA_SYNC_DELAY_MILLISECONDS = 1000L; - - public static final String DATA_SYNC_TIMEOUT_MILLISECONDS = "nacos.core.protocol.distro.data.sync.timeoutMs"; - - public static final long DEFAULT_DATA_SYNC_TIMEOUT_MILLISECONDS = 3000L; - - public static final String DATA_SYNC_RETRY_DELAY_MILLISECONDS = "nacos.core.protocol.distro.data.sync.retryDelayMs"; - - public static final long DEFAULT_DATA_SYNC_RETRY_DELAY_MILLISECONDS = 3000L; - - public static final String DATA_VERIFY_INTERVAL_MILLISECONDS = "nacos.core.protocol.distro.data.verify.intervalMs"; - - public static final long DEFAULT_DATA_VERIFY_INTERVAL_MILLISECONDS = 5000L; - - public static final String DATA_VERIFY_TIMEOUT_MILLISECONDS = "nacos.core.protocol.distro.data.verify.timeoutMs"; - - public static final long DEFAULT_DATA_VERIFY_TIMEOUT_MILLISECONDS = 3000L; - - public static final String DATA_LOAD_RETRY_DELAY_MILLISECONDS = "nacos.core.protocol.distro.data.load.retryDelayMs"; - - public static final long DEFAULT_DATA_LOAD_RETRY_DELAY_MILLISECONDS = 30000L; - - public static final String DATA_LOAD_TIMEOUT_MILLISECONDS = "nacos.core.protocol.distro.data.load.timeoutMs"; - - public static final long DEFAULT_DATA_LOAD_TIMEOUT_MILLISECONDS = 30000L; - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroProtocol.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroProtocol.java deleted file mode 100644 index 5eb24c5b..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroProtocol.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro; - -import com.alibaba.nacos.consistency.DataOperation; -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.distributed.distro.component.DistroCallback; -import com.alibaba.nacos.core.distributed.distro.component.DistroComponentHolder; -import com.alibaba.nacos.core.distributed.distro.component.DistroDataProcessor; -import com.alibaba.nacos.core.distributed.distro.component.DistroDataStorage; -import com.alibaba.nacos.core.distributed.distro.component.DistroTransportAgent; -import com.alibaba.nacos.core.distributed.distro.entity.DistroData; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; -import com.alibaba.nacos.core.distributed.distro.task.DistroTaskEngineHolder; -import com.alibaba.nacos.core.distributed.distro.task.delay.DistroDelayTask; -import com.alibaba.nacos.core.distributed.distro.task.load.DistroLoadDataTask; -import com.alibaba.nacos.core.distributed.distro.task.verify.DistroVerifyTimedTask; -import com.alibaba.nacos.core.utils.GlobalExecutor; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.EnvUtil; -import org.springframework.stereotype.Component; - -/** - * Distro protocol. - * - * @author xiweng.yy - */ -@Component -public class DistroProtocol { - - private final ServerMemberManager memberManager; - - private final DistroComponentHolder distroComponentHolder; - - private final DistroTaskEngineHolder distroTaskEngineHolder; - - private volatile boolean isInitialized = false; - - public DistroProtocol(ServerMemberManager memberManager, DistroComponentHolder distroComponentHolder, - DistroTaskEngineHolder distroTaskEngineHolder) { - this.memberManager = memberManager; - this.distroComponentHolder = distroComponentHolder; - this.distroTaskEngineHolder = distroTaskEngineHolder; - startDistroTask(); - } - - private void startDistroTask() { - if (EnvUtil.getStandaloneMode()) { - isInitialized = true; - return; - } - startVerifyTask(); - startLoadTask(); - } - - private void startLoadTask() { - DistroCallback loadCallback = new DistroCallback() { - @Override - public void onSuccess() { - isInitialized = true; - } - - @Override - public void onFailed(Throwable throwable) { - isInitialized = false; - } - }; - GlobalExecutor.submitLoadDataTask( - new DistroLoadDataTask(memberManager, distroComponentHolder, DistroConfig.getInstance(), loadCallback)); - } - - private void startVerifyTask() { - GlobalExecutor.schedulePartitionDataTimedSync(new DistroVerifyTimedTask(memberManager, distroComponentHolder, - distroTaskEngineHolder.getExecuteWorkersManager()), - DistroConfig.getInstance().getVerifyIntervalMillis()); - } - - public boolean isInitialized() { - return isInitialized; - } - - /** - * Start to sync by configured delay. - * - * @param distroKey distro key of sync data - * @param action the action of data operation - */ - public void sync(DistroKey distroKey, DataOperation action) { - sync(distroKey, action, DistroConfig.getInstance().getSyncDelayMillis()); - } - - /** - * Start to sync data to all remote server. - * - * @param distroKey distro key of sync data - * @param action the action of data operation - * @param delay delay time for sync - */ - public void sync(DistroKey distroKey, DataOperation action, long delay) { - for (Member each : memberManager.allMembersWithoutSelf()) { - syncToTarget(distroKey, action, each.getAddress(), delay); - } - } - - /** - * Start to sync to target server. - * - * @param distroKey distro key of sync data - * @param action the action of data operation - * @param targetServer target server - * @param delay delay time for sync - */ - public void syncToTarget(DistroKey distroKey, DataOperation action, String targetServer, long delay) { - DistroKey distroKeyWithTarget = new DistroKey(distroKey.getResourceKey(), distroKey.getResourceType(), - targetServer); - DistroDelayTask distroDelayTask = new DistroDelayTask(distroKeyWithTarget, action, delay); - distroTaskEngineHolder.getDelayTaskExecuteEngine().addTask(distroKeyWithTarget, distroDelayTask); - if (Loggers.DISTRO.isDebugEnabled()) { - Loggers.DISTRO.debug("[DISTRO-SCHEDULE] {} to {}", distroKey, targetServer); - } - } - - /** - * Query data from specified server. - * - * @param distroKey data key - * @return data - */ - public DistroData queryFromRemote(DistroKey distroKey) { - if (null == distroKey.getTargetServer()) { - Loggers.DISTRO.warn("[DISTRO] Can't query data from empty server"); - return null; - } - String resourceType = distroKey.getResourceType(); - DistroTransportAgent transportAgent = distroComponentHolder.findTransportAgent(resourceType); - if (null == transportAgent) { - Loggers.DISTRO.warn("[DISTRO] Can't find transport agent for key {}", resourceType); - return null; - } - return transportAgent.getData(distroKey, distroKey.getTargetServer()); - } - - /** - * Receive synced distro data, find processor to process. - * - * @param distroData Received data - * @return true if handle receive data successfully, otherwise false - */ - public boolean onReceive(DistroData distroData) { - Loggers.DISTRO.info("[DISTRO] Receive distro data type: {}, key: {}", distroData.getType(), - distroData.getDistroKey()); - String resourceType = distroData.getDistroKey().getResourceType(); - DistroDataProcessor dataProcessor = distroComponentHolder.findDataProcessor(resourceType); - if (null == dataProcessor) { - Loggers.DISTRO.warn("[DISTRO] Can't find data process for received data {}", resourceType); - return false; - } - return dataProcessor.processData(distroData); - } - - /** - * Receive verify data, find processor to process. - * - * @param distroData verify data - * @param sourceAddress source server address, might be get data from source server - * @return true if verify data successfully, otherwise false - */ - public boolean onVerify(DistroData distroData, String sourceAddress) { - if (Loggers.DISTRO.isDebugEnabled()) { - Loggers.DISTRO.debug("[DISTRO] Receive verify data type: {}, key: {}", distroData.getType(), - distroData.getDistroKey()); - } - String resourceType = distroData.getDistroKey().getResourceType(); - DistroDataProcessor dataProcessor = distroComponentHolder.findDataProcessor(resourceType); - if (null == dataProcessor) { - Loggers.DISTRO.warn("[DISTRO] Can't find verify data process for received data {}", resourceType); - return false; - } - return dataProcessor.processVerifyData(distroData, sourceAddress); - } - - /** - * Query data of input distro key. - * - * @param distroKey key of data - * @return data - */ - public DistroData onQuery(DistroKey distroKey) { - String resourceType = distroKey.getResourceType(); - DistroDataStorage distroDataStorage = distroComponentHolder.findDataStorage(resourceType); - if (null == distroDataStorage) { - Loggers.DISTRO.warn("[DISTRO] Can't find data storage for received key {}", resourceType); - return new DistroData(distroKey, new byte[0]); - } - return distroDataStorage.getDistroData(distroKey); - } - - /** - * Query all datum snapshot. - * - * @param type datum type - * @return all datum snapshot - */ - public DistroData onSnapshot(String type) { - DistroDataStorage distroDataStorage = distroComponentHolder.findDataStorage(type); - if (null == distroDataStorage) { - Loggers.DISTRO.warn("[DISTRO] Can't find data storage for received key {}", type); - return new DistroData(new DistroKey("snapshot", type), new byte[0]); - } - return distroDataStorage.getDatumSnapshot(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroCallback.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroCallback.java deleted file mode 100644 index 7f2456f7..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroCallback.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.component; - -/** - * Distro callback. - * - * @author xiweng.yy - */ -public interface DistroCallback { - - /** - * Callback when distro task execute successfully. - */ - void onSuccess(); - - /** - * Callback when distro task execute failed. - * - * @param throwable throwable if execute failed caused by exception - */ - void onFailed(Throwable throwable); -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroComponentHolder.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroComponentHolder.java deleted file mode 100644 index 499965d1..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroComponentHolder.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.component; - -import org.springframework.stereotype.Component; - -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -/** - * Distro component holder. - * - * @author xiweng.yy - */ -@Component -public class DistroComponentHolder { - - private final Map transportAgentMap = new HashMap<>(); - - private final Map dataStorageMap = new HashMap<>(); - - private final Map failedTaskHandlerMap = new HashMap<>(); - - private final Map dataProcessorMap = new HashMap<>(); - - public DistroTransportAgent findTransportAgent(String type) { - return transportAgentMap.get(type); - } - - public void registerTransportAgent(String type, DistroTransportAgent transportAgent) { - transportAgentMap.put(type, transportAgent); - } - - public DistroDataStorage findDataStorage(String type) { - return dataStorageMap.get(type); - } - - public void registerDataStorage(String type, DistroDataStorage dataStorage) { - dataStorageMap.put(type, dataStorage); - } - - public Set getDataStorageTypes() { - return dataStorageMap.keySet(); - } - - public DistroFailedTaskHandler findFailedTaskHandler(String type) { - return failedTaskHandlerMap.get(type); - } - - public void registerFailedTaskHandler(String type, DistroFailedTaskHandler failedTaskHandler) { - failedTaskHandlerMap.put(type, failedTaskHandler); - } - - public void registerDataProcessor(DistroDataProcessor dataProcessor) { - dataProcessorMap.putIfAbsent(dataProcessor.processType(), dataProcessor); - } - - public DistroDataProcessor findDataProcessor(String processType) { - return dataProcessorMap.get(processType); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroDataProcessor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroDataProcessor.java deleted file mode 100644 index 635d19aa..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroDataProcessor.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.component; - -import com.alibaba.nacos.core.distributed.distro.entity.DistroData; - -/** - * Distro data processor. - * - * @author xiweng.yy - */ -public interface DistroDataProcessor { - - /** - * Process type of this processor. - * - * @return type of this processor - */ - String processType(); - - /** - * Process received data. - * - * @param distroData received data - * @return true if process data successfully, otherwise false - */ - boolean processData(DistroData distroData); - - /** - * Process received verify data. - * - * @param distroData verify data - * @param sourceAddress source server address, might be get data from source server - * @return true if the data is available, otherwise false - */ - boolean processVerifyData(DistroData distroData, String sourceAddress); - - /** - * Process snapshot data. - * - * @param distroData snapshot data - * @return true if process data successfully, otherwise false - */ - boolean processSnapshot(DistroData distroData); -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroDataStorage.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroDataStorage.java deleted file mode 100644 index 4789b2de..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroDataStorage.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.component; - -import com.alibaba.nacos.core.distributed.distro.entity.DistroData; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; - -import java.util.List; - -/** - * Distro data storage. - * - * @author xiweng.yy - */ -public interface DistroDataStorage { - - /** - * Set this distro data storage has finished initial step. - */ - void finishInitial(); - - /** - * Whether this distro data is finished initial. - * - *

If not finished, this data storage should not send verify data to other node. - * - * @return {@code true} if finished, otherwise false - */ - boolean isFinishInitial(); - - /** - * Get distro datum. - * - * @param distroKey key of distro datum - * @return need to sync datum - */ - DistroData getDistroData(DistroKey distroKey); - - /** - * Get all distro datum snapshot. - * - * @return all datum - */ - DistroData getDatumSnapshot(); - - /** - * Get verify datum. - * - * @return verify datum - */ - List getVerifyData(); -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroFailedTaskHandler.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroFailedTaskHandler.java deleted file mode 100644 index 2bc4f886..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroFailedTaskHandler.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.component; - -import com.alibaba.nacos.consistency.DataOperation; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; - -/** - * Distro failed task handler. - * - * @author xiweng.yy - */ -public interface DistroFailedTaskHandler { - - /** - * Build retry task when distro task execute failed. - * - * @param distroKey distro key of failed task - * @param action action of task - */ - void retry(DistroKey distroKey, DataOperation action); -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroTransportAgent.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroTransportAgent.java deleted file mode 100644 index 0db97e4d..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/component/DistroTransportAgent.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.component; - -import com.alibaba.nacos.core.distributed.distro.entity.DistroData; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; - -/** - * Distro transport agent. - * - * @author xiweng.yy - */ -public interface DistroTransportAgent { - - /** - * Whether support transport data with callback. - * - * @return true if support, otherwise false - */ - boolean supportCallbackTransport(); - - /** - * Sync data. - * - * @param data data - * @param targetServer target server - * @return true is sync successfully, otherwise false - */ - boolean syncData(DistroData data, String targetServer); - - /** - * Sync data with callback. - * - * @param data data - * @param targetServer target server - * @param callback callback - * @throws UnsupportedOperationException if method supportCallbackTransport is false, should throw {@code - * UnsupportedOperationException} - */ - void syncData(DistroData data, String targetServer, DistroCallback callback); - - /** - * Sync verify data. - * - * @param verifyData verify data - * @param targetServer target server - * @return true is verify successfully, otherwise false - */ - boolean syncVerifyData(DistroData verifyData, String targetServer); - - /** - * Sync verify data. - * - * @param verifyData verify data - * @param targetServer target server - * @param callback callback - * @throws UnsupportedOperationException if method supportCallbackTransport is false, should throw {@code - * UnsupportedOperationException} - */ - void syncVerifyData(DistroData verifyData, String targetServer, DistroCallback callback); - - /** - * get Data from target server. - * - * @param key key of data - * @param targetServer target server - * @return distro data - */ - DistroData getData(DistroKey key, String targetServer); - - /** - * Get all datum snapshot from target server. - * - * @param targetServer target server. - * @return distro data - */ - DistroData getDatumSnapshot(String targetServer); -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/entity/DistroData.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/entity/DistroData.java deleted file mode 100644 index dc362ede..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/entity/DistroData.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.entity; - -import com.alibaba.nacos.consistency.DataOperation; - -/** - * Distro data. - * - * @author xiweng.yy - */ -public class DistroData { - - private DistroKey distroKey; - - private DataOperation type; - - private byte[] content; - - public DistroData() { - } - - public DistroData(DistroKey distroKey, byte[] content) { - this.distroKey = distroKey; - this.content = content; - } - - public DistroKey getDistroKey() { - return distroKey; - } - - public void setDistroKey(DistroKey distroKey) { - this.distroKey = distroKey; - } - - public DataOperation getType() { - return type; - } - - public void setType(DataOperation type) { - this.type = type; - } - - public byte[] getContent() { - return content; - } - - public void setContent(byte[] content) { - this.content = content; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/entity/DistroKey.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/entity/DistroKey.java deleted file mode 100644 index 2ae92efd..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/entity/DistroKey.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.entity; - -import java.util.Objects; - -/** - * Distro key. - * - * @author xiweng.yy - */ -public class DistroKey { - - private String resourceKey; - - private String resourceType; - - private String targetServer; - - public DistroKey() { - } - - public DistroKey(String resourceKey, String resourceType) { - this.resourceKey = resourceKey; - this.resourceType = resourceType; - } - - public DistroKey(String resourceKey, String resourceType, String targetServer) { - this.resourceKey = resourceKey; - this.resourceType = resourceType; - this.targetServer = targetServer; - } - - public String getResourceKey() { - return resourceKey; - } - - public void setResourceKey(String resourceKey) { - this.resourceKey = resourceKey; - } - - public String getResourceType() { - return resourceType; - } - - public void setResourceType(String resourceType) { - this.resourceType = resourceType; - } - - public String getTargetServer() { - return targetServer; - } - - public void setTargetServer(String targetServer) { - this.targetServer = targetServer; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - DistroKey distroKey = (DistroKey) o; - return Objects.equals(resourceKey, distroKey.resourceKey) && Objects - .equals(resourceType, distroKey.resourceType) && Objects.equals(targetServer, distroKey.targetServer); - } - - @Override - public int hashCode() { - return Objects.hash(resourceKey, resourceType, targetServer); - } - - @Override - public String toString() { - return "DistroKey{" + "resourceKey='" + resourceKey + '\'' + ", resourceType='" + resourceType + '\'' - + ", targetServer='" + targetServer + '\'' + '}'; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/exception/DistroException.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/exception/DistroException.java deleted file mode 100644 index 24c2c8f3..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/exception/DistroException.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.exception; - -/** - * Distro exception. - * - * @author xiweng.yy - */ -public class DistroException extends RuntimeException { - - private static final long serialVersionUID = 1711141952413139786L; - - public DistroException(String message) { - super(message); - } - - public DistroException(String message, Throwable cause) { - super(message, cause); - } - - @Override - public String getMessage() { - return "[DISTRO-EXCEPTION]" + super.getMessage(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/monitor/DistroRecord.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/monitor/DistroRecord.java deleted file mode 100644 index 9ceb0663..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/monitor/DistroRecord.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.monitor; - -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; - -/** - * Distro record for monitor. - * - * @author xiweng.yy - */ -public class DistroRecord { - - private final String type; - - private final AtomicLong totalSyncCount; - - private final AtomicLong successfulSyncCount; - - private final AtomicLong failedSyncCount; - - private final AtomicInteger failedVerifyCount; - - public DistroRecord(String type) { - this.type = type; - this.totalSyncCount = new AtomicLong(); - this.successfulSyncCount = new AtomicLong(); - this.failedSyncCount = new AtomicLong(); - this.failedVerifyCount = new AtomicInteger(); - } - - public String getType() { - return type; - } - - public void syncSuccess() { - successfulSyncCount.incrementAndGet(); - totalSyncCount.incrementAndGet(); - } - - public void syncFail() { - failedSyncCount.incrementAndGet(); - totalSyncCount.incrementAndGet(); - } - - public void verifyFail() { - failedVerifyCount.incrementAndGet(); - } - - public long getTotalSyncCount() { - return totalSyncCount.get(); - } - - public long getSuccessfulSyncCount() { - return successfulSyncCount.get(); - } - - public long getFailedSyncCount() { - return failedSyncCount.get(); - } - - public int getFailedVerifyCount() { - return failedVerifyCount.get(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/monitor/DistroRecordsHolder.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/monitor/DistroRecordsHolder.java deleted file mode 100644 index 42748f87..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/monitor/DistroRecordsHolder.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.monitor; - -import java.util.Optional; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; - -/** - * Distro records holder. - * - * @author xiweng.yy - */ -public class DistroRecordsHolder { - - private static final DistroRecordsHolder INSTANCE = new DistroRecordsHolder(); - - private final ConcurrentMap distroRecords; - - private DistroRecordsHolder() { - distroRecords = new ConcurrentHashMap<>(); - } - - public static DistroRecordsHolder getInstance() { - return INSTANCE; - } - - public Optional getRecordIfExist(String type) { - return Optional.ofNullable(distroRecords.get(type)); - } - - public DistroRecord getRecord(String type) { - distroRecords.computeIfAbsent(type, s -> new DistroRecord(type)); - return distroRecords.get(type); - } - - public long getTotalSyncCount() { - final AtomicLong result = new AtomicLong(); - distroRecords.forEach((s, distroRecord) -> result.addAndGet(distroRecord.getTotalSyncCount())); - return result.get(); - } - - public long getSuccessfulSyncCount() { - final AtomicLong result = new AtomicLong(); - distroRecords.forEach((s, distroRecord) -> result.addAndGet(distroRecord.getSuccessfulSyncCount())); - return result.get(); - } - - public long getFailedSyncCount() { - final AtomicLong result = new AtomicLong(); - distroRecords.forEach((s, distroRecord) -> result.addAndGet(distroRecord.getFailedSyncCount())); - return result.get(); - } - - public int getFailedVerifyCount() { - final AtomicInteger result = new AtomicInteger(); - distroRecords.forEach((s, distroRecord) -> result.addAndGet(distroRecord.getFailedVerifyCount())); - return result.get(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/DistroTaskEngineHolder.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/DistroTaskEngineHolder.java deleted file mode 100644 index 8cfe9ea0..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/DistroTaskEngineHolder.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task; - -import com.alibaba.nacos.common.task.NacosTaskProcessor; -import com.alibaba.nacos.core.distributed.distro.component.DistroComponentHolder; -import com.alibaba.nacos.core.distributed.distro.task.delay.DistroDelayTaskExecuteEngine; -import com.alibaba.nacos.core.distributed.distro.task.delay.DistroDelayTaskProcessor; -import com.alibaba.nacos.core.distributed.distro.task.execute.DistroExecuteTaskExecuteEngine; -import org.springframework.stereotype.Component; - -/** - * Distro task engine holder. - * - * @author xiweng.yy - */ -@Component -public class DistroTaskEngineHolder { - - private final DistroDelayTaskExecuteEngine delayTaskExecuteEngine = new DistroDelayTaskExecuteEngine(); - - private final DistroExecuteTaskExecuteEngine executeWorkersManager = new DistroExecuteTaskExecuteEngine(); - - public DistroTaskEngineHolder(DistroComponentHolder distroComponentHolder) { - DistroDelayTaskProcessor defaultDelayTaskProcessor = new DistroDelayTaskProcessor(this, distroComponentHolder); - delayTaskExecuteEngine.setDefaultTaskProcessor(defaultDelayTaskProcessor); - } - - public DistroDelayTaskExecuteEngine getDelayTaskExecuteEngine() { - return delayTaskExecuteEngine; - } - - public DistroExecuteTaskExecuteEngine getExecuteWorkersManager() { - return executeWorkersManager; - } - - public void registerNacosTaskProcessor(Object key, NacosTaskProcessor nacosTaskProcessor) { - this.delayTaskExecuteEngine.addProcessor(key, nacosTaskProcessor); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTask.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTask.java deleted file mode 100644 index 17785374..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTask.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.delay; - -import com.alibaba.nacos.common.task.AbstractDelayTask; -import com.alibaba.nacos.consistency.DataOperation; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; - -/** - * Distro delay task. - * - * @author xiweng.yy - */ -public class DistroDelayTask extends AbstractDelayTask { - - private final DistroKey distroKey; - - private DataOperation action; - - private long createTime; - - public DistroDelayTask(DistroKey distroKey, long delayTime) { - this(distroKey, DataOperation.CHANGE, delayTime); - } - - public DistroDelayTask(DistroKey distroKey, DataOperation action, long delayTime) { - this.distroKey = distroKey; - this.action = action; - this.createTime = System.currentTimeMillis(); - setLastProcessTime(createTime); - setTaskInterval(delayTime); - } - - public DistroKey getDistroKey() { - return distroKey; - } - - public DataOperation getAction() { - return action; - } - - public long getCreateTime() { - return createTime; - } - - @Override - public void merge(AbstractDelayTask task) { - if (!(task instanceof DistroDelayTask)) { - return; - } - DistroDelayTask oldTask = (DistroDelayTask) task; - if (!action.equals(oldTask.getAction()) && createTime < oldTask.getCreateTime()) { - action = oldTask.getAction(); - createTime = oldTask.getCreateTime(); - } - setLastProcessTime(oldTask.getLastProcessTime()); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTaskExecuteEngine.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTaskExecuteEngine.java deleted file mode 100644 index a672b92e..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTaskExecuteEngine.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.delay; - -import com.alibaba.nacos.common.task.NacosTaskProcessor; -import com.alibaba.nacos.common.task.engine.NacosDelayTaskExecuteEngine; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; -import com.alibaba.nacos.core.utils.Loggers; - -/** - * Distro delay task execute engine. - * - * @author xiweng.yy - */ -public class DistroDelayTaskExecuteEngine extends NacosDelayTaskExecuteEngine { - - public DistroDelayTaskExecuteEngine() { - super(DistroDelayTaskExecuteEngine.class.getName(), Loggers.DISTRO); - } - - @Override - public void addProcessor(Object key, NacosTaskProcessor taskProcessor) { - Object actualKey = getActualKey(key); - super.addProcessor(actualKey, taskProcessor); - } - - @Override - public NacosTaskProcessor getProcessor(Object key) { - Object actualKey = getActualKey(key); - return super.getProcessor(actualKey); - } - - private Object getActualKey(Object key) { - return key instanceof DistroKey ? ((DistroKey) key).getResourceType() : key; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTaskProcessor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTaskProcessor.java deleted file mode 100644 index fabcdea3..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/delay/DistroDelayTaskProcessor.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.delay; - -import com.alibaba.nacos.common.task.NacosTask; -import com.alibaba.nacos.common.task.NacosTaskProcessor; -import com.alibaba.nacos.core.distributed.distro.component.DistroComponentHolder; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; -import com.alibaba.nacos.core.distributed.distro.task.DistroTaskEngineHolder; -import com.alibaba.nacos.core.distributed.distro.task.execute.DistroSyncChangeTask; -import com.alibaba.nacos.core.distributed.distro.task.execute.DistroSyncDeleteTask; - -/** - * Distro delay task processor. - * - * @author xiweng.yy - */ -public class DistroDelayTaskProcessor implements NacosTaskProcessor { - - private final DistroTaskEngineHolder distroTaskEngineHolder; - - private final DistroComponentHolder distroComponentHolder; - - public DistroDelayTaskProcessor(DistroTaskEngineHolder distroTaskEngineHolder, - DistroComponentHolder distroComponentHolder) { - this.distroTaskEngineHolder = distroTaskEngineHolder; - this.distroComponentHolder = distroComponentHolder; - } - - @Override - public boolean process(NacosTask task) { - if (!(task instanceof DistroDelayTask)) { - return true; - } - DistroDelayTask distroDelayTask = (DistroDelayTask) task; - DistroKey distroKey = distroDelayTask.getDistroKey(); - switch (distroDelayTask.getAction()) { - case DELETE: - DistroSyncDeleteTask syncDeleteTask = new DistroSyncDeleteTask(distroKey, distroComponentHolder); - distroTaskEngineHolder.getExecuteWorkersManager().addTask(distroKey, syncDeleteTask); - return true; - case CHANGE: - case ADD: - DistroSyncChangeTask syncChangeTask = new DistroSyncChangeTask(distroKey, distroComponentHolder); - distroTaskEngineHolder.getExecuteWorkersManager().addTask(distroKey, syncChangeTask); - return true; - default: - return false; - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/AbstractDistroExecuteTask.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/AbstractDistroExecuteTask.java deleted file mode 100644 index 8804aed2..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/AbstractDistroExecuteTask.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.execute; - -import com.alibaba.nacos.common.task.AbstractExecuteTask; -import com.alibaba.nacos.consistency.DataOperation; -import com.alibaba.nacos.core.distributed.distro.component.DistroCallback; -import com.alibaba.nacos.core.distributed.distro.component.DistroComponentHolder; -import com.alibaba.nacos.core.distributed.distro.component.DistroFailedTaskHandler; -import com.alibaba.nacos.core.distributed.distro.component.DistroTransportAgent; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; -import com.alibaba.nacos.core.distributed.distro.monitor.DistroRecord; -import com.alibaba.nacos.core.distributed.distro.monitor.DistroRecordsHolder; -import com.alibaba.nacos.core.utils.Loggers; - -/** - * Abstract distro execute task. - * - * @author xiweng.yy - */ -public abstract class AbstractDistroExecuteTask extends AbstractExecuteTask { - - private final DistroKey distroKey; - - private final DistroComponentHolder distroComponentHolder; - - protected AbstractDistroExecuteTask(DistroKey distroKey, DistroComponentHolder distroComponentHolder) { - this.distroKey = distroKey; - this.distroComponentHolder = distroComponentHolder; - } - - protected DistroKey getDistroKey() { - return distroKey; - } - - protected DistroComponentHolder getDistroComponentHolder() { - return distroComponentHolder; - } - - @Override - public void run() { - String type = getDistroKey().getResourceType(); - DistroTransportAgent transportAgent = distroComponentHolder.findTransportAgent(type); - if (null == transportAgent) { - Loggers.DISTRO.warn("No found transport agent for type [{}]", type); - return; - } - Loggers.DISTRO.info("[DISTRO-START] {}", toString()); - if (transportAgent.supportCallbackTransport()) { - doExecuteWithCallback(new DistroExecuteCallback()); - } else { - executeDistroTask(); - } - } - - private void executeDistroTask() { - try { - boolean result = doExecute(); - if (!result) { - handleFailedTask(); - } - Loggers.DISTRO.info("[DISTRO-END] {} result: {}", toString(), result); - } catch (Exception e) { - Loggers.DISTRO.warn("[DISTRO] Sync data change failed.", e); - handleFailedTask(); - } - } - - /** - * Get {@link DataOperation} for current task. - * - * @return data operation - */ - protected abstract DataOperation getDataOperation(); - - /** - * Do execute for different sub class. - * - * @return result of execute - */ - protected abstract boolean doExecute(); - - /** - * Do execute with callback for different sub class. - * - * @param callback callback - */ - protected abstract void doExecuteWithCallback(DistroCallback callback); - - /** - * Handle failed task. - */ - protected void handleFailedTask() { - String type = getDistroKey().getResourceType(); - DistroFailedTaskHandler failedTaskHandler = distroComponentHolder.findFailedTaskHandler(type); - if (null == failedTaskHandler) { - Loggers.DISTRO.warn("[DISTRO] Can't find failed task for type {}, so discarded", type); - return; - } - failedTaskHandler.retry(getDistroKey(), getDataOperation()); - } - - private class DistroExecuteCallback implements DistroCallback { - - @Override - public void onSuccess() { - DistroRecord distroRecord = DistroRecordsHolder.getInstance().getRecord(getDistroKey().getResourceType()); - distroRecord.syncSuccess(); - Loggers.DISTRO.info("[DISTRO-END] {} result: true", getDistroKey().toString()); - } - - @Override - public void onFailed(Throwable throwable) { - DistroRecord distroRecord = DistroRecordsHolder.getInstance().getRecord(getDistroKey().getResourceType()); - distroRecord.syncFail(); - if (null == throwable) { - Loggers.DISTRO.info("[DISTRO-END] {} result: false", getDistroKey().toString()); - } else { - Loggers.DISTRO.warn("[DISTRO] Sync data change failed. key: {}", getDistroKey().toString(), throwable); - } - handleFailedTask(); - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroExecuteTaskExecuteEngine.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroExecuteTaskExecuteEngine.java deleted file mode 100644 index 1883dac2..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroExecuteTaskExecuteEngine.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.execute; - -import com.alibaba.nacos.common.task.engine.NacosExecuteTaskExecuteEngine; -import com.alibaba.nacos.core.utils.Loggers; - -/** - * Distro execute task execute engine. - * - * @author xiweng.yy - */ -public class DistroExecuteTaskExecuteEngine extends NacosExecuteTaskExecuteEngine { - - public DistroExecuteTaskExecuteEngine() { - super(DistroExecuteTaskExecuteEngine.class.getSimpleName(), Loggers.DISTRO); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroSyncChangeTask.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroSyncChangeTask.java deleted file mode 100644 index b1c8c026..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroSyncChangeTask.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.execute; - -import com.alibaba.nacos.consistency.DataOperation; -import com.alibaba.nacos.core.distributed.distro.component.DistroCallback; -import com.alibaba.nacos.core.distributed.distro.component.DistroComponentHolder; -import com.alibaba.nacos.core.distributed.distro.entity.DistroData; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; -import com.alibaba.nacos.core.utils.Loggers; - -/** - * Distro sync change task. - * - * @author xiweng.yy - */ -public class DistroSyncChangeTask extends AbstractDistroExecuteTask { - - private static final DataOperation OPERATION = DataOperation.CHANGE; - - public DistroSyncChangeTask(DistroKey distroKey, DistroComponentHolder distroComponentHolder) { - super(distroKey, distroComponentHolder); - } - - @Override - protected DataOperation getDataOperation() { - return OPERATION; - } - - @Override - protected boolean doExecute() { - String type = getDistroKey().getResourceType(); - DistroData distroData = getDistroData(type); - if (null == distroData) { - Loggers.DISTRO.warn("[DISTRO] {} with null data to sync, skip", toString()); - return true; - } - return getDistroComponentHolder().findTransportAgent(type) - .syncData(distroData, getDistroKey().getTargetServer()); - } - - @Override - protected void doExecuteWithCallback(DistroCallback callback) { - String type = getDistroKey().getResourceType(); - DistroData distroData = getDistroData(type); - if (null == distroData) { - Loggers.DISTRO.warn("[DISTRO] {} with null data to sync, skip", toString()); - return; - } - getDistroComponentHolder().findTransportAgent(type) - .syncData(distroData, getDistroKey().getTargetServer(), callback); - } - - @Override - public String toString() { - return "DistroSyncChangeTask for " + getDistroKey().toString(); - } - - private DistroData getDistroData(String type) { - DistroData result = getDistroComponentHolder().findDataStorage(type).getDistroData(getDistroKey()); - if (null != result) { - result.setType(OPERATION); - } - return result; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroSyncDeleteTask.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroSyncDeleteTask.java deleted file mode 100644 index 0bab753c..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/execute/DistroSyncDeleteTask.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.execute; - -import com.alibaba.nacos.consistency.DataOperation; -import com.alibaba.nacos.core.distributed.distro.component.DistroCallback; -import com.alibaba.nacos.core.distributed.distro.component.DistroComponentHolder; -import com.alibaba.nacos.core.distributed.distro.entity.DistroData; -import com.alibaba.nacos.core.distributed.distro.entity.DistroKey; - -/** - * Distro sync delete task. - * - * @author xiweng.yy - */ -public class DistroSyncDeleteTask extends AbstractDistroExecuteTask { - - private static final DataOperation OPERATION = DataOperation.DELETE; - - public DistroSyncDeleteTask(DistroKey distroKey, DistroComponentHolder distroComponentHolder) { - super(distroKey, distroComponentHolder); - } - - @Override - protected DataOperation getDataOperation() { - return OPERATION; - } - - @Override - protected boolean doExecute() { - String type = getDistroKey().getResourceType(); - DistroData distroData = new DistroData(); - distroData.setDistroKey(getDistroKey()); - distroData.setType(OPERATION); - return getDistroComponentHolder().findTransportAgent(type) - .syncData(distroData, getDistroKey().getTargetServer()); - } - - @Override - protected void doExecuteWithCallback(DistroCallback callback) { - String type = getDistroKey().getResourceType(); - DistroData distroData = new DistroData(); - distroData.setDistroKey(getDistroKey()); - distroData.setType(OPERATION); - getDistroComponentHolder().findTransportAgent(type) - .syncData(distroData, getDistroKey().getTargetServer(), callback); - } - - @Override - public String toString() { - return "DistroSyncDeleteTask for " + getDistroKey().toString(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/load/DistroLoadDataTask.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/load/DistroLoadDataTask.java deleted file mode 100644 index 29885daf..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/load/DistroLoadDataTask.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.load; - -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.distributed.distro.DistroConfig; -import com.alibaba.nacos.core.distributed.distro.component.DistroCallback; -import com.alibaba.nacos.core.distributed.distro.component.DistroComponentHolder; -import com.alibaba.nacos.core.distributed.distro.component.DistroDataProcessor; -import com.alibaba.nacos.core.distributed.distro.component.DistroTransportAgent; -import com.alibaba.nacos.core.distributed.distro.entity.DistroData; -import com.alibaba.nacos.core.utils.GlobalExecutor; -import com.alibaba.nacos.core.utils.Loggers; - -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; - -/** - * Distro load data task. - * - * @author xiweng.yy - */ -public class DistroLoadDataTask implements Runnable { - - private final ServerMemberManager memberManager; - - private final DistroComponentHolder distroComponentHolder; - - private final DistroConfig distroConfig; - - private final DistroCallback loadCallback; - - private final Map loadCompletedMap; - - public DistroLoadDataTask(ServerMemberManager memberManager, DistroComponentHolder distroComponentHolder, - DistroConfig distroConfig, DistroCallback loadCallback) { - this.memberManager = memberManager; - this.distroComponentHolder = distroComponentHolder; - this.distroConfig = distroConfig; - this.loadCallback = loadCallback; - loadCompletedMap = new HashMap<>(1); - } - - @Override - public void run() { - try { - load(); - if (!checkCompleted()) { - GlobalExecutor.submitLoadDataTask(this, distroConfig.getLoadDataRetryDelayMillis()); - } else { - loadCallback.onSuccess(); - Loggers.DISTRO.info("[DISTRO-INIT] load snapshot data success"); - } - } catch (Exception e) { - loadCallback.onFailed(e); - Loggers.DISTRO.error("[DISTRO-INIT] load snapshot data failed. ", e); - } - } - - private void load() throws Exception { - while (memberManager.allMembersWithoutSelf().isEmpty()) { - Loggers.DISTRO.info("[DISTRO-INIT] waiting server list init..."); - TimeUnit.SECONDS.sleep(1); - } - while (distroComponentHolder.getDataStorageTypes().isEmpty()) { - Loggers.DISTRO.info("[DISTRO-INIT] waiting distro data storage register..."); - TimeUnit.SECONDS.sleep(1); - } - for (String each : distroComponentHolder.getDataStorageTypes()) { - if (!loadCompletedMap.containsKey(each) || !loadCompletedMap.get(each)) { - loadCompletedMap.put(each, loadAllDataSnapshotFromRemote(each)); - } - } - } - - private boolean loadAllDataSnapshotFromRemote(String resourceType) { - DistroTransportAgent transportAgent = distroComponentHolder.findTransportAgent(resourceType); - DistroDataProcessor dataProcessor = distroComponentHolder.findDataProcessor(resourceType); - if (null == transportAgent || null == dataProcessor) { - Loggers.DISTRO.warn("[DISTRO-INIT] Can't find component for type {}, transportAgent: {}, dataProcessor: {}", - resourceType, transportAgent, dataProcessor); - return false; - } - for (Member each : memberManager.allMembersWithoutSelf()) { - long startTime = System.currentTimeMillis(); - try { - Loggers.DISTRO.info("[DISTRO-INIT] load snapshot {} from {}", resourceType, each.getAddress()); - DistroData distroData = transportAgent.getDatumSnapshot(each.getAddress()); - Loggers.DISTRO.info("[DISTRO-INIT] it took {} ms to load snapshot {} from {} and snapshot size is {}.", - System.currentTimeMillis() - startTime, resourceType, each.getAddress(), - getDistroDataLength(distroData)); - boolean result = dataProcessor.processSnapshot(distroData); - Loggers.DISTRO - .info("[DISTRO-INIT] load snapshot {} from {} result: {}", resourceType, each.getAddress(), - result); - if (result) { - distroComponentHolder.findDataStorage(resourceType).finishInitial(); - return true; - } - } catch (Exception e) { - Loggers.DISTRO.error("[DISTRO-INIT] load snapshot {} from {} failed.", resourceType, each.getAddress(), e); - } - } - return false; - } - - private static int getDistroDataLength(DistroData distroData) { - return distroData != null && distroData.getContent() != null ? distroData.getContent().length : 0; - } - - private boolean checkCompleted() { - if (distroComponentHolder.getDataStorageTypes().size() != loadCompletedMap.size()) { - return false; - } - for (Boolean each : loadCompletedMap.values()) { - if (!each) { - return false; - } - } - return true; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/verify/DistroVerifyExecuteTask.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/verify/DistroVerifyExecuteTask.java deleted file mode 100644 index 6ca0cc79..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/verify/DistroVerifyExecuteTask.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.verify; - -import com.alibaba.nacos.common.task.AbstractExecuteTask; -import com.alibaba.nacos.core.distributed.distro.component.DistroCallback; -import com.alibaba.nacos.core.distributed.distro.component.DistroTransportAgent; -import com.alibaba.nacos.core.distributed.distro.entity.DistroData; -import com.alibaba.nacos.core.distributed.distro.monitor.DistroRecord; -import com.alibaba.nacos.core.distributed.distro.monitor.DistroRecordsHolder; -import com.alibaba.nacos.core.utils.Loggers; - -import java.util.List; - -/** - * Execute distro verify task. - * - * @author xiweng.yy - */ -public class DistroVerifyExecuteTask extends AbstractExecuteTask { - - private final DistroTransportAgent transportAgent; - - private final List verifyData; - - private final String targetServer; - - private final String resourceType; - - public DistroVerifyExecuteTask(DistroTransportAgent transportAgent, List verifyData, - String targetServer, String resourceType) { - this.transportAgent = transportAgent; - this.verifyData = verifyData; - this.targetServer = targetServer; - this.resourceType = resourceType; - } - - @Override - public void run() { - for (DistroData each : verifyData) { - try { - if (transportAgent.supportCallbackTransport()) { - doSyncVerifyDataWithCallback(each); - } else { - doSyncVerifyData(each); - } - } catch (Exception e) { - Loggers.DISTRO - .error("[DISTRO-FAILED] verify data for type {} to {} failed.", resourceType, targetServer, e); - } - } - } - - private void doSyncVerifyDataWithCallback(DistroData data) { - transportAgent.syncVerifyData(data, targetServer, new DistroVerifyCallback()); - } - - private void doSyncVerifyData(DistroData data) { - transportAgent.syncVerifyData(data, targetServer); - } - - private class DistroVerifyCallback implements DistroCallback { - - @Override - public void onSuccess() { - if (Loggers.DISTRO.isDebugEnabled()) { - Loggers.DISTRO.debug("[DISTRO] verify data for type {} to {} success", resourceType, targetServer); - } - } - - @Override - public void onFailed(Throwable throwable) { - DistroRecord distroRecord = DistroRecordsHolder.getInstance().getRecord(resourceType); - distroRecord.verifyFail(); - if (Loggers.DISTRO.isDebugEnabled()) { - Loggers.DISTRO - .debug("[DISTRO-FAILED] verify data for type {} to {} failed.", resourceType, targetServer, - throwable); - } - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/verify/DistroVerifyTimedTask.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/verify/DistroVerifyTimedTask.java deleted file mode 100644 index 3cd609bc..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/distro/task/verify/DistroVerifyTimedTask.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.distro.task.verify; - -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.distributed.distro.component.DistroComponentHolder; -import com.alibaba.nacos.core.distributed.distro.component.DistroDataStorage; -import com.alibaba.nacos.core.distributed.distro.component.DistroTransportAgent; -import com.alibaba.nacos.core.distributed.distro.entity.DistroData; -import com.alibaba.nacos.core.distributed.distro.task.execute.DistroExecuteTaskExecuteEngine; -import com.alibaba.nacos.core.utils.Loggers; - -import java.util.List; - -/** - * Timed to start distro verify task. - * - * @author xiweng.yy - */ -public class DistroVerifyTimedTask implements Runnable { - - private final ServerMemberManager serverMemberManager; - - private final DistroComponentHolder distroComponentHolder; - - private final DistroExecuteTaskExecuteEngine executeTaskExecuteEngine; - - public DistroVerifyTimedTask(ServerMemberManager serverMemberManager, DistroComponentHolder distroComponentHolder, - DistroExecuteTaskExecuteEngine executeTaskExecuteEngine) { - this.serverMemberManager = serverMemberManager; - this.distroComponentHolder = distroComponentHolder; - this.executeTaskExecuteEngine = executeTaskExecuteEngine; - } - - @Override - public void run() { - try { - List targetServer = serverMemberManager.allMembersWithoutSelf(); - if (Loggers.DISTRO.isDebugEnabled()) { - Loggers.DISTRO.debug("server list is: {}", targetServer); - } - for (String each : distroComponentHolder.getDataStorageTypes()) { - verifyForDataStorage(each, targetServer); - } - } catch (Exception e) { - Loggers.DISTRO.error("[DISTRO-FAILED] verify task failed.", e); - } - } - - private void verifyForDataStorage(String type, List targetServer) { - DistroDataStorage dataStorage = distroComponentHolder.findDataStorage(type); - if (!dataStorage.isFinishInitial()) { - Loggers.DISTRO.warn("data storage {} has not finished initial step, do not send verify data", - dataStorage.getClass().getSimpleName()); - return; - } - List verifyData = dataStorage.getVerifyData(); - if (null == verifyData || verifyData.isEmpty()) { - return; - } - for (Member member : targetServer) { - DistroTransportAgent agent = distroComponentHolder.findTransportAgent(type); - if (null == agent) { - continue; - } - executeTaskExecuteEngine.addTask(member.getAddress() + type, - new DistroVerifyExecuteTask(agent, verifyData, member.getAddress(), type)); - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/id/IdGeneratorManager.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/id/IdGeneratorManager.java deleted file mode 100644 index a4861a75..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/id/IdGeneratorManager.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.id; - -import com.alibaba.nacos.common.spi.NacosServiceLoader; -import com.alibaba.nacos.consistency.IdGenerator; -import org.springframework.stereotype.Component; - -import java.util.Collection; -import java.util.Iterator; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.concurrent.ConcurrentHashMap; -import java.util.function.Function; - -/** - * Id generator manager. - * - * @author liaochuntao - */ -@Component -public class IdGeneratorManager { - - private final Map generatorMap = new ConcurrentHashMap<>(); - - private final Function supplier; - - public IdGeneratorManager() { - this.supplier = s -> { - IdGenerator generator; - Collection idGenerators = NacosServiceLoader.load(IdGenerator.class); - Iterator iterator = idGenerators.iterator(); - if (iterator.hasNext()) { - generator = iterator.next(); - } else { - generator = new SnowFlowerIdGenerator(); - } - generator.init(); - return generator; - }; - } - - public void register(String resource) { - generatorMap.computeIfAbsent(resource, s -> supplier.apply(resource)); - } - - /** - * Register resources that need to use the ID generator. - * - * @param resources resource name list - */ - public void register(String... resources) { - for (String resource : resources) { - generatorMap.computeIfAbsent(resource, s -> supplier.apply(resource)); - } - } - - /** - * request next id by resource name. - * - * @param resource resource name - * @return id - */ - public long nextId(String resource) { - if (generatorMap.containsKey(resource)) { - return generatorMap.get(resource).nextId(); - } - throw new NoSuchElementException( - "The resource is not registered with the distributed " + "ID resource for the time being."); - } - - public Map getGeneratorMap() { - return generatorMap; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/id/SnowFlowerIdGenerator.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/id/SnowFlowerIdGenerator.java deleted file mode 100644 index ae084127..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/id/SnowFlowerIdGenerator.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.id; - -import com.alibaba.nacos.consistency.IdGenerator; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.sys.utils.InetUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; - -/** - * copy from http://www.cluozy.com/home/hexo/2018/08/11/shariding-JDBC-snowflake/. - * - * WorkerId generation policy: Calculate the InetAddress hashcode - * - *

The repeat rate of the dataCenterId, the value of the maximum dataCenterId times the time of each Raft election. - * The - * time for raft to select the master is generally measured in seconds. If the interval of an election is 5 seconds, it - * will take 150 seconds for the DataCenterId to be repeated. This is still based on the situation that the new master - * needs to be selected after each election of the Leader - * - * @author liaochuntao - */ -@SuppressWarnings("all") -public class SnowFlowerIdGenerator implements IdGenerator { - - private static final String DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss.SSS"; - - /** - * Start time intercept (2018-08-05 08:34) - */ - public static final long EPOCH = 1533429240000L; - - private static final Logger logger = LoggerFactory.getLogger(SnowFlowerIdGenerator.class); - - // the bits of sequence - private static final long SEQUENCE_BITS = 12L; - - // the bits of workerId - private static final long WORKER_ID_BITS = 10L; - - // the mask of sequence (111111111111B = 4095) - private static final long SEQUENCE_MASK = 4095L; - - // the left shift bits of workerId equals 12 bits - private static final long WORKER_ID_LEFT_SHIFT_BITS = 12L; - - // the left shift bits of timestamp equals 22 bits (WORKER_ID_LEFT_SHIFT_BITS + workerId) - private static final long TIMESTAMP_LEFT_SHIFT_BITS = 22L; - - // the max of worker ID is 1024 - private static final long WORKER_ID_MAX_VALUE = 1024L; - - //CLOCK_REALTIME - private final long startWallTime = System.currentTimeMillis(); - - //CLOCK_MONOTONIC - private final long monotonicStartTime = System.nanoTime(); - - private long workerId; - - private long sequence; - - private long lastTime; - - private long currentId; - - { - long workerId = EnvUtil.getProperty("nacos.core.snowflake.worker-id", Integer.class, -1); - - if (workerId != -1) { - this.workerId = workerId; - } else { - InetAddress address; - try { - address = InetAddress.getByName(InetUtils.getSelfIP()); - } catch (final UnknownHostException e) { - throw new IllegalStateException("Cannot get LocalHost InetAddress, please check your network!", e); - } - byte[] ipAddressByteArray = address.getAddress(); - this.workerId = (((ipAddressByteArray[ipAddressByteArray.length - 2] & 0B11) << Byte.SIZE) + ( - ipAddressByteArray[ipAddressByteArray.length - 1] & 0xFF)); - } - } - - @Override - public void init() { - initialize(workerId); - } - - @Override - public long currentId() { - return currentId; - } - - @Override - public long workerId() { - return workerId; - } - - @Override - public synchronized long nextId() { - long currentMillis = currentTimeMillis(); - if (this.lastTime == currentMillis) { - if (0L == (this.sequence = ++this.sequence & 4095L)) { - currentMillis = this.waitUntilNextTime(currentMillis); - } - } else { - this.sequence = 0L; - } - - this.lastTime = currentMillis; - - if (logger.isDebugEnabled()) { - logger.debug("{}-{}-{}", (new SimpleDateFormat(DATETIME_PATTERN)).format(new Date(this.lastTime)), - workerId, this.sequence); - } - - currentId = currentMillis - EPOCH << 22 | workerId << 12 | this.sequence; - return currentId; - } - - @Override - public Map info() { - Map info = new HashMap<>(4); - info.put("currentId", currentId); - info.put("workerId", workerId); - return info; - } - - // ==============================Constructors===================================== - - /** - * init - * - * @param workerId worker id (0~1024) - */ - public void initialize(long workerId) { - if (workerId > WORKER_ID_MAX_VALUE || workerId < 0) { - throw new IllegalArgumentException( - String.format("worker Id can't be greater than %d or less than 0, current workId %d", - WORKER_ID_MAX_VALUE, workerId)); - } - this.workerId = workerId; - } - - /** - * Block to the next millisecond until a new timestamp is obtained - * - * @param lastTimestamp The time intercept of the last ID generated - * @return Current timestamp - */ - private long waitUntilNextTime(long lastTimestamp) { - long time; - time = currentTimeMillis(); - while (time <= lastTimestamp) { - time = currentTimeMillis(); - } - - return time; - } - - private long currentTimeMillis() { - return TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - monotonicStartTime) + startWallTime; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftMaintainService.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftMaintainService.java deleted file mode 100644 index 3adfa0d5..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftMaintainService.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.model.RestResultUtils; -import com.alibaba.nacos.core.distributed.raft.utils.JRaftConstants; -import com.alibaba.nacos.core.distributed.raft.utils.JRaftOps; -import com.alipay.sofa.jraft.CliService; -import com.alipay.sofa.jraft.Node; - -import java.util.Map; -import java.util.Objects; - -/** - * JRaft operations interface. - * - * @author liaochuntao - */ -@SuppressWarnings("PMD.ClassNamingShouldBeCamelRule") -public class JRaftMaintainService { - - private final JRaftServer raftServer; - - public JRaftMaintainService(JRaftServer raftServer) { - this.raftServer = raftServer; - } - - public RestResult execute(String[] args) { - return RestResultUtils.failed("not support yet"); - } - - /** - * Execute relevant commands. - * - * @param args {@link Map} - * @return {@link RestResult} - */ - public RestResult execute(Map args) { - final CliService cliService = raftServer.getCliService(); - if (args.containsKey(JRaftConstants.GROUP_ID)) { - final String groupId = args.get(JRaftConstants.GROUP_ID); - final Node node = raftServer.findNodeByGroup(groupId); - return single(cliService, groupId, node, args); - } - Map tupleMap = raftServer.getMultiRaftGroup(); - for (Map.Entry entry : tupleMap.entrySet()) { - final String group = entry.getKey(); - final Node node = entry.getValue().getNode(); - RestResult result = single(cliService, group, node, args); - if (!result.ok()) { - return result; - } - } - return RestResultUtils.success(); - } - - private RestResult single(CliService cliService, String groupId, Node node, Map args) { - try { - if (node == null) { - return RestResultUtils.failed("not this raft group : " + groupId); - } - final String command = args.get(JRaftConstants.COMMAND_NAME); - JRaftOps ops = JRaftOps.sourceOf(command); - if (Objects.isNull(ops)) { - return RestResultUtils.failed("Not support command : " + command); - } - return ops.execute(cliService, groupId, node, args); - } catch (Throwable ex) { - return RestResultUtils.failed(ex.getMessage()); - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftProtocol.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftProtocol.java deleted file mode 100644 index c6f73d16..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftProtocol.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.common.notify.listener.Subscriber; -import com.alibaba.nacos.common.notify.Event; -import com.alibaba.nacos.common.utils.MapUtil; -import com.alibaba.nacos.common.utils.ThreadUtils; -import com.alibaba.nacos.consistency.ProtocolMetaData; -import com.alibaba.nacos.consistency.SerializeFactory; -import com.alibaba.nacos.consistency.Serializer; -import com.alibaba.nacos.consistency.cp.CPProtocol; -import com.alibaba.nacos.consistency.cp.RequestProcessor4CP; -import com.alibaba.nacos.consistency.cp.MetadataKey; -import com.alibaba.nacos.consistency.entity.ReadRequest; -import com.alibaba.nacos.consistency.entity.Response; -import com.alibaba.nacos.consistency.entity.WriteRequest; -import com.alibaba.nacos.core.cluster.Member; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.distributed.AbstractConsistencyProtocol; -import com.alibaba.nacos.core.distributed.raft.exception.NoSuchRaftGroupException; -import com.alibaba.nacos.core.utils.Loggers; -import com.alipay.sofa.jraft.Node; - -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; - -/** - * A concrete implementation of CP protocol: JRaft. - * - *

- *                                           ┌──────────────────────┐
- *            ┌──────────────────────┐       │                      ▼
- *            │   ProtocolManager    │       │        ┌───────────────────────────┐
- *            └──────────────────────┘       │        │for p in [LogProcessor4CP] │
- *                        │                  │        └───────────────────────────┘
- *                        ▼                  │                      │
- *      ┌──────────────────────────────────┐ │                      ▼
- *      │    discovery LogProcessor4CP     │ │             ┌─────────────────┐
- *      └──────────────────────────────────┘ │             │  get p.group()  │
- *                        │                  │             └─────────────────┘
- *                        ▼                  │                      │
- *                 ┌─────────────┐           │                      │
- *                 │ RaftConfig  │           │                      ▼
- *                 └─────────────┘           │      ┌──────────────────────────────┐
- *                        │                  │      │  create raft group service   │
- *                        ▼                  │      └──────────────────────────────┘
- *              ┌──────────────────┐         │
- *              │  JRaftProtocol   │         │
- *              └──────────────────┘         │
- *                        │                  │
- *                     init()                │
- *                        │                  │
- *                        ▼                  │
- *               ┌─────────────────┐         │
- *               │   JRaftServer   │         │
- *               └─────────────────┘         │
- *                        │                  │
- *                        │                  │
- *                        ▼                  │
- *             ┌────────────────────┐        │
- *             │JRaftServer.start() │        │
- *             └────────────────────┘        │
- *                        │                  │
- *                        └──────────────────┘
- * 
- * - * @author liaochuntao - */ -@SuppressWarnings("all") -public class JRaftProtocol extends AbstractConsistencyProtocol - implements CPProtocol { - - private final AtomicBoolean initialized = new AtomicBoolean(false); - - private final AtomicBoolean shutdowned = new AtomicBoolean(false); - - private final Serializer serializer = SerializeFactory.getDefault(); - - private RaftConfig raftConfig; - - private JRaftServer raftServer; - - private JRaftMaintainService jRaftMaintainService; - - private ServerMemberManager memberManager; - - public JRaftProtocol(ServerMemberManager memberManager) throws Exception { - this.memberManager = memberManager; - this.raftServer = new JRaftServer(); - this.jRaftMaintainService = new JRaftMaintainService(raftServer); - } - - @Override - public void init(RaftConfig config) { - if (initialized.compareAndSet(false, true)) { - this.raftConfig = config; - NotifyCenter.registerToSharePublisher(RaftEvent.class); - this.raftServer.init(this.raftConfig); - this.raftServer.start(); - - // There is only one consumer to ensure that the internal consumption - // is sequential and there is no concurrent competition - NotifyCenter.registerSubscriber(new Subscriber() { - @Override - public void onEvent(RaftEvent event) { - Loggers.RAFT.info("This Raft event changes : {}", event); - final String groupId = event.getGroupId(); - Map> value = new HashMap<>(); - Map properties = new HashMap<>(); - final String leader = event.getLeader(); - final Long term = event.getTerm(); - final List raftClusterInfo = event.getRaftClusterInfo(); - final String errMsg = event.getErrMsg(); - - // Leader information needs to be selectively updated. If it is valid data, - // the information in the protocol metadata is updated. - MapUtil.putIfValNoEmpty(properties, MetadataKey.LEADER_META_DATA, leader); - MapUtil.putIfValNoNull(properties, MetadataKey.TERM_META_DATA, term); - MapUtil.putIfValNoEmpty(properties, MetadataKey.RAFT_GROUP_MEMBER, raftClusterInfo); - MapUtil.putIfValNoEmpty(properties, MetadataKey.ERR_MSG, errMsg); - - value.put(groupId, properties); - metaData.load(value); - - // The metadata information is injected into the metadata information of the node - injectProtocolMetaData(metaData); - } - - @Override - public Class subscribeType() { - return RaftEvent.class; - } - - }); - } - } - - @Override - public void addRequestProcessors(Collection processors) { - raftServer.createMultiRaftGroup(processors); - } - - @Override - public Response getData(ReadRequest request) throws Exception { - CompletableFuture future = aGetData(request); - return future.get(5_000L, TimeUnit.MILLISECONDS); - } - - @Override - public CompletableFuture aGetData(ReadRequest request) { - return raftServer.get(request); - } - - @Override - public Response write(WriteRequest request) throws Exception { - CompletableFuture future = writeAsync(request); - // Here you wait for 10 seconds, as long as possible, for the request to complete - return future.get(10_000L, TimeUnit.MILLISECONDS); - } - - @Override - public CompletableFuture writeAsync(WriteRequest request) { - return raftServer.commit(request.getGroup(), request, new CompletableFuture<>()); - } - - @Override - public void memberChange(Set addresses) { - for (int i = 0; i < 5; i++) { - if (this.raftServer.peerChange(jRaftMaintainService, addresses)) { - return; - } - ThreadUtils.sleep(100L); - } - Loggers.RAFT.warn("peer removal failed"); - } - - @Override - public void shutdown() { - if (initialized.get() && shutdowned.compareAndSet(false, true)) { - Loggers.RAFT.info("shutdown jraft server"); - raftServer.shutdown(); - } - } - - @Override - public RestResult execute(Map args) { - return jRaftMaintainService.execute(args); - } - - private void injectProtocolMetaData(ProtocolMetaData metaData) { - Member member = memberManager.getSelf(); - member.setExtendVal("raftMetaData", metaData); - memberManager.update(member); - } - - @Override - public boolean isLeader(String group) { - Node node = raftServer.findNodeByGroup(group); - if (node == null) { - throw new NoSuchRaftGroupException(group); - } - return node.isLeader(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftServer.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftServer.java deleted file mode 100644 index e6fd3100..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JRaftServer.java +++ /dev/null @@ -1,571 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -import com.alibaba.nacos.common.JustForTest; -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.utils.ConvertUtils; -import com.alibaba.nacos.common.utils.InternetAddressUtil; -import com.alibaba.nacos.common.utils.LoggerUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.common.utils.ThreadUtils; -import com.alibaba.nacos.consistency.ProtoMessageUtil; -import com.alibaba.nacos.consistency.RequestProcessor; -import com.alibaba.nacos.consistency.SerializeFactory; -import com.alibaba.nacos.consistency.Serializer; -import com.alibaba.nacos.consistency.cp.RequestProcessor4CP; -import com.alibaba.nacos.consistency.entity.ReadRequest; -import com.alibaba.nacos.consistency.entity.Response; -import com.alibaba.nacos.consistency.exception.ConsistencyException; -import com.alibaba.nacos.core.distributed.raft.exception.DuplicateRaftGroupException; -import com.alibaba.nacos.core.distributed.raft.exception.JRaftException; -import com.alibaba.nacos.core.distributed.raft.exception.NoLeaderException; -import com.alibaba.nacos.core.distributed.raft.exception.NoSuchRaftGroupException; -import com.alibaba.nacos.core.distributed.raft.utils.FailoverClosure; -import com.alibaba.nacos.core.distributed.raft.utils.FailoverClosureImpl; -import com.alibaba.nacos.core.distributed.raft.utils.JRaftConstants; -import com.alibaba.nacos.core.distributed.raft.utils.JRaftUtils; -import com.alibaba.nacos.core.distributed.raft.utils.RaftExecutor; -import com.alibaba.nacos.core.distributed.raft.utils.RaftOptionsBuilder; -import com.alibaba.nacos.core.monitor.MetricsMonitor; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alipay.sofa.jraft.CliService; -import com.alipay.sofa.jraft.Node; -import com.alipay.sofa.jraft.RaftGroupService; -import com.alipay.sofa.jraft.RaftServiceFactory; -import com.alipay.sofa.jraft.RouteTable; -import com.alipay.sofa.jraft.Status; -import com.alipay.sofa.jraft.closure.ReadIndexClosure; -import com.alipay.sofa.jraft.conf.Configuration; -import com.alipay.sofa.jraft.core.CliServiceImpl; -import com.alipay.sofa.jraft.entity.PeerId; -import com.alipay.sofa.jraft.entity.Task; -import com.alipay.sofa.jraft.error.RaftError; -import com.alipay.sofa.jraft.option.CliOptions; -import com.alipay.sofa.jraft.option.NodeOptions; -import com.alipay.sofa.jraft.option.RaftOptions; -import com.alipay.sofa.jraft.rpc.InvokeCallback; -import com.alipay.sofa.jraft.rpc.RpcProcessor; -import com.alipay.sofa.jraft.rpc.RpcServer; -import com.alipay.sofa.jraft.rpc.impl.cli.CliClientServiceImpl; -import com.alipay.sofa.jraft.util.BytesUtil; -import com.alipay.sofa.jraft.util.Endpoint; -import com.google.protobuf.Message; -import org.springframework.util.CollectionUtils; - -import java.nio.ByteBuffer; -import java.nio.file.Paths; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Random; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.Executor; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.function.BiConsumer; - -/** - * JRaft server instance, away from Spring IOC management. - * - *

- * Why do we need to create a raft group based on the value of LogProcessor group (), that is, each function module has - * its own state machine. Because each LogProcessor corresponds to a different functional module, such as Nacos's naming - * module and config module, these two modules are independent of each other and do not affect each other. If we have - * only one state machine, it is equal to the log of all functional modules The processing is loaded together. Any - * module that has an exception during the log processing and a long block operation will affect the normal operation of - * other functional modules. - *

- * - * @author liaochuntao - */ -@SuppressWarnings("all") -public class JRaftServer { - - // Existential life cycle - - private RpcServer rpcServer; - - private CliClientServiceImpl cliClientService; - - private CliService cliService; - - // Ordinary member variable - - private Map multiRaftGroup = new ConcurrentHashMap<>(); - - private volatile boolean isStarted = false; - - private volatile boolean isShutdown = false; - - private Configuration conf; - - private RpcProcessor userProcessor; - - private NodeOptions nodeOptions; - - private Serializer serializer; - - private Collection processors = Collections.synchronizedSet(new HashSet<>()); - - private String selfIp; - - private int selfPort; - - private RaftConfig raftConfig; - - private PeerId localPeerId; - - private int failoverRetries; - - private int rpcRequestTimeoutMs; - - public JRaftServer() { - this.conf = new Configuration(); - } - - public void setFailoverRetries(int failoverRetries) { - this.failoverRetries = failoverRetries; - } - - void init(RaftConfig config) { - this.raftConfig = config; - this.serializer = SerializeFactory.getDefault(); - Loggers.RAFT.info("Initializes the Raft protocol, raft-config info : {}", config); - RaftExecutor.init(config); - - final String self = config.getSelfMember(); - String[] info = InternetAddressUtil.splitIPPortStr(self); - selfIp = info[0]; - selfPort = Integer.parseInt(info[1]); - localPeerId = PeerId.parsePeer(self); - nodeOptions = new NodeOptions(); - - // Set the election timeout time. The default is 5 seconds. - int electionTimeout = Math.max(ConvertUtils.toInt(config.getVal(RaftSysConstants.RAFT_ELECTION_TIMEOUT_MS), - RaftSysConstants.DEFAULT_ELECTION_TIMEOUT), RaftSysConstants.DEFAULT_ELECTION_TIMEOUT); - - rpcRequestTimeoutMs = ConvertUtils.toInt(raftConfig.getVal(RaftSysConstants.RAFT_RPC_REQUEST_TIMEOUT_MS), - RaftSysConstants.DEFAULT_RAFT_RPC_REQUEST_TIMEOUT_MS); - - nodeOptions.setSharedElectionTimer(true); - nodeOptions.setSharedVoteTimer(true); - nodeOptions.setSharedStepDownTimer(true); - nodeOptions.setSharedSnapshotTimer(true); - - nodeOptions.setElectionTimeoutMs(electionTimeout); - RaftOptions raftOptions = RaftOptionsBuilder.initRaftOptions(raftConfig); - nodeOptions.setRaftOptions(raftOptions); - // open jraft node metrics record function - nodeOptions.setEnableMetrics(true); - - CliOptions cliOptions = new CliOptions(); - - this.cliService = RaftServiceFactory.createAndInitCliService(cliOptions); - this.cliClientService = (CliClientServiceImpl) ((CliServiceImpl) this.cliService).getCliClientService(); - } - - synchronized void start() { - if (!isStarted) { - Loggers.RAFT.info("========= The raft protocol is starting... ========="); - try { - // init raft group node - com.alipay.sofa.jraft.NodeManager raftNodeManager = com.alipay.sofa.jraft.NodeManager.getInstance(); - for (String address : raftConfig.getMembers()) { - PeerId peerId = PeerId.parsePeer(address); - conf.addPeer(peerId); - raftNodeManager.addAddress(peerId.getEndpoint()); - } - nodeOptions.setInitialConf(conf); - - rpcServer = JRaftUtils.initRpcServer(this, localPeerId); - - if (!this.rpcServer.init(null)) { - Loggers.RAFT.error("Fail to init [BaseRpcServer]."); - throw new RuntimeException("Fail to init [BaseRpcServer]."); - } - - // Initialize multi raft group service framework - isStarted = true; - createMultiRaftGroup(processors); - Loggers.RAFT.info("========= The raft protocol start finished... ========="); - } catch (Exception e) { - Loggers.RAFT.error("raft protocol start failure, cause: ", e); - throw new JRaftException(e); - } - } - } - - synchronized void createMultiRaftGroup(Collection processors) { - // There is no reason why the LogProcessor cannot be processed because of the synchronization - if (!this.isStarted) { - this.processors.addAll(processors); - return; - } - - final String parentPath = Paths.get(EnvUtil.getNacosHome(), "data/protocol/raft").toString(); - - for (RequestProcessor4CP processor : processors) { - final String groupName = processor.group(); - if (multiRaftGroup.containsKey(groupName)) { - throw new DuplicateRaftGroupException(groupName); - } - - // Ensure that each Raft Group has its own configuration and NodeOptions - Configuration configuration = conf.copy(); - NodeOptions copy = nodeOptions.copy(); - JRaftUtils.initDirectory(parentPath, groupName, copy); - - // Here, the LogProcessor is passed into StateMachine, and when the StateMachine - // triggers onApply, the onApply of the LogProcessor is actually called - NacosStateMachine machine = new NacosStateMachine(this, processor); - - copy.setFsm(machine); - copy.setInitialConf(configuration); - - // Set snapshot interval, default 1800 seconds - int doSnapshotInterval = ConvertUtils.toInt(raftConfig.getVal(RaftSysConstants.RAFT_SNAPSHOT_INTERVAL_SECS), - RaftSysConstants.DEFAULT_RAFT_SNAPSHOT_INTERVAL_SECS); - - // If the business module does not implement a snapshot processor, cancel the snapshot - doSnapshotInterval = CollectionUtils.isEmpty(processor.loadSnapshotOperate()) ? 0 : doSnapshotInterval; - - copy.setSnapshotIntervalSecs(doSnapshotInterval); - Loggers.RAFT.info("create raft group : {}", groupName); - RaftGroupService raftGroupService = new RaftGroupService(groupName, localPeerId, copy, rpcServer, true); - - // Because BaseRpcServer has been started before, it is not allowed to start again here - Node node = raftGroupService.start(false); - machine.setNode(node); - RouteTable.getInstance().updateConfiguration(groupName, configuration); - - RaftExecutor.executeByCommon(() -> registerSelfToCluster(groupName, localPeerId, configuration)); - - // Turn on the leader auto refresh for this group - Random random = new Random(); - long period = nodeOptions.getElectionTimeoutMs() + random.nextInt(5 * 1000); - RaftExecutor.scheduleRaftMemberRefreshJob(() -> refreshRouteTable(groupName), - nodeOptions.getElectionTimeoutMs(), period, TimeUnit.MILLISECONDS); - multiRaftGroup.put(groupName, new RaftGroupTuple(node, processor, raftGroupService, machine)); - } - } - - CompletableFuture get(final ReadRequest request) { - final String group = request.getGroup(); - CompletableFuture future = new CompletableFuture<>(); - final RaftGroupTuple tuple = findTupleByGroup(group); - if (Objects.isNull(tuple)) { - future.completeExceptionally(new NoSuchRaftGroupException(group)); - return future; - } - final Node node = tuple.node; - final RequestProcessor processor = tuple.processor; - try { - node.readIndex(BytesUtil.EMPTY_BYTES, new ReadIndexClosure() { - @Override - public void run(Status status, long index, byte[] reqCtx) { - if (status.isOk()) { - try { - Response response = processor.onRequest(request); - future.complete(response); - } catch (Throwable t) { - MetricsMonitor.raftReadIndexFailed(); - future.completeExceptionally(new ConsistencyException( - "The conformance protocol is temporarily unavailable for reading", t)); - } - return; - } - MetricsMonitor.raftReadIndexFailed(); - Loggers.RAFT.error("ReadIndex has error : {}, go to Leader read.", status.getErrorMsg()); - MetricsMonitor.raftReadFromLeader(); - readFromLeader(request, future); - } - }); - return future; - } catch (Throwable e) { - MetricsMonitor.raftReadFromLeader(); - Loggers.RAFT.warn("Raft linear read failed, go to Leader read logic : {}", e.toString()); - // run raft read - readFromLeader(request, future); - return future; - } - } - - public void readFromLeader(final ReadRequest request, final CompletableFuture future) { - commit(request.getGroup(), request, future); - } - - public CompletableFuture commit(final String group, final Message data, - final CompletableFuture future) { - LoggerUtils.printIfDebugEnabled(Loggers.RAFT, "data requested this time : {}", data); - final RaftGroupTuple tuple = findTupleByGroup(group); - if (tuple == null) { - future.completeExceptionally(new IllegalArgumentException("No corresponding Raft Group found : " + group)); - return future; - } - - FailoverClosureImpl closure = new FailoverClosureImpl(future); - - final Node node = tuple.node; - if (node.isLeader()) { - // The leader node directly applies this request - applyOperation(node, data, closure); - } else { - // Forward to Leader for request processing - invokeToLeader(group, data, rpcRequestTimeoutMs, closure); - } - return future; - } - - /** - * Add yourself to the Raft cluster - * - * @param groupId raft group - * @param selfIp local raft node address - * @param conf {@link Configuration} without self info - * @return join success - */ - void registerSelfToCluster(String groupId, PeerId selfIp, Configuration conf) { - for (; ; ) { - try { - List peerIds = cliService.getPeers(groupId, conf); - if (peerIds.contains(selfIp)) { - return; - } - Status status = cliService.addPeer(groupId, conf, selfIp); - if (status.isOk()) { - return; - } - Loggers.RAFT.warn("Failed to join the cluster, retry..."); - } catch (Exception e) { - Loggers.RAFT.error("Failed to join the cluster, retry...", e); - } - ThreadUtils.sleep(1_000L); - } - } - - protected PeerId getLeader(final String raftGroupId) { - return RouteTable.getInstance().selectLeader(raftGroupId); - } - - synchronized void shutdown() { - if (isShutdown) { - return; - } - isShutdown = true; - try { - Loggers.RAFT.info("========= The raft protocol is starting to close ========="); - - for (Map.Entry entry : multiRaftGroup.entrySet()) { - final RaftGroupTuple tuple = entry.getValue(); - final Node node = tuple.getNode(); - tuple.node.shutdown(); - tuple.raftGroupService.shutdown(); - } - - cliService.shutdown(); - cliClientService.shutdown(); - - Loggers.RAFT.info("========= The raft protocol has been closed ========="); - } catch (Throwable t) { - Loggers.RAFT.error("There was an error in the raft protocol shutdown, cause: ", t); - } - } - - public void applyOperation(Node node, Message data, FailoverClosure closure) { - final Task task = new Task(); - task.setDone(new NacosClosure(data, status -> { - NacosClosure.NacosStatus nacosStatus = (NacosClosure.NacosStatus) status; - closure.setThrowable(nacosStatus.getThrowable()); - closure.setResponse(nacosStatus.getResponse()); - closure.run(nacosStatus); - })); - - // add request type field at the head of task data. - byte[] requestTypeFieldBytes = new byte[2]; - requestTypeFieldBytes[0] = ProtoMessageUtil.REQUEST_TYPE_FIELD_TAG; - if (data instanceof ReadRequest) { - requestTypeFieldBytes[1] = ProtoMessageUtil.REQUEST_TYPE_READ; - } else { - requestTypeFieldBytes[1] = ProtoMessageUtil.REQUEST_TYPE_WRITE; - } - - byte[] dataBytes = data.toByteArray(); - task.setData((ByteBuffer) ByteBuffer.allocate(requestTypeFieldBytes.length + dataBytes.length) - .put(requestTypeFieldBytes).put(dataBytes).position(0)); - node.apply(task); - } - - private void invokeToLeader(final String group, final Message request, final int timeoutMillis, - FailoverClosure closure) { - try { - final Endpoint leaderIp = Optional.ofNullable(getLeader(group)) - .orElseThrow(() -> new NoLeaderException(group)).getEndpoint(); - cliClientService.getRpcClient().invokeAsync(leaderIp, request, new InvokeCallback() { - @Override - public void complete(Object o, Throwable ex) { - if (Objects.nonNull(ex)) { - closure.setThrowable(ex); - closure.run(new Status(RaftError.UNKNOWN, ex.getMessage())); - return; - } - if (!((Response)o).getSuccess()) { - closure.setThrowable(new IllegalStateException(((Response) o).getErrMsg())); - closure.run(new Status(RaftError.UNKNOWN, ((Response) o).getErrMsg())); - return; - } - closure.setResponse((Response) o); - closure.run(Status.OK()); - } - - @Override - public Executor executor() { - return RaftExecutor.getRaftCliServiceExecutor(); - } - }, timeoutMillis); - } catch (Exception e) { - closure.setThrowable(e); - closure.run(new Status(RaftError.UNKNOWN, e.toString())); - } - } - - boolean peerChange(JRaftMaintainService maintainService, Set newPeers) { - // This is only dealing with node deletion, the Raft protocol, where the node adds itself to the cluster when it starts up - Set oldPeers = new HashSet<>(this.raftConfig.getMembers()); - this.raftConfig.setMembers(localPeerId.toString(), newPeers); - oldPeers.removeAll(newPeers); - if (oldPeers.isEmpty()) { - return true; - } - - Set waitRemove = oldPeers; - AtomicInteger successCnt = new AtomicInteger(0); - multiRaftGroup.forEach(new BiConsumer() { - @Override - public void accept(String group, RaftGroupTuple tuple) { - Map params = new HashMap<>(); - params.put(JRaftConstants.GROUP_ID, group); - params.put(JRaftConstants.COMMAND_NAME, JRaftConstants.REMOVE_PEERS); - params.put(JRaftConstants.COMMAND_VALUE, StringUtils.join(waitRemove, StringUtils.COMMA)); - RestResult result = maintainService.execute(params); - if (result.ok()) { - successCnt.incrementAndGet(); - } else { - Loggers.RAFT.error("Node removal failed : {}", result); - } - } - }); - return successCnt.get() == multiRaftGroup.size(); - } - - void refreshRouteTable(String group) { - if (isShutdown) { - return; - } - - final String groupName = group; - Status status = null; - try { - RouteTable instance = RouteTable.getInstance(); - Configuration oldConf = instance.getConfiguration(groupName); - String oldLeader = Optional.ofNullable(instance.selectLeader(groupName)).orElse(PeerId.emptyPeer()) - .getEndpoint().toString(); - // fix issue #3661 https://github.com/alibaba/nacos/issues/3661 - status = instance.refreshLeader(this.cliClientService, groupName, rpcRequestTimeoutMs); - if (!status.isOk()) { - Loggers.RAFT.error("Fail to refresh leader for group : {}, status is : {}", groupName, status); - } - status = instance.refreshConfiguration(this.cliClientService, groupName, rpcRequestTimeoutMs); - if (!status.isOk()) { - Loggers.RAFT - .error("Fail to refresh route configuration for group : {}, status is : {}", groupName, status); - } - } catch (Exception e) { - Loggers.RAFT.error("Fail to refresh raft metadata info for group : {}, error is : {}", groupName, e); - } - } - - public RaftGroupTuple findTupleByGroup(final String group) { - RaftGroupTuple tuple = multiRaftGroup.get(group); - return tuple; - } - - public Node findNodeByGroup(final String group) { - final RaftGroupTuple tuple = multiRaftGroup.get(group); - if (Objects.nonNull(tuple)) { - return tuple.node; - } - return null; - } - - Map getMultiRaftGroup() { - return multiRaftGroup; - } - - @JustForTest - void mockMultiRaftGroup(Map map) { - this.multiRaftGroup = map; - } - - CliService getCliService() { - return cliService; - } - - public static class RaftGroupTuple { - - private RequestProcessor processor; - - private Node node; - - private RaftGroupService raftGroupService; - - private NacosStateMachine machine; - - @JustForTest - public RaftGroupTuple() { - } - - public RaftGroupTuple(Node node, RequestProcessor processor, RaftGroupService raftGroupService, - NacosStateMachine machine) { - this.node = node; - this.processor = processor; - this.raftGroupService = raftGroupService; - this.machine = machine; - } - - public Node getNode() { - return node; - } - - public RequestProcessor getProcessor() { - return processor; - } - - public RaftGroupService getRaftGroupService() { - return raftGroupService; - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JSnapshotOperation.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JSnapshotOperation.java deleted file mode 100644 index 3fb58926..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/JSnapshotOperation.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -import com.alibaba.nacos.common.utils.JacksonUtils; -import com.alibaba.nacos.consistency.snapshot.LocalFileMeta; -import com.alipay.sofa.jraft.Closure; -import com.alipay.sofa.jraft.entity.LocalFileMetaOutter; -import com.alipay.sofa.jraft.storage.snapshot.SnapshotReader; -import com.alipay.sofa.jraft.storage.snapshot.SnapshotWriter; -import com.google.protobuf.ZeroByteStringHelper; - -/** - * JRaft snapshot operation. - * - * @author liaochuntao - */ -@SuppressWarnings("PMD.ClassNamingShouldBeCamelRule") -interface JSnapshotOperation { - - /** - * do snapshot save operation. - * - * @param writer {@link SnapshotWriter} - * @param done {@link Closure} - */ - void onSnapshotSave(SnapshotWriter writer, Closure done); - - /** - * do snapshot load operation. - * - * @param reader {@link SnapshotReader} - * @return operation label - */ - boolean onSnapshotLoad(SnapshotReader reader); - - /** - * return actually snapshot executor. - * - * @return name - */ - String info(); - - /** - * Metadata information for snapshot files. - * - * @param metadata meta data - * @return {@link LocalFileMetaOutter.LocalFileMeta} - * @throws Exception Exception - */ - default LocalFileMetaOutter.LocalFileMeta buildMetadata(final LocalFileMeta metadata) throws Exception { - return metadata == null ? null : LocalFileMetaOutter.LocalFileMeta.newBuilder() - .setUserMeta(ZeroByteStringHelper.wrap(JacksonUtils.toJsonBytes(metadata))).build(); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/NacosClosure.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/NacosClosure.java deleted file mode 100644 index 8334d718..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/NacosClosure.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -import com.alibaba.nacos.consistency.entity.Response; -import com.alipay.sofa.jraft.Closure; -import com.alipay.sofa.jraft.Status; -import com.alipay.sofa.jraft.error.RaftError; -import com.google.protobuf.Message; - -/** - * implement jraft closure. - * - * @author liaochuntao - */ -public class NacosClosure implements Closure { - - private Message message; - - private Closure closure; - - private NacosStatus nacosStatus = new NacosStatus(); - - public NacosClosure(Message message, Closure closure) { - this.message = message; - this.closure = closure; - } - - @Override - public void run(Status status) { - nacosStatus.setStatus(status); - closure.run(nacosStatus); - clear(); - } - - private void clear() { - message = null; - closure = null; - nacosStatus = null; - } - - public void setResponse(Response response) { - this.nacosStatus.setResponse(response); - } - - public void setThrowable(Throwable throwable) { - this.nacosStatus.setThrowable(throwable); - } - - public Message getMessage() { - return message; - } - - // Pass the Throwable inside the state machine to the outer layer - - @SuppressWarnings("PMD.ClassNamingShouldBeCamelRule") - public static class NacosStatus extends Status { - - private Status status; - - private Response response = null; - - private Throwable throwable = null; - - public void setStatus(Status status) { - this.status = status; - } - - @Override - public void reset() { - status.reset(); - } - - @Override - public boolean isOk() { - return status.isOk(); - } - - @Override - public int getCode() { - return status.getCode(); - } - - @Override - public void setCode(int code) { - status.setCode(code); - } - - @Override - public RaftError getRaftError() { - return status.getRaftError(); - } - - @Override - public void setError(int code, String fmt, Object... args) { - status.setError(code, fmt, args); - } - - @Override - public void setError(RaftError error, String fmt, Object... args) { - status.setError(error, fmt, args); - } - - @Override - public String toString() { - return status.toString(); - } - - @Override - public Status copy() { - NacosStatus copy = new NacosStatus(); - copy.status = this.status; - copy.response = this.response; - copy.throwable = this.throwable; - return copy; - } - - @Override - public String getErrorMsg() { - return status.getErrorMsg(); - } - - @Override - public void setErrorMsg(String errMsg) { - status.setErrorMsg(errMsg); - } - - public Response getResponse() { - return response; - } - - public void setResponse(Response response) { - this.response = response; - } - - public Throwable getThrowable() { - return throwable; - } - - public void setThrowable(Throwable throwable) { - this.throwable = throwable; - } - - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/NacosStateMachine.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/NacosStateMachine.java deleted file mode 100644 index 5c986d0f..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/NacosStateMachine.java +++ /dev/null @@ -1,321 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.common.utils.ExceptionUtil; -import com.alibaba.nacos.common.utils.JacksonUtils; -import com.alibaba.nacos.common.utils.LoggerUtils; -import com.alibaba.nacos.consistency.RequestProcessor; -import com.alibaba.nacos.consistency.ProtoMessageUtil; -import com.alibaba.nacos.consistency.cp.RequestProcessor4CP; -import com.alibaba.nacos.consistency.entity.ReadRequest; -import com.alibaba.nacos.consistency.entity.Response; -import com.alibaba.nacos.consistency.entity.WriteRequest; -import com.alibaba.nacos.consistency.exception.ConsistencyException; -import com.alibaba.nacos.consistency.snapshot.LocalFileMeta; -import com.alibaba.nacos.consistency.snapshot.Reader; -import com.alibaba.nacos.consistency.snapshot.SnapshotOperation; -import com.alibaba.nacos.consistency.snapshot.Writer; -import com.alibaba.nacos.core.distributed.raft.utils.JRaftUtils; -import com.alibaba.nacos.core.utils.Loggers; -import com.alipay.sofa.jraft.Closure; -import com.alipay.sofa.jraft.Iterator; -import com.alipay.sofa.jraft.Node; -import com.alipay.sofa.jraft.RouteTable; -import com.alipay.sofa.jraft.Status; -import com.alipay.sofa.jraft.conf.Configuration; -import com.alipay.sofa.jraft.core.StateMachineAdapter; -import com.alipay.sofa.jraft.entity.LeaderChangeContext; -import com.alipay.sofa.jraft.entity.LocalFileMetaOutter; -import com.alipay.sofa.jraft.error.RaftError; -import com.alipay.sofa.jraft.error.RaftException; -import com.alipay.sofa.jraft.storage.snapshot.SnapshotReader; -import com.alipay.sofa.jraft.storage.snapshot.SnapshotWriter; -import com.google.protobuf.Message; - -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.BiConsumer; - -/** - * JRaft StateMachine implemented. - * - * @author liaochuntao - */ -class NacosStateMachine extends StateMachineAdapter { - - protected final JRaftServer server; - - protected final RequestProcessor processor; - - private final AtomicBoolean isLeader = new AtomicBoolean(false); - - private final String groupId; - - private Collection operations; - - private Node node; - - private volatile long term = -1; - - private volatile String leaderIp = "unknown"; - - NacosStateMachine(JRaftServer server, RequestProcessor4CP processor) { - this.server = server; - this.processor = processor; - this.groupId = processor.group(); - adapterToJRaftSnapshot(processor.loadSnapshotOperate()); - } - - @Override - public void onApply(Iterator iter) { - int index = 0; - int applied = 0; - Message message; - NacosClosure closure = null; - try { - while (iter.hasNext()) { - Status status = Status.OK(); - try { - if (iter.done() != null) { - closure = (NacosClosure) iter.done(); - message = closure.getMessage(); - } else { - final ByteBuffer data = iter.getData(); - message = ProtoMessageUtil.parse(data.array()); - if (message instanceof ReadRequest) { - //'iter.done() == null' means current node is follower, ignore read operation - applied++; - index++; - iter.next(); - continue; - } - } - - LoggerUtils.printIfDebugEnabled(Loggers.RAFT, "receive log : {}", message); - - if (message instanceof WriteRequest) { - Response response = processor.onApply((WriteRequest) message); - postProcessor(response, closure); - } - - if (message instanceof ReadRequest) { - Response response = processor.onRequest((ReadRequest) message); - postProcessor(response, closure); - } - } catch (Throwable e) { - index++; - status.setError(RaftError.UNKNOWN, e.toString()); - Optional.ofNullable(closure).ifPresent(closure1 -> closure1.setThrowable(e)); - throw e; - } finally { - Optional.ofNullable(closure).ifPresent(closure1 -> closure1.run(status)); - } - - applied++; - index++; - iter.next(); - } - } catch (Throwable t) { - Loggers.RAFT.error("processor : {}, stateMachine meet critical error: {}.", processor, t); - iter.setErrorAndRollback(index - applied, - new Status(RaftError.ESTATEMACHINE, "StateMachine meet critical error: %s.", - ExceptionUtil.getStackTrace(t))); - } - } - - public void setNode(Node node) { - this.node = node; - } - - @Override - public void onSnapshotSave(SnapshotWriter writer, Closure done) { - for (JSnapshotOperation operation : operations) { - try { - operation.onSnapshotSave(writer, done); - } catch (Throwable t) { - Loggers.RAFT.error("There was an error saving the snapshot , error : {}, operation : {}", t, - operation.info()); - throw t; - } - } - } - - @Override - public boolean onSnapshotLoad(SnapshotReader reader) { - for (JSnapshotOperation operation : operations) { - try { - if (!operation.onSnapshotLoad(reader)) { - Loggers.RAFT.error("Snapshot load failed on : {}", operation.info()); - return false; - } - } catch (Throwable t) { - Loggers.RAFT.error("Snapshot load failed on : {}, has error : {}", operation.info(), t); - return false; - } - } - return true; - } - - @Override - public void onLeaderStart(final long term) { - super.onLeaderStart(term); - this.term = term; - this.isLeader.set(true); - this.leaderIp = node.getNodeId().getPeerId().getEndpoint().toString(); - NotifyCenter.publishEvent( - RaftEvent.builder().groupId(groupId).leader(leaderIp).term(term).raftClusterInfo(allPeers()).build()); - } - - @Override - public void onLeaderStop(final Status status) { - super.onLeaderStop(status); - this.isLeader.set(false); - } - - @Override - public void onStartFollowing(LeaderChangeContext ctx) { - this.term = ctx.getTerm(); - this.leaderIp = ctx.getLeaderId().getEndpoint().toString(); - NotifyCenter.publishEvent( - RaftEvent.builder().groupId(groupId).leader(leaderIp).term(ctx.getTerm()).raftClusterInfo(allPeers()) - .build()); - } - - @Override - public void onConfigurationCommitted(Configuration conf) { - NotifyCenter.publishEvent( - RaftEvent.builder().groupId(groupId).raftClusterInfo(JRaftUtils.toStrings(conf.getPeers())).build()); - } - - @Override - public void onError(RaftException e) { - super.onError(e); - processor.onError(e); - NotifyCenter.publishEvent( - RaftEvent.builder().groupId(groupId).leader(leaderIp).term(term).raftClusterInfo(allPeers()) - .errMsg(e.toString()) - .build()); - } - - public boolean isLeader() { - return isLeader.get(); - } - - private List allPeers() { - if (node == null) { - return Collections.emptyList(); - } - - if (node.isLeader()) { - return JRaftUtils.toStrings(node.listPeers()); - } - - return JRaftUtils.toStrings(RouteTable.getInstance().getConfiguration(node.getGroupId()).getPeers()); - } - - private void postProcessor(Response data, NacosClosure closure) { - if (Objects.nonNull(closure)) { - closure.setResponse(data); - } - } - - public long getTerm() { - return term; - } - - private void adapterToJRaftSnapshot(Collection userOperates) { - List tmp = new ArrayList<>(); - - for (SnapshotOperation item : userOperates) { - - if (item == null) { - Loggers.RAFT.error("Existing SnapshotOperation for null"); - continue; - } - - tmp.add(new JSnapshotOperation() { - - @Override - public void onSnapshotSave(SnapshotWriter writer, Closure done) { - final Writer wCtx = new Writer(writer.getPath()); - - // Do a layer of proxy operation to shield different Raft - // components from implementing snapshots - - final BiConsumer callFinally = (result, t) -> { - boolean[] results = new boolean[wCtx.listFiles().size()]; - int[] index = new int[] {0}; - wCtx.listFiles().forEach((file, meta) -> { - try { - results[index[0]++] = writer.addFile(file, buildMetadata(meta)); - } catch (Exception e) { - throw new ConsistencyException(e); - } - }); - final Status status = result - && !Arrays.asList(results).stream().anyMatch(Boolean.FALSE::equals) ? Status.OK() - : new Status(RaftError.EIO, "Fail to compress snapshot at %s, error is %s", - writer.getPath(), t == null ? "" : t.getMessage()); - done.run(status); - }; - item.onSnapshotSave(wCtx, callFinally); - } - - @Override - public boolean onSnapshotLoad(SnapshotReader reader) { - final Map metaMap = new HashMap<>(reader.listFiles().size()); - for (String fileName : reader.listFiles()) { - final LocalFileMetaOutter.LocalFileMeta meta = (LocalFileMetaOutter.LocalFileMeta) reader - .getFileMeta(fileName); - - byte[] bytes = meta.getUserMeta().toByteArray(); - - final LocalFileMeta fileMeta; - if (bytes == null || bytes.length == 0) { - fileMeta = new LocalFileMeta(); - } else { - fileMeta = JacksonUtils.toObj(bytes, LocalFileMeta.class); - } - - metaMap.put(fileName, fileMeta); - } - final Reader rCtx = new Reader(reader.getPath(), metaMap); - return item.onSnapshotLoad(rCtx); - } - - @Override - public String info() { - return item.toString(); - } - }); - } - - this.operations = Collections.unmodifiableList(tmp); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftConfig.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftConfig.java deleted file mode 100644 index 123f4233..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftConfig.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -import com.alibaba.nacos.common.utils.JacksonUtils; -import com.alibaba.nacos.consistency.Config; -import com.alibaba.nacos.consistency.cp.RequestProcessor4CP; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -/** - * raft config. - * - * @author liaochuntao - */ -@Component -@ConfigurationProperties(prefix = "nacos.core.protocol.raft") -public class RaftConfig implements Config { - - private static final long serialVersionUID = 9174789390266064002L; - - private Map data = Collections.synchronizedMap(new HashMap<>()); - - private String selfAddress; - - private Set members = Collections.synchronizedSet(new HashSet<>()); - - @Override - public void setMembers(String self, Set members) { - this.selfAddress = self; - this.members.clear(); - this.members.addAll(members); - } - - @Override - public String getSelfMember() { - return selfAddress; - } - - @Override - public Set getMembers() { - return members; - } - - @Override - public void addMembers(Set members) { - this.members.addAll(members); - } - - @Override - public void removeMembers(Set members) { - this.members.removeAll(members); - } - - public Map getData() { - return data; - } - - public void setData(Map data) { - this.data = Collections.synchronizedMap(data); - } - - @Override - public void setVal(String key, String value) { - data.put(key, value); - } - - @Override - public String getVal(String key) { - return data.get(key); - } - - @Override - public String getValOfDefault(String key, String defaultVal) { - return data.getOrDefault(key, defaultVal); - } - - @Override - public String toString() { - try { - return JacksonUtils.toJson(data); - } catch (Exception e) { - return String.valueOf(data); - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftErrorEvent.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftErrorEvent.java deleted file mode 100644 index ba6bbc69..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftErrorEvent.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -import com.alibaba.nacos.common.notify.Event; - -/** - * The RAFT protocol runs an exception event. If this event is published, it means that the current raft Group cannot - * continue to run normally - * - * @author liaochuntao - */ -public class RaftErrorEvent extends Event { - - private static final long serialVersionUID = 3016514657754158167L; - - private String groupName; - - public String getGroupName() { - return groupName; - } - - public void setGroupName(String groupName) { - this.groupName = groupName; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftEvent.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftEvent.java deleted file mode 100644 index 0cb9b4c4..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftEvent.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -import com.alibaba.nacos.common.notify.SlowEvent; - -import java.util.Collections; -import java.util.List; - -/** - * Changes to metadata information during the raft protocol run. - * - * @author liaochuntao - */ -@SuppressWarnings("all") -public class RaftEvent extends SlowEvent { - - private static final long serialVersionUID = -4304258594602886451L; - - private String groupId; - - private String leader = null; - - private Long term = null; - - private String errMsg = ""; - - private List raftClusterInfo = Collections.emptyList(); - - public static RaftEventBuilder builder() { - return new RaftEventBuilder(); - } - - public String getGroupId() { - return groupId; - } - - public void setGroupId(String groupId) { - this.groupId = groupId; - } - - public String getLeader() { - return leader; - } - - public void setLeader(String leader) { - this.leader = leader; - } - - public Long getTerm() { - return term; - } - - public void setTerm(Long term) { - this.term = term; - } - - public List getRaftClusterInfo() { - return raftClusterInfo; - } - - public void setRaftClusterInfo(List raftClusterInfo) { - this.raftClusterInfo = raftClusterInfo; - } - - public String getErrMsg() { - return errMsg; - } - - public void setErrMsg(String errMsg) { - this.errMsg = errMsg; - } - - @Override - public String toString() { - return "RaftEvent{" + "groupId='" + groupId + '\'' + ", leader='" + leader + '\'' + ", term=" + term - + ", raftClusterInfo=" + raftClusterInfo + '}'; - } - - public static final class RaftEventBuilder { - - private String groupId; - - private String leader; - - private Long term = null; - - private List raftClusterInfo = Collections.emptyList(); - - private String errMsg = ""; - - private RaftEventBuilder() { - } - - public RaftEventBuilder groupId(String groupId) { - this.groupId = groupId; - return this; - } - - public RaftEventBuilder leader(String leader) { - this.leader = leader; - return this; - } - - public RaftEventBuilder term(long term) { - this.term = term; - return this; - } - - public RaftEventBuilder raftClusterInfo(List raftClusterInfo) { - this.raftClusterInfo = raftClusterInfo; - return this; - } - - public RaftEventBuilder errMsg(String errMsg) { - this.errMsg = errMsg; - return this; - } - - public RaftEvent build() { - RaftEvent raftEvent = new RaftEvent(); - raftEvent.setGroupId(groupId); - raftEvent.setLeader(leader); - raftEvent.setTerm(term); - raftEvent.setRaftClusterInfo(raftClusterInfo); - raftEvent.setErrMsg(errMsg); - return raftEvent; - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftSysConstants.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftSysConstants.java deleted file mode 100644 index 2f03ecee..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/RaftSysConstants.java +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft; - -/** - * jraft system constants. - * - * @author liaochuntao - */ -@SuppressWarnings("all") -public final class RaftSysConstants { - - // ========= default setting value ========= // - - /** - * {@link RaftSysConstants#RAFT_ELECTION_TIMEOUT_MS} - */ - public static final int DEFAULT_ELECTION_TIMEOUT = 5000; - - /** - * {@link RaftSysConstants#RAFT_SNAPSHOT_INTERVAL_SECS} - */ - public static final int DEFAULT_RAFT_SNAPSHOT_INTERVAL_SECS = 30 * 60; - - /** - * {@link RaftSysConstants#RAFT_CLI_SERVICE_THREAD_NUM} - */ - public static final int DEFAULT_RAFT_CLI_SERVICE_THREAD_NUM = 8; - - /** - * {@link RaftSysConstants#RAFT_READ_INDEX_TYPE} - */ - public static final String DEFAULT_READ_INDEX_TYPE = "ReadOnlySafe"; - - /** - * {@link RaftSysConstants#RAFT_RPC_REQUEST_TIMEOUT_MS} - */ - public static final int DEFAULT_RAFT_RPC_REQUEST_TIMEOUT_MS = 5000; - - /** - * The maximum size of each file RPC (snapshot copy) request between nodes is 128 K by default 节点之间每次文件 RPC - * (snapshot拷贝)请求的最大大小,默认为 128 K - */ - public static final int DEFAULT_MAX_BYTE_COUNT_PER_RPC = 128 * 1024; - - /** - * The maximum number of logs sent from the leader to the followers is 1024 by default 从 leader 往 follower - * 发送的最大日志个数,默认 1024 - */ - public static final int DEFAULT_MAX_ENTRIES_SIZE = 1024; - - /** - * The maximum body size of the log sent from the leader to the followers is 512K by default 从 leader 往 follower - * 发送日志的最大 body 大小,默认 512K - */ - public static final int DEFAULT_MAX_BODY_SIZE = 512 * 1024; - - /** - * The maximum size of the log storage buffer is 256K by default 日志存储缓冲区最大大小,默认256K - */ - public static final int DEFAULT_MAX_APPEND_BUFFER_SIZE = 256 * 1024; - - /** - * The election timer interval will be a random maximum outside the specified time, 1 second by default - * 选举定时器间隔会在指定时间之外随机的最大范围,默认1秒 - */ - public static final int DEFAULT_MAX_ELECTION_DELAY_MS = 1000; - - /** - * Specifies the ratio of the election timeout to the heartbeat interval. Heartbeat interval is equal to the - * electionTimeoutMs/electionHeartbeatFactor, default one of 10 points. 指定选举超时时间和心跳间隔时间之间的比值。心跳间隔等于electionTimeoutMs/electionHeartbeatFactor,默认10分之一。 - */ - public static final int DEFAULT_ELECTION_HEARTBEAT_FACTOR = 10; - - /** - * The tasks submitted to the leader will accumulate one batch into the maximum batch size stored in the log, and 32 - * tasks will be assigned by default 向 leader 提交的任务累积一个批次刷入日志存储的最大批次大小,默认 32 个任务 - */ - public static final int DEFAULT_APPLY_BATCH = 32; - - /** - * Call fsync when necessary when writing log, meta information, and it should always be true 写入日志、元信息的时候必要的时候调用 - * fsync,通常都应该为 true - */ - public static final boolean DEFAULT_SYNC = true; - - /** - * If fsync is called by writing snapshot/raft information, the default is false. If sync is true, it is better to - * respect sync 写入 snapshot/raft 元信息是否调用 fsync,默认为 false,在 sync 为 true 的情况下,优选尊重 sync - */ - public static final boolean DEFAULT_SYNC_META = false; - - /** - * Internal disruptor buffer size, need to be appropriately adjusted for high write throughput applications, default - * 16384 内部 disruptor buffer 大小,如果是写入吞吐量较高的应用,需要适当调高该值,默认 16384 - */ - public static final int DEFAULT_DISRUPTOR_BUFFER_SIZE = 16384; - - /** - * Whether to enable replicated pipeline request optimization by default 是否启用复制的 pipeline 请求优化,默认打开 - */ - public static final boolean DEFAULT_REPLICATOR_PIPELINE = true; - - /** - * Maximum in-flight requests with pipeline requests enabled, 256 by default 在启用 pipeline 请求情况下,最大 in-flight - * 请求数,默认256 - */ - public static final int DEFAULT_MAX_REPLICATOR_INFLIGHT_MSGS = 256; - - /** - * Whether LogEntry checksum is enabled 是否启用 LogEntry checksum - */ - public static final boolean DEFAULT_ENABLE_LOG_ENTRY_CHECKSUM = false; - - // ========= setting key ========= // - - /** - * Election timeout in milliseconds - */ - public static final String RAFT_ELECTION_TIMEOUT_MS = "election_timeout_ms"; - - /** - * Snapshot interval in seconds - */ - public static final String RAFT_SNAPSHOT_INTERVAL_SECS = "snapshot_interval_secs"; - - /** - * Requested retries - */ - public static final String REQUEST_FAILOVER_RETRIES = "request_failoverRetries"; - - /** - * raft internal worker threads - */ - public static final String RAFT_CORE_THREAD_NUM = "core_thread_num"; - - /** - * Number of threads required for raft business request processing - */ - public static final String RAFT_CLI_SERVICE_THREAD_NUM = "cli_service_thread_num"; - - /** - * raft linear read strategy, defaults to read_index read - */ - public static final String RAFT_READ_INDEX_TYPE = "read_index_type"; - - /** - * rpc request timeout, default 5 seconds - */ - public static final String RAFT_RPC_REQUEST_TIMEOUT_MS = "rpc_request_timeout_ms"; - - /** - * Maximum size of each file RPC (snapshot copy) request between nodes, default is 128 K - */ - public static final String MAX_BYTE_COUNT_PER_RPC = "max_byte_count_per_rpc"; - - /** - * Maximum number of logs sent from leader to follower, default is 1024 - */ - public static final String MAX_ENTRIES_SIZE = "max_entries_size"; - - /** - * Maximum body size for sending logs from leader to follower, default is 512K - */ - public static final String MAX_BODY_SIZE = "max_body_size"; - - /** - * Maximum log storage buffer size, default 256K - */ - public static final String MAX_APPEND_BUFFER_SIZE = "max_append_buffer_size"; - - /** - * Election timer interval will be a random maximum outside the specified time, default is 1 second - */ - public static final String MAX_ELECTION_DELAY_MS = "max_election_delay_ms"; - - /** - * Specify the ratio between election timeout and heartbeat interval. Heartbeat interval is equal to - * electionTimeoutMs/electionHeartbeatFactor,One tenth by default. - */ - public static final String ELECTION_HEARTBEAT_FACTOR = "election_heartbeat_factor"; - - /** - * The tasks submitted to the leader accumulate the maximum batch size of a batch flush log storage. The default is - * 32 tasks. - */ - public static final String APPLY_BATCH = "apply_batch"; - - /** - * Call fsync when necessary when writing logs and meta information, usually should be true - */ - public static final String SYNC = "sync"; - - /** - * Whether to write snapshot / raft meta-information to call fsync. The default is false. When sync is true, it is - * preferred to respect sync. - */ - public static final String SYNC_META = "sync_meta"; - - /** - * Internal disruptor buffer size. For applications with high write throughput, you need to increase this value. The - * default value is 16384. - */ - public static final String DISRUPTOR_BUFFER_SIZE = "disruptor_buffer_size"; - - /** - * Whether to enable replication of pipeline request optimization, which is enabled by default - */ - public static final String REPLICATOR_PIPELINE = "replicator_pipeline"; - - /** - * Maximum number of in-flight requests with pipeline requests enabled, default is 256 - */ - public static final String MAX_REPLICATOR_INFLIGHT_MSGS = "max_replicator_inflight_msgs"; - - /** - * Whether to enable LogEntry checksum - */ - public static final String ENABLE_LOG_ENTRY_CHECKSUM = "enable_log_entry_checksum"; -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/DuplicateRaftGroupException.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/DuplicateRaftGroupException.java deleted file mode 100644 index a6e98b83..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/DuplicateRaftGroupException.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.exception; - -/** - * Duplicate groupId when creating Raft Group throws this exception. - * - * @author liaochuntao - */ -public class DuplicateRaftGroupException extends RuntimeException { - - private static final long serialVersionUID = -6276695537457486790L; - - public DuplicateRaftGroupException(String group) { - super("The Raft Group [" + group + "] is already used"); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/JRaftException.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/JRaftException.java deleted file mode 100644 index d201fd9a..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/JRaftException.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.exception; - -/** - * Abnormal JRaft. - * - * @author liaochuntao - */ -@SuppressWarnings("PMD.ClassNamingShouldBeCamelRule") -public class JRaftException extends RuntimeException { - - private static final long serialVersionUID = 8802314713344513544L; - - public JRaftException() { - } - - public JRaftException(String message) { - super(message); - } - - public JRaftException(String message, Throwable cause) { - super(message, cause); - } - - public JRaftException(Throwable cause) { - super(cause); - } - - public JRaftException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/NoLeaderException.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/NoLeaderException.java deleted file mode 100644 index 86ec8e08..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/NoLeaderException.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.exception; - -/** - * This exception is thrown if the current Raft Group Cluster does not elect a leader. - * - * @author liaochuntao - */ -public class NoLeaderException extends Exception { - - private static final long serialVersionUID = 1755681688785678765L; - - public NoLeaderException() { - } - - public NoLeaderException(String group) { - super("The Raft Group [" + group + "] did not find the Leader node"); - } - - public NoLeaderException(String message, Throwable cause) { - super(message, cause); - } - - public NoLeaderException(Throwable cause) { - super(cause); - } - - public NoLeaderException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/NoSuchRaftGroupException.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/NoSuchRaftGroupException.java deleted file mode 100644 index 625ea733..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/exception/NoSuchRaftGroupException.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.exception; - -/** - * no this raft group exception. - * - * @author liaochuntao - */ -public class NoSuchRaftGroupException extends RuntimeException { - - private static final long serialVersionUID = 1755681688785678765L; - - public NoSuchRaftGroupException() { - } - - public NoSuchRaftGroupException(String message) { - super(message); - } - - public NoSuchRaftGroupException(String message, Throwable cause) { - super(message, cause); - } - - public NoSuchRaftGroupException(Throwable cause) { - super(cause); - } - - public NoSuchRaftGroupException(String message, Throwable cause, boolean enableSuppression, - boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/AbstractProcessor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/AbstractProcessor.java deleted file mode 100644 index ed087686..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/AbstractProcessor.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.processor; - -import com.alibaba.nacos.consistency.Serializer; -import com.alibaba.nacos.consistency.entity.Response; -import com.alibaba.nacos.core.distributed.raft.JRaftServer; -import com.alibaba.nacos.core.distributed.raft.utils.FailoverClosure; -import com.alibaba.nacos.core.utils.Loggers; -import com.alipay.sofa.jraft.Status; -import com.alipay.sofa.jraft.rpc.RpcContext; -import com.google.protobuf.Message; - -import java.util.Objects; - -/** - * abstract rpc processor. - * - * @author liaochuntao - */ -public abstract class AbstractProcessor { - - private final Serializer serializer; - - public AbstractProcessor(Serializer serializer) { - this.serializer = serializer; - } - - protected void handleRequest(final JRaftServer server, final String group, final RpcContext rpcCtx, Message message) { - try { - final JRaftServer.RaftGroupTuple tuple = server.findTupleByGroup(group); - if (Objects.isNull(tuple)) { - rpcCtx.sendResponse(Response.newBuilder().setSuccess(false) - .setErrMsg("Could not find the corresponding Raft Group : " + group).build()); - return; - } - if (tuple.getNode().isLeader()) { - execute(server, rpcCtx, message, tuple); - } else { - rpcCtx.sendResponse( - Response.newBuilder().setSuccess(false).setErrMsg("Could not find leader : " + group).build()); - } - } catch (Throwable e) { - Loggers.RAFT.error("handleRequest has error : ", e); - rpcCtx.sendResponse(Response.newBuilder().setSuccess(false).setErrMsg(e.toString()).build()); - } - } - - protected void execute(JRaftServer server, final RpcContext asyncCtx, final Message message, - final JRaftServer.RaftGroupTuple tuple) { - FailoverClosure closure = new FailoverClosure() { - - Response data; - - Throwable ex; - - @Override - public void setResponse(Response data) { - this.data = data; - } - - @Override - public void setThrowable(Throwable throwable) { - this.ex = throwable; - } - - @Override - public void run(Status status) { - if (Objects.nonNull(ex)) { - Loggers.RAFT.error("execute has error : ", ex); - asyncCtx.sendResponse(Response.newBuilder().setErrMsg(ex.toString()).setSuccess(false).build()); - } else { - asyncCtx.sendResponse(data); - } - } - }; - - server.applyOperation(tuple.getNode(), message, closure); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosGetRequestProcessor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosGetRequestProcessor.java deleted file mode 100644 index 59d82682..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosGetRequestProcessor.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.processor; - -import com.alibaba.nacos.consistency.ProtoMessageUtil; -import com.alibaba.nacos.consistency.Serializer; -import com.alibaba.nacos.consistency.entity.GetRequest; -import com.alibaba.nacos.core.distributed.raft.JRaftServer; -import com.alipay.sofa.jraft.rpc.RpcContext; -import com.alipay.sofa.jraft.rpc.RpcProcessor; - -/** - * deal with {@link GetRequest}. - * - * @author liaochuntao - */ -@Deprecated -public class NacosGetRequestProcessor extends AbstractProcessor implements RpcProcessor { - - private static final String INTEREST_NAME = GetRequest.class.getName(); - - private final JRaftServer server; - - public NacosGetRequestProcessor(JRaftServer server, Serializer serializer) { - super(serializer); - this.server = server; - } - - @Override - public void handleRequest(final RpcContext rpcCtx, GetRequest request) { - handleRequest(server, request.getGroup(), rpcCtx, ProtoMessageUtil.convertToReadRequest(request)); - } - - @Override - public String interest() { - return INTEREST_NAME; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosLogProcessor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosLogProcessor.java deleted file mode 100644 index a57c6ab0..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosLogProcessor.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.processor; - -import com.alibaba.nacos.consistency.ProtoMessageUtil; -import com.alibaba.nacos.consistency.Serializer; -import com.alibaba.nacos.consistency.entity.Log; -import com.alibaba.nacos.core.distributed.raft.JRaftServer; -import com.alipay.sofa.jraft.rpc.RpcContext; -import com.alipay.sofa.jraft.rpc.RpcProcessor; - -/** - * deal with {@link Log}. - * - * @author liaochuntao - */ -@Deprecated -public class NacosLogProcessor extends AbstractProcessor implements RpcProcessor { - - private static final String INTEREST_NAME = Log.class.getName(); - - private final JRaftServer server; - - public NacosLogProcessor(JRaftServer server, Serializer serializer) { - super(serializer); - this.server = server; - } - - @Override - public void handleRequest(final RpcContext rpcCtx, Log log) { - handleRequest(server, log.getGroup(), rpcCtx, ProtoMessageUtil.convertToWriteRequest(log)); - } - - @Override - public String interest() { - return INTEREST_NAME; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosReadRequestProcessor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosReadRequestProcessor.java deleted file mode 100644 index fd0a61c7..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosReadRequestProcessor.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.processor; - -import com.alibaba.nacos.consistency.Serializer; -import com.alibaba.nacos.consistency.entity.ReadRequest; -import com.alibaba.nacos.core.distributed.raft.JRaftServer; -import com.alipay.sofa.jraft.rpc.RpcContext; -import com.alipay.sofa.jraft.rpc.RpcProcessor; - -/** - * nacos request processor for {@link ReadRequest}. - * - * @author liaochuntao - */ -public class NacosReadRequestProcessor extends AbstractProcessor implements RpcProcessor { - - private static final String INTEREST_NAME = ReadRequest.class.getName(); - - private final JRaftServer server; - - public NacosReadRequestProcessor(JRaftServer server, Serializer serializer) { - super(serializer); - this.server = server; - } - - @Override - public void handleRequest(RpcContext rpcCtx, ReadRequest request) { - handleRequest(server, request.getGroup(), rpcCtx, request); - } - - @Override - public String interest() { - return INTEREST_NAME; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosWriteRequestProcessor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosWriteRequestProcessor.java deleted file mode 100644 index 6562db2d..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/processor/NacosWriteRequestProcessor.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.processor; - -import com.alibaba.nacos.consistency.Serializer; -import com.alibaba.nacos.consistency.entity.WriteRequest; -import com.alibaba.nacos.core.distributed.raft.JRaftServer; -import com.alipay.sofa.jraft.rpc.RpcContext; -import com.alipay.sofa.jraft.rpc.RpcProcessor; - -/** - * nacos request processor for {@link WriteRequest}. - * - * @author liaochuntao - */ -public class NacosWriteRequestProcessor extends AbstractProcessor implements RpcProcessor { - - private static final String INTEREST_NAME = WriteRequest.class.getName(); - - private final JRaftServer server; - - public NacosWriteRequestProcessor(JRaftServer server, Serializer serializer) { - super(serializer); - this.server = server; - } - - @Override - public void handleRequest(RpcContext rpcCtx, WriteRequest request) { - handleRequest(server, request.getGroup(), rpcCtx, request); - } - - @Override - public String interest() { - return INTEREST_NAME; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/FailoverClosure.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/FailoverClosure.java deleted file mode 100644 index f07c4186..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/FailoverClosure.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.utils; - -import com.alibaba.nacos.consistency.entity.Response; -import com.alipay.sofa.jraft.Closure; - -/** - * Failure callback based on Closure. - * - * @author liaochuntao - */ -public interface FailoverClosure extends Closure { - - /** - * Set the return interface if needed. - * - * @param response {@link Response} data - */ - void setResponse(Response response); - - /** - * Catch exception. - * - * @param throwable {@link Throwable} - */ - void setThrowable(Throwable throwable); - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/FailoverClosureImpl.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/FailoverClosureImpl.java deleted file mode 100644 index f3545eba..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/FailoverClosureImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.utils; - -import com.alibaba.nacos.consistency.entity.Response; -import com.alibaba.nacos.consistency.exception.ConsistencyException; -import com.alipay.sofa.jraft.Status; - -import java.util.Objects; -import java.util.concurrent.CompletableFuture; - -/** - * Closure with internal retry mechanism. - * - * @author liaochuntao - */ -public class FailoverClosureImpl implements FailoverClosure { - - private final CompletableFuture future; - - private volatile Response data; - - private volatile Throwable throwable; - - public FailoverClosureImpl(final CompletableFuture future) { - this.future = future; - } - - @Override - public void setResponse(Response data) { - this.data = data; - } - - @Override - public void setThrowable(Throwable throwable) { - this.throwable = throwable; - } - - @Override - public void run(Status status) { - if (status.isOk()) { - future.complete(data); - return; - } - final Throwable throwable = this.throwable; - future.completeExceptionally(Objects.nonNull(throwable) ? new ConsistencyException(throwable.getMessage()) - : new ConsistencyException("operation failure")); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftConstants.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftConstants.java deleted file mode 100644 index 7c525eb8..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftConstants.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.utils; - -/** - * constant. - * - * @author liaochuntao - */ -@SuppressWarnings("PMD.ClassNamingShouldBeCamelRule") -public class JRaftConstants { - - public static final String JRAFT_EXTEND_INFO_KEY = JRaftLogOperation.class.getCanonicalName(); - - public static final String GROUP_ID = "groupId"; - - public static final String COMMAND_NAME = "command"; - - public static final String COMMAND_VALUE = "value"; - - public static final String TRANSFER_LEADER = "transferLeader"; - - public static final String RESET_RAFT_CLUSTER = "restRaftCluster"; - - public static final String DO_SNAPSHOT = "doSnapshot"; - - public static final String REMOVE_PEER = "removePeer"; - - public static final String REMOVE_PEERS = "removePeers"; - - public static final String CHANGE_PEERS = "changePeers"; - - /** - * resetPeers. - */ - public static final String RESET_PEERS = "resetPeers"; - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftLogOperation.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftLogOperation.java deleted file mode 100644 index 0e7eb499..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftLogOperation.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.utils; - -/** - * JRaft for additional information on logging operations. - * - * @author liaochuntao - */ -@SuppressWarnings("PMD.ClassNamingShouldBeCamelRule") -public class JRaftLogOperation { - - public static final String MODIFY_OPERATION = "modify"; - - public static final String READ_OPERATION = "read"; - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftOps.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftOps.java deleted file mode 100644 index b0959ffb..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftOps.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.utils; - -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.model.RestResultUtils; -import com.alipay.sofa.jraft.CliService; -import com.alipay.sofa.jraft.JRaftUtils; -import com.alipay.sofa.jraft.Node; -import com.alipay.sofa.jraft.Status; -import com.alipay.sofa.jraft.conf.Configuration; -import com.alipay.sofa.jraft.entity.PeerId; - -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * jraft maintain service. - * - * @author liaochuntao - */ -@SuppressWarnings("all") -public enum JRaftOps { - - TRANSFER_LEADER(JRaftConstants.TRANSFER_LEADER) { - @Override - public RestResult execute(CliService cliService, String groupId, Node node, Map args) { - final Configuration conf = node.getOptions().getInitialConf(); - final PeerId leader = PeerId.parsePeer(args.get(JRaftConstants.COMMAND_VALUE)); - Status status = cliService.transferLeader(groupId, conf, leader); - if (status.isOk()) { - return RestResultUtils.success(); - } - return RestResultUtils.failed(status.getErrorMsg()); - } - }, - - RESET_RAFT_CLUSTER(JRaftConstants.RESET_RAFT_CLUSTER) { - @Override - public RestResult execute(CliService cliService, String groupId, Node node, Map args) { - final Configuration conf = node.getOptions().getInitialConf(); - final String peerIds = args.get(JRaftConstants.COMMAND_VALUE); - Configuration newConf = JRaftUtils.getConfiguration(peerIds); - Status status = cliService.changePeers(groupId, conf, newConf); - if (status.isOk()) { - return RestResultUtils.success(); - } - return RestResultUtils.failed(status.getErrorMsg()); - } - }, - - DO_SNAPSHOT(JRaftConstants.DO_SNAPSHOT) { - @Override - public RestResult execute(CliService cliService, String groupId, Node node, Map args) { - final Configuration conf = node.getOptions().getInitialConf(); - final PeerId peerId = PeerId.parsePeer(args.get(JRaftConstants.COMMAND_VALUE)); - Status status = cliService.snapshot(groupId, peerId); - if (status.isOk()) { - return RestResultUtils.success(); - } - return RestResultUtils.failed(status.getErrorMsg()); - } - }, - - REMOVE_PEER(JRaftConstants.REMOVE_PEER) { - @Override - public RestResult execute(CliService cliService, String groupId, Node node, Map args) { - final Configuration conf = node.getOptions().getInitialConf(); - - List peerIds = cliService.getPeers(groupId, conf); - - final PeerId waitRemove = PeerId.parsePeer(args.get(JRaftConstants.COMMAND_VALUE)); - - if (!peerIds.contains(waitRemove)) { - return RestResultUtils.success(); - } - - Status status = cliService.removePeer(groupId, conf, waitRemove); - if (status.isOk()) { - return RestResultUtils.success(); - } - return RestResultUtils.failed(status.getErrorMsg()); - } - }, - - REMOVE_PEERS(JRaftConstants.REMOVE_PEERS) { - @Override - public RestResult execute(CliService cliService, String groupId, Node node, Map args) { - final Configuration conf = node.getOptions().getInitialConf(); - final String peers = args.get(JRaftConstants.COMMAND_VALUE); - for (String s : peers.split(",")) { - - List peerIds = cliService.getPeers(groupId, conf); - final PeerId waitRemove = PeerId.parsePeer(s); - - if (!peerIds.contains(waitRemove)) { - continue; - } - - Status status = cliService.removePeer(groupId, conf, waitRemove); - if (!status.isOk()) { - return RestResultUtils.failed(status.getErrorMsg()); - } - } - return RestResultUtils.success(); - } - }, - - CHANGE_PEERS(JRaftConstants.CHANGE_PEERS) { - @Override - public RestResult execute(CliService cliService, String groupId, Node node, Map args) { - final Configuration conf = node.getOptions().getInitialConf(); - final Configuration newConf = new Configuration(); - String peers = args.get(JRaftConstants.COMMAND_VALUE); - for (String peer : peers.split(",")) { - newConf.addPeer(PeerId.parsePeer(peer.trim())); - } - - if (Objects.equals(conf, newConf)) { - return RestResultUtils.success(); - } - - Status status = cliService.changePeers(groupId, conf, newConf); - if (status.isOk()) { - return RestResultUtils.success(); - } - return RestResultUtils.failed(status.getErrorMsg()); - } - }, - - /** - * resetPeers. - *

- * Use only in very urgent situations where availability is more important! - * https://www.sofastack.tech/projects/sofa-jraft/jraft-user-guide/#7.3 - *

- */ - RESET_PEERS(JRaftConstants.RESET_PEERS) { - @Override - public RestResult execute(CliService cliService, String groupId, Node node, Map args) { - final Configuration newConf = new Configuration(); - String peers = args.get(JRaftConstants.COMMAND_VALUE); - for (String peer : peers.split(",")) { - newConf.addPeer(PeerId.parsePeer(peer.trim())); - } - - final PeerId nodePeerId = node.getNodeId().getPeerId(); - Status status = cliService.resetPeer(groupId, nodePeerId, newConf); - if (status.isOk()) { - return RestResultUtils.success(); - } - return RestResultUtils.failed(status.getErrorMsg()); - } - }; - - private String name; - - JRaftOps(String name) { - this.name = name; - } - - public static JRaftOps sourceOf(String command) { - for (JRaftOps enums : JRaftOps.values()) { - if (Objects.equals(command, enums.name)) { - return enums; - } - } - return null; - } - - public RestResult execute(CliService cliService, String groupId, Node node, Map args) { - return RestResultUtils.success(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftUtils.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftUtils.java deleted file mode 100644 index f0782ef4..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/JRaftUtils.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.utils; - -import com.alibaba.nacos.common.utils.ThreadUtils; -import com.alibaba.nacos.consistency.SerializeFactory; -import com.alibaba.nacos.consistency.entity.GetRequest; -import com.alibaba.nacos.consistency.entity.Log; -import com.alibaba.nacos.consistency.entity.ReadRequest; -import com.alibaba.nacos.consistency.entity.Response; -import com.alibaba.nacos.consistency.entity.WriteRequest; -import com.alibaba.nacos.core.cluster.ServerMemberManager; -import com.alibaba.nacos.core.distributed.raft.JRaftServer; -import com.alibaba.nacos.core.distributed.raft.processor.NacosGetRequestProcessor; -import com.alibaba.nacos.core.distributed.raft.processor.NacosLogProcessor; -import com.alibaba.nacos.core.distributed.raft.processor.NacosReadRequestProcessor; -import com.alibaba.nacos.core.distributed.raft.processor.NacosWriteRequestProcessor; -import com.alibaba.nacos.sys.utils.ApplicationUtils; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.utils.DiskUtils; -import com.alipay.sofa.jraft.CliService; -import com.alipay.sofa.jraft.RouteTable; -import com.alipay.sofa.jraft.Status; -import com.alipay.sofa.jraft.conf.Configuration; -import com.alipay.sofa.jraft.entity.PeerId; -import com.alipay.sofa.jraft.option.NodeOptions; -import com.alipay.sofa.jraft.rpc.RaftRpcServerFactory; -import com.alipay.sofa.jraft.rpc.RpcServer; -import com.alipay.sofa.jraft.rpc.impl.GrpcRaftRpcFactory; -import com.alipay.sofa.jraft.rpc.impl.MarshallerRegistry; -import com.alipay.sofa.jraft.util.RpcFactoryHelper; - -import java.io.File; -import java.nio.file.Paths; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -/** - * JRaft utils. - * - * @author liaochuntao - */ -@SuppressWarnings("all") -public class JRaftUtils { - - public static RpcServer initRpcServer(JRaftServer server, PeerId peerId) { - GrpcRaftRpcFactory raftRpcFactory = (GrpcRaftRpcFactory) RpcFactoryHelper.rpcFactory(); - raftRpcFactory.registerProtobufSerializer(Log.class.getName(), Log.getDefaultInstance()); - raftRpcFactory.registerProtobufSerializer(GetRequest.class.getName(), GetRequest.getDefaultInstance()); - raftRpcFactory.registerProtobufSerializer(WriteRequest.class.getName(), WriteRequest.getDefaultInstance()); - raftRpcFactory.registerProtobufSerializer(ReadRequest.class.getName(), ReadRequest.getDefaultInstance()); - raftRpcFactory.registerProtobufSerializer(Response.class.getName(), Response.getDefaultInstance()); - - MarshallerRegistry registry = raftRpcFactory.getMarshallerRegistry(); - registry.registerResponseInstance(Log.class.getName(), Response.getDefaultInstance()); - registry.registerResponseInstance(GetRequest.class.getName(), Response.getDefaultInstance()); - - registry.registerResponseInstance(WriteRequest.class.getName(), Response.getDefaultInstance()); - registry.registerResponseInstance(ReadRequest.class.getName(), Response.getDefaultInstance()); - - final RpcServer rpcServer = raftRpcFactory.createRpcServer(peerId.getEndpoint()); - RaftRpcServerFactory.addRaftRequestProcessors(rpcServer, RaftExecutor.getRaftCoreExecutor(), - RaftExecutor.getRaftCliServiceExecutor()); - - // Deprecated - rpcServer.registerProcessor(new NacosLogProcessor(server, SerializeFactory.getDefault())); - // Deprecated - rpcServer.registerProcessor(new NacosGetRequestProcessor(server, SerializeFactory.getDefault())); - - rpcServer.registerProcessor(new NacosWriteRequestProcessor(server, SerializeFactory.getDefault())); - rpcServer.registerProcessor(new NacosReadRequestProcessor(server, SerializeFactory.getDefault())); - - return rpcServer; - } - - public static final void initDirectory(String parentPath, String groupName, NodeOptions copy) { - final String logUri = Paths.get(parentPath, groupName, "log").toString(); - final String snapshotUri = Paths.get(parentPath, groupName, "snapshot").toString(); - final String metaDataUri = Paths.get(parentPath, groupName, "meta-data").toString(); - - // Initialize the raft file storage path for different services - try { - DiskUtils.forceMkdir(new File(logUri)); - DiskUtils.forceMkdir(new File(snapshotUri)); - DiskUtils.forceMkdir(new File(metaDataUri)); - } catch (Exception e) { - Loggers.RAFT.error("Init Raft-File dir have some error, cause: ", e); - throw new RuntimeException(e); - } - - copy.setLogUri(logUri); - copy.setRaftMetaUri(metaDataUri); - copy.setSnapshotUri(snapshotUri); - } - - public static List toStrings(List peerIds) { - return peerIds.stream().map(peerId -> peerId.getEndpoint().toString()).collect(Collectors.toList()); - } - - public static void joinCluster(CliService cliService, Collection members, Configuration conf, String group, - PeerId self) { - ServerMemberManager memberManager = ApplicationUtils.getBean(ServerMemberManager.class); - if (!memberManager.isFirstIp()) { - return; - } - Set peerIds = new HashSet<>(); - for (String s : members) { - peerIds.add(PeerId.parsePeer(s)); - } - peerIds.remove(self); - for (; ; ) { - if (peerIds.isEmpty()) { - return; - } - conf = RouteTable.getInstance().getConfiguration(group); - Iterator iterator = peerIds.iterator(); - while (iterator.hasNext()) { - final PeerId peerId = iterator.next(); - - if (conf.contains(peerId)) { - iterator.remove(); - continue; - } - - Status status = cliService.addPeer(group, conf, peerId); - if (status.isOk()) { - iterator.remove(); - } - } - ThreadUtils.sleep(1000L); - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RaftExecutor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RaftExecutor.java deleted file mode 100644 index 4a269794..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RaftExecutor.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.utils; - -import com.alibaba.nacos.common.executor.ExecutorFactory; -import com.alibaba.nacos.common.executor.NameThreadFactory; -import com.alibaba.nacos.core.distributed.raft.JRaftServer; -import com.alibaba.nacos.core.distributed.raft.RaftConfig; -import com.alibaba.nacos.core.distributed.raft.RaftSysConstants; -import com.alibaba.nacos.core.utils.ClassUtils; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -/** - * raft executor. - * - * @author liaochuntao - */ -public final class RaftExecutor { - - private static ExecutorService raftCoreExecutor; - - private static ExecutorService raftCliServiceExecutor; - - private static ScheduledExecutorService raftCommonExecutor; - - private static ExecutorService raftSnapshotExecutor; - - private static final String OWNER = ClassUtils.getCanonicalName(JRaftServer.class); - - private RaftExecutor() { - } - - /** - * init raft executor by {@link RaftConfig}. - * - * @param config {@link RaftConfig} - */ - public static void init(RaftConfig config) { - - int raftCoreThreadNum = Integer.parseInt(config.getValOfDefault(RaftSysConstants.RAFT_CORE_THREAD_NUM, "8")); - int raftCliServiceThreadNum = Integer - .parseInt(config.getValOfDefault(RaftSysConstants.RAFT_CLI_SERVICE_THREAD_NUM, "4")); - - raftCoreExecutor = ExecutorFactory.Managed.newFixedExecutorService(OWNER, raftCoreThreadNum, - new NameThreadFactory("com.alibaba.nacos.core.raft-core")); - - raftCliServiceExecutor = ExecutorFactory.Managed.newFixedExecutorService(OWNER, raftCliServiceThreadNum, - new NameThreadFactory("com.alibaba.nacos.core.raft-cli-service")); - - raftCommonExecutor = ExecutorFactory.Managed.newScheduledExecutorService(OWNER, 8, - new NameThreadFactory("com.alibaba.nacos.core.protocol.raft-common")); - - int snapshotNum = raftCoreThreadNum / 2; - snapshotNum = snapshotNum == 0 ? raftCoreThreadNum : snapshotNum; - - raftSnapshotExecutor = ExecutorFactory.Managed.newFixedExecutorService(OWNER, snapshotNum, - new NameThreadFactory("com.alibaba.nacos.core.raft-snapshot")); - - } - - public static void scheduleRaftMemberRefreshJob(Runnable runnable, long initialDelay, long period, TimeUnit unit) { - raftCommonExecutor.scheduleAtFixedRate(runnable, initialDelay, period, unit); - } - - public static ExecutorService getRaftCoreExecutor() { - return raftCoreExecutor; - } - - public static ExecutorService getRaftCliServiceExecutor() { - return raftCliServiceExecutor; - } - - public static void executeByCommon(Runnable r) { - raftCommonExecutor.execute(r); - } - - public static void scheduleByCommon(Runnable r, long delayMs) { - raftCommonExecutor.schedule(r, delayMs, TimeUnit.MILLISECONDS); - } - - public static void scheduleAtFixedRateByCommon(Runnable command, long initialDelayMs, long periodMs) { - raftCommonExecutor.scheduleAtFixedRate(command, initialDelayMs, periodMs, TimeUnit.MILLISECONDS); - } - - public static ScheduledExecutorService getRaftCommonExecutor() { - return raftCommonExecutor; - } - - public static void doSnapshot(Runnable runnable) { - raftSnapshotExecutor.execute(runnable); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RaftOptionsBuilder.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RaftOptionsBuilder.java deleted file mode 100644 index 57a65f04..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RaftOptionsBuilder.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.utils; - -import com.alibaba.nacos.common.utils.ConvertUtils; -import com.alibaba.nacos.core.distributed.raft.RaftConfig; -import com.alibaba.nacos.core.distributed.raft.RaftSysConstants; -import com.alipay.sofa.jraft.option.RaftOptions; -import com.alipay.sofa.jraft.option.ReadOnlyOption; -import com.alibaba.nacos.common.utils.StringUtils; - -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.APPLY_BATCH; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_APPLY_BATCH; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_DISRUPTOR_BUFFER_SIZE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_ELECTION_HEARTBEAT_FACTOR; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_ENABLE_LOG_ENTRY_CHECKSUM; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_MAX_APPEND_BUFFER_SIZE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_MAX_BODY_SIZE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_MAX_BYTE_COUNT_PER_RPC; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_MAX_ELECTION_DELAY_MS; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_MAX_ENTRIES_SIZE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_MAX_REPLICATOR_INFLIGHT_MSGS; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_REPLICATOR_PIPELINE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_SYNC; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DEFAULT_SYNC_META; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.DISRUPTOR_BUFFER_SIZE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.ELECTION_HEARTBEAT_FACTOR; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.ENABLE_LOG_ENTRY_CHECKSUM; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.MAX_APPEND_BUFFER_SIZE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.MAX_BODY_SIZE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.MAX_BYTE_COUNT_PER_RPC; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.MAX_ELECTION_DELAY_MS; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.MAX_ENTRIES_SIZE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.MAX_REPLICATOR_INFLIGHT_MSGS; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.REPLICATOR_PIPELINE; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.SYNC; -import static com.alibaba.nacos.core.distributed.raft.RaftSysConstants.SYNC_META; - -/** - * build {@link RaftOptions}. - * - * @author liaochuntao - */ -public class RaftOptionsBuilder { - - /** - * By {@link RaftConfig} creating a {@link RaftOptions}. - * - * @param config {@link RaftConfig} - * @return {@link RaftOptions} - */ - public static RaftOptions initRaftOptions(RaftConfig config) { - RaftOptions raftOptions = new RaftOptions(); - raftOptions.setReadOnlyOptions(raftReadIndexType(config)); - - raftOptions.setMaxByteCountPerRpc( - ConvertUtils.toInt(config.getVal(MAX_BYTE_COUNT_PER_RPC), DEFAULT_MAX_BYTE_COUNT_PER_RPC)); - - raftOptions.setMaxEntriesSize(ConvertUtils.toInt(config.getVal(MAX_ENTRIES_SIZE), DEFAULT_MAX_ENTRIES_SIZE)); - - raftOptions.setMaxBodySize(ConvertUtils.toInt(config.getVal(MAX_BODY_SIZE), DEFAULT_MAX_BODY_SIZE)); - - raftOptions.setMaxAppendBufferSize( - ConvertUtils.toInt(config.getVal(MAX_APPEND_BUFFER_SIZE), DEFAULT_MAX_APPEND_BUFFER_SIZE)); - - raftOptions.setMaxElectionDelayMs( - ConvertUtils.toInt(config.getVal(MAX_ELECTION_DELAY_MS), DEFAULT_MAX_ELECTION_DELAY_MS)); - - raftOptions.setElectionHeartbeatFactor( - ConvertUtils.toInt(config.getVal(ELECTION_HEARTBEAT_FACTOR), DEFAULT_ELECTION_HEARTBEAT_FACTOR)); - - raftOptions.setApplyBatch(ConvertUtils.toInt(config.getVal(APPLY_BATCH), DEFAULT_APPLY_BATCH)); - - raftOptions.setSync(ConvertUtils.toBoolean(config.getVal(SYNC), DEFAULT_SYNC)); - - raftOptions.setSyncMeta(ConvertUtils.toBoolean(config.getVal(SYNC_META), DEFAULT_SYNC_META)); - - raftOptions.setDisruptorBufferSize( - ConvertUtils.toInt(config.getVal(DISRUPTOR_BUFFER_SIZE), DEFAULT_DISRUPTOR_BUFFER_SIZE)); - - raftOptions.setReplicatorPipeline( - ConvertUtils.toBoolean(config.getVal(REPLICATOR_PIPELINE), DEFAULT_REPLICATOR_PIPELINE)); - - raftOptions.setMaxReplicatorInflightMsgs( - ConvertUtils.toInt(config.getVal(MAX_REPLICATOR_INFLIGHT_MSGS), DEFAULT_MAX_REPLICATOR_INFLIGHT_MSGS)); - - raftOptions.setEnableLogEntryChecksum( - ConvertUtils.toBoolean(config.getVal(ENABLE_LOG_ENTRY_CHECKSUM), DEFAULT_ENABLE_LOG_ENTRY_CHECKSUM)); - - return raftOptions; - } - - private static ReadOnlyOption raftReadIndexType(RaftConfig config) { - String readOnySafe = "ReadOnlySafe"; - String readOnlyLeaseBased = "ReadOnlyLeaseBased"; - - String val = config.getVal(RaftSysConstants.RAFT_READ_INDEX_TYPE); - - if (StringUtils.isBlank(val) || StringUtils.equals(readOnySafe, val)) { - return ReadOnlyOption.ReadOnlySafe; - } - - if (StringUtils.equals(readOnlyLeaseBased, val)) { - return ReadOnlyOption.ReadOnlyLeaseBased; - } - throw new IllegalArgumentException("Illegal Raft system parameters => ReadOnlyOption" + " : [" + val - + "], should be 'ReadOnlySafe' or 'ReadOnlyLeaseBased'"); - - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RetryRunner.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RetryRunner.java deleted file mode 100644 index d55c9020..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RetryRunner.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.distributed.raft.utils; - -/** - * Retry function. - * - * @author liaochuntao - */ -@FunctionalInterface -public interface RetryRunner { - - /** - * Tasks that require retry. - */ - void run(); - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/ErrorCode.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/ErrorCode.java deleted file mode 100644 index a81b7bac..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/ErrorCode.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.exception; - -/** - * Core module code starts with 40001. - * - * @author liaochuntao - */ -public enum ErrorCode { - - /** - * unknow error. - */ - UnKnowError(40001), - - // kv error - - /** - * KVStorage write error. - */ - KVStorageWriteError(40100), - - /** - * KVStorage read error. - */ - KVStorageReadError(40101), - - /** - * KVStorage delete error. - */ - KVStorageDeleteError(40102), - - /** - * KVStorage snapshot save error. - */ - KVStorageSnapshotSaveError(40103), - - /** - * KVStorage snapshot load error. - */ - KVStorageSnapshotLoadError(40104), - - /** - * KVStorage reset error. - */ - KVStorageResetError(40105), - - /** - * KVStorage create error. - */ - KVStorageCreateError(40106), - - /** - * KVStorage write error. - */ - KVStorageBatchWriteError(40107), - - // disk error - - /** - * mkdir error. - */ - IOMakeDirError(40201), - - /** - * copy directory has error. - */ - IOCopyDirError(40202), - - // consistency protocol error - - /** - * protocol write error. - */ - ProtoSubmitError(40301), - - /** - * protocol read error. - */ - ProtoReadError(40302); - - private final int code; - - ErrorCode(int code) { - this.code = code; - } - - public int getCode() { - return code; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/KvStorageException.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/KvStorageException.java deleted file mode 100644 index 9402f336..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/KvStorageException.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package com.alibaba.nacos.core.exception; - -import com.alibaba.nacos.api.exception.NacosException; - -/** - * RocksDB Exception. - * - * @author liaochuntao - */ -public class KvStorageException extends NacosException { - - public KvStorageException() { - super(); - } - - public KvStorageException(ErrorCode code, String errMsg) { - super(code.getCode(), errMsg); - } - - public KvStorageException(ErrorCode errCode, Throwable throwable) { - super(errCode.getCode(), throwable); - } - - public KvStorageException(ErrorCode errCode, String errMsg, Throwable throwable) { - super(errCode.getCode(), errMsg, throwable); - } - - public KvStorageException(int errCode, String errMsg) { - super(errCode, errMsg); - } - - public KvStorageException(int errCode, Throwable throwable) { - super(errCode, throwable); - } - - public KvStorageException(int errCode, String errMsg, Throwable throwable) { - super(errCode, errMsg, throwable); - } - - @Override - public int getErrCode() { - return super.getErrCode(); - } - - @Override - public String getErrMsg() { - return super.getErrMsg(); - } - - @Override - public void setErrCode(int errCode) { - super.setErrCode(errCode); - } - - @Override - public void setErrMsg(String errMsg) { - super.setErrMsg(errMsg); - } - - @Override - public void setCauseThrowable(Throwable throwable) { - super.setCauseThrowable(throwable); - } - - @Override - public String toString() { - return super.toString(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/SnakflowerException.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/SnakflowerException.java deleted file mode 100644 index fdd5dcce..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/exception/SnakflowerException.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.exception; - -/** - * SnakflowerException. - * - * @author liaochuntao - */ -public class SnakflowerException extends RuntimeException { - - public SnakflowerException() { - super(); - } - - public SnakflowerException(String message) { - super(message); - } - - public SnakflowerException(String message, Throwable cause) { - super(message, cause); - } - - public SnakflowerException(Throwable cause) { - super(cause); - } - - protected SnakflowerException(String message, Throwable cause, boolean enableSuppression, - boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -} \ No newline at end of file diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/LoggingApplicationListener.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/LoggingApplicationListener.java deleted file mode 100644 index d0968b13..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/LoggingApplicationListener.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.listener; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.core.env.ConfigurableEnvironment; - -import static org.springframework.boot.context.logging.LoggingApplicationListener.CONFIG_PROPERTY; -import static org.springframework.core.io.ResourceLoader.CLASSPATH_URL_PREFIX; - -/** - * For init logging configuration. - * - * @author horizonzy - * @since 1.4.1 - */ -public class LoggingApplicationListener implements NacosApplicationListener { - - private static final String DEFAULT_NACOS_LOGBACK_LOCATION = CLASSPATH_URL_PREFIX + "META-INF/logback/nacos.xml"; - - private static final Logger LOGGER = LoggerFactory.getLogger(LoggingApplicationListener.class); - - @Override - public void starting() { - - } - - @Override - public void environmentPrepared(ConfigurableEnvironment environment) { - if (!environment.containsProperty(CONFIG_PROPERTY)) { - System.setProperty(CONFIG_PROPERTY, DEFAULT_NACOS_LOGBACK_LOCATION); - if (LOGGER.isInfoEnabled()) { - LOGGER.info("There is no property named \"{}\" in Spring Boot Environment, " - + "and whose value is {} will be set into System's Properties", CONFIG_PROPERTY, - DEFAULT_NACOS_LOGBACK_LOCATION); - } - } - } - - @Override - public void contextPrepared(ConfigurableApplicationContext context) { - - } - - @Override - public void contextLoaded(ConfigurableApplicationContext context) { - - } - - @Override - public void started(ConfigurableApplicationContext context) { - - } - - @Override - public void running(ConfigurableApplicationContext context) { - - } - - @Override - public void failed(ConfigurableApplicationContext context, Throwable exception) { - - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/NacosApplicationListener.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/NacosApplicationListener.java deleted file mode 100644 index 96d29a24..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/NacosApplicationListener.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.listener; - -import com.alibaba.nacos.core.code.SpringApplicationRunListener; -import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.core.env.ConfigurableEnvironment; - -/** - * Nacos Application Listener, execute init process. - * - * @author horizonzy - * @since 1.4.1 - */ -public interface NacosApplicationListener { - - /** - * {@link SpringApplicationRunListener#starting}. - */ - void starting(); - - /** - * {@link SpringApplicationRunListener#environmentPrepared}. - * - * @param environment environment - */ - void environmentPrepared(ConfigurableEnvironment environment); - - /** - * {@link SpringApplicationRunListener#contextLoaded}. - * - * @param context context - */ - void contextPrepared(ConfigurableApplicationContext context); - - /** - * {@link SpringApplicationRunListener#contextLoaded}. - * - * @param context context - */ - void contextLoaded(ConfigurableApplicationContext context); - - /** - * {@link SpringApplicationRunListener#started}. - * - * @param context context - */ - void started(ConfigurableApplicationContext context); - - /** - * {@link SpringApplicationRunListener#running}. - * - * @param context context - */ - void running(ConfigurableApplicationContext context); - - /** - * {@link SpringApplicationRunListener#failed}. - * - * @param context context - * @param exception exception - */ - void failed(ConfigurableApplicationContext context, Throwable exception); -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/StartingApplicationListener.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/StartingApplicationListener.java deleted file mode 100644 index fa1e21b6..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/listener/StartingApplicationListener.java +++ /dev/null @@ -1,269 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.listener; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.exception.runtime.NacosRuntimeException; -import com.alibaba.nacos.common.executor.ExecutorFactory; -import com.alibaba.nacos.common.executor.NameThreadFactory; -import com.alibaba.nacos.common.executor.ThreadPoolManager; -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.common.event.ServerConfigChangeEvent; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.sys.file.FileChangeEvent; -import com.alibaba.nacos.sys.file.FileWatcher; -import com.alibaba.nacos.sys.file.WatchFileCenter; -import com.alibaba.nacos.sys.utils.ApplicationUtils; -import com.alibaba.nacos.sys.utils.DiskUtils; -import com.alibaba.nacos.sys.utils.InetUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.boot.env.OriginTrackedMapPropertySource; -import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.core.env.ConfigurableEnvironment; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Paths; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -/** - * init environment config. - * - * @author hxy1991 - * @since 0.5.0 - */ -public class StartingApplicationListener implements NacosApplicationListener { - - private static final Logger LOGGER = LoggerFactory.getLogger(StartingApplicationListener.class); - - private static final String MODE_PROPERTY_KEY_STAND_MODE = "nacos.mode"; - - private static final String MODE_PROPERTY_KEY_FUNCTION_MODE = "nacos.function.mode"; - - private static final String LOCAL_IP_PROPERTY_KEY = "nacos.local.ip"; - - private static final String NACOS_APPLICATION_CONF = "nacos_application_conf"; - - private static final String NACOS_MODE_STAND_ALONE = "stand alone"; - - private static final String NACOS_MODE_CLUSTER = "cluster"; - - private static final String DEFAULT_FUNCTION_MODE = "All"; - - private static final String DEFAULT_DATABASE = "mysql"; - - private static final String DATASOURCE_PLATFORM_PROPERTY = "spring.datasource.platform"; - - private static final String DEFAULT_DATASOURCE_PLATFORM = ""; - - private static final String DATASOURCE_MODE_EXTERNAL = "external"; - - private static final String DATASOURCE_MODE_EMBEDDED = "embedded"; - - private static final Map SOURCES = new ConcurrentHashMap<>(); - - private ScheduledExecutorService scheduledExecutorService; - - private volatile boolean starting; - - @Override - public void starting() { - starting = true; - } - - @Override - public void environmentPrepared(ConfigurableEnvironment environment) { - makeWorkDir(); - - injectEnvironment(environment); - - loadPreProperties(environment); - - initSystemProperty(); - } - - @Override - public void contextPrepared(ConfigurableApplicationContext context) { - logClusterConf(); - - logStarting(); - } - - @Override - public void contextLoaded(ConfigurableApplicationContext context) { - - } - - @Override - public void started(ConfigurableApplicationContext context) { - starting = false; - - closeExecutor(); - - ApplicationUtils.setStarted(true); - judgeStorageMode(context.getEnvironment()); - } - - @Override - public void running(ConfigurableApplicationContext context) { - } - - @Override - public void failed(ConfigurableApplicationContext context, Throwable exception) { - starting = false; - - makeWorkDir(); - - LOGGER.error("Startup errors : ", exception); - ThreadPoolManager.shutdown(); - WatchFileCenter.shutdown(); - NotifyCenter.shutdown(); - - closeExecutor(); - - context.close(); - - LOGGER.error("Nacos failed to start, please see {} for more details.", - Paths.get(EnvUtil.getNacosHome(), "logs/nacos.log")); - } - - private void injectEnvironment(ConfigurableEnvironment environment) { - EnvUtil.setEnvironment(environment); - } - - private void loadPreProperties(ConfigurableEnvironment environment) { - try { - SOURCES.putAll(EnvUtil.loadProperties(EnvUtil.getApplicationConfFileResource())); - environment.getPropertySources() - .addLast(new OriginTrackedMapPropertySource(NACOS_APPLICATION_CONF, SOURCES)); - registerWatcher(); - } catch (Exception e) { - throw new NacosRuntimeException(NacosException.SERVER_ERROR, e); - } - } - - private void registerWatcher() throws NacosException { - - WatchFileCenter.registerWatcher(EnvUtil.getConfPath(), new FileWatcher() { - @Override - public void onChange(FileChangeEvent event) { - try { - Map tmp = EnvUtil.loadProperties(EnvUtil.getApplicationConfFileResource()); - SOURCES.putAll(tmp); - NotifyCenter.publishEvent(ServerConfigChangeEvent.newEvent()); - } catch (IOException ignore) { - LOGGER.warn("Failed to monitor file ", ignore); - } - } - - @Override - public boolean interest(String context) { - return StringUtils.contains(context, "application.properties"); - } - }); - - } - - private void initSystemProperty() { - if (EnvUtil.getStandaloneMode()) { - System.setProperty(MODE_PROPERTY_KEY_STAND_MODE, NACOS_MODE_STAND_ALONE); - } else { - System.setProperty(MODE_PROPERTY_KEY_STAND_MODE, NACOS_MODE_CLUSTER); - } - if (EnvUtil.getFunctionMode() == null) { - System.setProperty(MODE_PROPERTY_KEY_FUNCTION_MODE, DEFAULT_FUNCTION_MODE); - } else if (EnvUtil.FUNCTION_MODE_CONFIG.equals(EnvUtil.getFunctionMode())) { - System.setProperty(MODE_PROPERTY_KEY_FUNCTION_MODE, EnvUtil.FUNCTION_MODE_CONFIG); - } else if (EnvUtil.FUNCTION_MODE_NAMING.equals(EnvUtil.getFunctionMode())) { - System.setProperty(MODE_PROPERTY_KEY_FUNCTION_MODE, EnvUtil.FUNCTION_MODE_NAMING); - } - - System.setProperty(LOCAL_IP_PROPERTY_KEY, InetUtils.getSelfIP()); - } - - private void logClusterConf() { - if (!EnvUtil.getStandaloneMode()) { - try { - List clusterConf = EnvUtil.readClusterConf(); - LOGGER.info("The server IP list of Nacos is {}", clusterConf); - } catch (IOException e) { - LOGGER.error("read cluster conf fail", e); - } - } - } - - private void closeExecutor() { - if (scheduledExecutorService != null) { - scheduledExecutorService.shutdownNow(); - } - } - - private void makeWorkDir() { - String[] dirNames = new String[] {"logs", "conf", "data"}; - for (String dirName : dirNames) { - LOGGER.info("Nacos Log files: {}", Paths.get(EnvUtil.getNacosHome(), dirName)); - try { - DiskUtils.forceMkdir(new File(Paths.get(EnvUtil.getNacosHome(), dirName).toUri())); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - } - - private void logStarting() { - if (!EnvUtil.getStandaloneMode()) { - - scheduledExecutorService = ExecutorFactory - .newSingleScheduledExecutorService(new NameThreadFactory("com.alibaba.nacos.core.nacos-starting")); - - scheduledExecutorService.scheduleWithFixedDelay(() -> { - if (starting) { - LOGGER.info("Nacos is starting..."); - } - }, 1, 1, TimeUnit.SECONDS); - } - } - - private void judgeStorageMode(ConfigurableEnvironment env) { - - // External data sources are used by default in cluster mode - boolean useExternalStorage = (DEFAULT_DATABASE.equalsIgnoreCase(env.getProperty(DATASOURCE_PLATFORM_PROPERTY, DEFAULT_DATASOURCE_PLATFORM))); - - // must initialize after setUseExternalDB - // This value is true in stand-alone mode and false in cluster mode - // If this value is set to true in cluster mode, nacos's distributed storage engine is turned on - // default value is depend on ${nacos.standalone} - - if (!useExternalStorage) { - boolean embeddedStorage = EnvUtil.getStandaloneMode() || Boolean.getBoolean("embeddedStorage"); - // If the embedded data source storage is not turned on, it is automatically - // upgraded to the external data source storage, as before - if (!embeddedStorage) { - useExternalStorage = true; - } - } - - LOGGER.info("Nacos started successfully in {} mode. use {} storage", - System.getProperty(MODE_PROPERTY_KEY_STAND_MODE), useExternalStorage ? DATASOURCE_MODE_EXTERNAL : DATASOURCE_MODE_EMBEDDED); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/request/LogUpdateRequest.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/request/LogUpdateRequest.java deleted file mode 100644 index 6f8cc674..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/request/LogUpdateRequest.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.model.request; - -/** - * Request entity for log operator interface. - * - * @author wuzhiguo - */ -public class LogUpdateRequest { - - private String logName; - - private String logLevel; - - public String getLogName() { - return logName; - } - - public void setLogName(String logName) { - this.logName = logName; - } - - public String getLogLevel() { - return logLevel; - } - - public void setLogLevel(String logLevel) { - this.logLevel = logLevel; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/request/LookupUpdateRequest.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/request/LookupUpdateRequest.java deleted file mode 100644 index 56d6e5bc..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/request/LookupUpdateRequest.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.model.request; - -/** - * Update member lookup type. - * - * @author wuzhiguo - */ -public class LookupUpdateRequest { - - private String type; - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/vo/IdGeneratorVO.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/vo/IdGeneratorVO.java deleted file mode 100644 index 60a0ddab..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/model/vo/IdGeneratorVO.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.model.vo; - -/** - * Id generator vo. - * - * @author wuzhiguo - */ -public class IdGeneratorVO { - - private String resource; - - private IdInfo info; - - public String getResource() { - return resource; - } - - public void setResource(String resource) { - this.resource = resource; - } - - public IdInfo getInfo() { - return info; - } - - public void setInfo(IdInfo info) { - this.info = info; - } - - public static class IdInfo { - - private Long currentId; - - private Long workerId; - - public Long getCurrentId() { - return currentId; - } - - public void setCurrentId(Long currentId) { - this.currentId = currentId; - } - - public Long getWorkerId() { - return workerId; - } - - public void setWorkerId(Long workerId) { - this.workerId = workerId; - } - - @Override - public String toString() { - return "IdInfo{" + "currentId=" + currentId + ", workerId=" + workerId + '}'; - } - } - - @Override - public String toString() { - return "IdGeneratorVO{" + "resource='" + resource + '\'' + ", info=" + info + '}'; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/monitor/MetricsMonitor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/monitor/MetricsMonitor.java deleted file mode 100644 index dce43301..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/monitor/MetricsMonitor.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.monitor; - -import io.micrometer.core.instrument.DistributionSummary; -import io.micrometer.core.instrument.ImmutableTag; -import io.micrometer.core.instrument.Metrics; -import io.micrometer.core.instrument.Tag; -import io.micrometer.core.instrument.Timer; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; - -/** - * The Metrics center. - * - * @author liaochuntao - */ -public final class MetricsMonitor { - - private static final DistributionSummary RAFT_READ_INDEX_FAILED; - - private static final DistributionSummary RAFT_FROM_LEADER; - - private static final Timer RAFT_APPLY_LOG_TIMER; - - private static final Timer RAFT_APPLY_READ_TIMER; - - private static AtomicInteger longConnection = new AtomicInteger(); - - static { - RAFT_READ_INDEX_FAILED = NacosMeterRegistry.summary("protocol", "raft_read_index_failed"); - RAFT_FROM_LEADER = NacosMeterRegistry.summary("protocol", "raft_read_from_leader"); - - RAFT_APPLY_LOG_TIMER = NacosMeterRegistry.timer("protocol", "raft_apply_log_timer"); - RAFT_APPLY_READ_TIMER = NacosMeterRegistry.timer("protocol", "raft_apply_read_timer"); - - List tags = new ArrayList<>(); - tags.add(new ImmutableTag("module", "config")); - tags.add(new ImmutableTag("name", "longConnection")); - Metrics.gauge("nacos_monitor", tags, longConnection); - - } - - public static AtomicInteger getLongConnectionMonitor() { - return longConnection; - } - - public static void raftReadIndexFailed() { - RAFT_READ_INDEX_FAILED.record(1); - } - - public static void raftReadFromLeader() { - RAFT_FROM_LEADER.record(1); - } - - public static Timer getRaftApplyLogTimer() { - return RAFT_APPLY_LOG_TIMER; - } - - public static Timer getRaftApplyReadTimer() { - return RAFT_APPLY_READ_TIMER; - } - - public static DistributionSummary getRaftReadIndexFailed() { - return RAFT_READ_INDEX_FAILED; - } - - public static DistributionSummary getRaftFromLeader() { - return RAFT_FROM_LEADER; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/monitor/NacosMeterRegistry.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/monitor/NacosMeterRegistry.java deleted file mode 100644 index c2686c67..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/monitor/NacosMeterRegistry.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.monitor; - -import io.micrometer.core.instrument.DistributionSummary; -import io.micrometer.core.instrument.ImmutableTag; -import io.micrometer.core.instrument.Tag; -import io.micrometer.core.instrument.Timer; -import io.micrometer.core.instrument.composite.CompositeMeterRegistry; - -import java.util.ArrayList; -import java.util.List; - -/** - * Metrics unified usage center. - * - * @author liaochuntao - */ -@SuppressWarnings("all") -public final class NacosMeterRegistry { - - private static final CompositeMeterRegistry METER_REGISTRY = new CompositeMeterRegistry(); - - public static DistributionSummary summary(String module, String name) { - ImmutableTag moduleTag = new ImmutableTag("module", module); - List tags = new ArrayList<>(); - tags.add(moduleTag); - tags.add(new ImmutableTag("name", name)); - return METER_REGISTRY.summary("nacos_monitor", tags); - } - - public static Timer timer(String module, String name) { - ImmutableTag moduleTag = new ImmutableTag("module", module); - List tags = new ArrayList<>(); - tags.add(moduleTag); - tags.add(new ImmutableTag("name", name)); - return METER_REGISTRY.timer("nacos_monitor", tags); - } - - public static CompositeMeterRegistry getMeterRegistry() { - return METER_REGISTRY; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/AbstractRequestFilter.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/AbstractRequestFilter.java deleted file mode 100644 index b8156e06..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/AbstractRequestFilter.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.request.Request; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.response.Response; -import org.springframework.beans.factory.annotation.Autowired; - -import javax.annotation.PostConstruct; -import java.lang.reflect.Method; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; - -/** - * interceptor fo request. - * - * @author liuzunfei - * @version $Id: AbstractRequestFilter.java, v 0.1 2020年09月14日 11:46 AM liuzunfei Exp $ - */ -public abstract class AbstractRequestFilter { - - @Autowired - private RequestFilters requestFilters; - - public AbstractRequestFilter() { - } - - @PostConstruct - public void init() { - requestFilters.registerFilter(this); - } - - protected Class getResponseClazz(Class handlerClazz) throws NacosException { - ParameterizedType parameterizedType = (ParameterizedType) handlerClazz.getGenericSuperclass(); - try { - Type[] actualTypeArguments = parameterizedType.getActualTypeArguments(); - return Class.forName(actualTypeArguments[1].getTypeName()); - - } catch (Exception e) { - throw new NacosException(NacosException.SERVER_ERROR, e); - } - } - - protected Method getHandleMethod(Class handlerClazz) throws NacosException { - try { - Method method = handlerClazz.getMethod("handle", Request.class, RequestMeta.class); - return method; - } catch (NoSuchMethodException e) { - throw new NacosException(NacosException.SERVER_ERROR, e); - } - } - - protected Response getDefaultResponseInstance(Class handlerClazz) throws NacosException { - ParameterizedType parameterizedType = (ParameterizedType) handlerClazz.getGenericSuperclass(); - try { - Type[] actualTypeArguments = parameterizedType.getActualTypeArguments(); - return (Response) Class.forName(actualTypeArguments[1].getTypeName()).newInstance(); - - } catch (Exception e) { - throw new NacosException(NacosException.SERVER_ERROR, e); - } - } - - /** - * filter request. - * - * @param request request. - * @param meta request meta. - * @param handlerClazz request handler clazz. - * @return response - * @throws NacosException NacosException. - */ - protected abstract Response filter(Request request, RequestMeta meta, Class handlerClazz) throws NacosException; -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/BaseRpcServer.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/BaseRpcServer.java deleted file mode 100644 index 3b6b5066..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/BaseRpcServer.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.common.remote.ConnectionType; -import com.alibaba.nacos.common.remote.PayloadRegistry; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.EnvUtil; - -import javax.annotation.PostConstruct; -import javax.annotation.PreDestroy; - -/** - * abstract rpc server . - * - * @author liuzunfei - * @version $Id: BaseRpcServer.java, v 0.1 2020年07月13日 3:41 PM liuzunfei Exp $ - */ -public abstract class BaseRpcServer { - - static { - PayloadRegistry.init(); - } - - /** - * Start sever. - */ - @PostConstruct - public void start() throws Exception { - String serverName = getClass().getSimpleName(); - Loggers.REMOTE.info("Nacos {} Rpc server starting at port {}", serverName, getServicePort()); - - startServer(); - - Loggers.REMOTE.info("Nacos {} Rpc server started at port {}", serverName, getServicePort()); - Runtime.getRuntime().addShutdownHook(new Thread(() -> { - Loggers.REMOTE.info("Nacos {} Rpc server stopping", serverName); - try { - BaseRpcServer.this.stopServer(); - Loggers.REMOTE.info("Nacos {} Rpc server stopped successfully...", serverName); - } catch (Exception e) { - Loggers.REMOTE.error("Nacos {} Rpc server stopped fail...", serverName, e); - } - })); - - } - - /** - * get connection type. - * - * @return connection type. - */ - public abstract ConnectionType getConnectionType(); - - /** - * Start sever. - * - * @throws Exception exception throw if start server fail. - */ - public abstract void startServer() throws Exception; - - /** - * the increase offset of nacos server port for rpc server port. - * - * @return delta port offset of main port. - */ - public abstract int rpcPortOffset(); - - /** - * get service port. - * - * @return service port. - */ - public int getServicePort() { - return EnvUtil.getPort() + rpcPortOffset(); - } - - /** - * Stop Server. - * - * @throws Exception throw if stop server fail. - */ - public final void stopServer() throws Exception { - shutdownServer(); - } - - /** - * the increase offset of nacos server port for rpc server port. - */ - @PreDestroy - public abstract void shutdownServer(); - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ClientConnectionEventListener.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ClientConnectionEventListener.java deleted file mode 100644 index 2a92a628..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ClientConnectionEventListener.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import org.springframework.beans.factory.annotation.Autowired; - -import javax.annotation.PostConstruct; - -/** - * ClientConnectionEventListener. - * - * @author liuzunfei - * @version $Id: ClientConnectionEventListener.java, v 0.1 2020年07月16日 3:06 PM liuzunfei Exp $ - */ -@SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule") -public abstract class ClientConnectionEventListener { - - /** - * listener name. - */ - private String name; - - @Autowired - protected ClientConnectionEventListenerRegistry clientConnectionEventListenerRegistry; - - @PostConstruct - public void init() { - clientConnectionEventListenerRegistry.registerClientConnectionEventListener(this); - } - - /** - * Getter method for property name. - * - * @return property value of name - */ - public String getName() { - return name; - } - - /** - * Setter method for property name. - * - * @param name value to be assigned to property name - */ - public void setName(String name) { - this.name = name; - } - - /** - * notified when a client connected. - * - * @param connect connect. - */ - public abstract void clientConnected(Connection connect); - - /** - * notified when a client disconnected. - * - * @param connect connect. - */ - public abstract void clientDisConnected(Connection connect); - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ClientConnectionEventListenerRegistry.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ClientConnectionEventListenerRegistry.java deleted file mode 100644 index 3abe92e7..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ClientConnectionEventListenerRegistry.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.core.utils.Loggers; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -/** - * registry for client connection event listeners. - * - * @author liuzunfei - * @version $Id: ClientConnectionEventListenerRegistry.java, v 0.1 2020年07月20日 1:47 PM liuzunfei Exp $ - */ -@Service -public class ClientConnectionEventListenerRegistry { - - final List clientConnectionEventListeners = new ArrayList<>(); - - /** - * notify where a new client connected. - * - * @param connection connection that new created. - */ - public void notifyClientConnected(final Connection connection) { - - for (ClientConnectionEventListener clientConnectionEventListener : clientConnectionEventListeners) { - try { - clientConnectionEventListener.clientConnected(connection); - } catch (Throwable throwable) { - Loggers.REMOTE - .info("[NotifyClientConnected] failed for listener {}", clientConnectionEventListener.getName(), - throwable); - - } - } - - } - - /** - * notify where a new client disconnected. - * - * @param connection connection that disconnected. - */ - public void notifyClientDisConnected(final Connection connection) { - - for (ClientConnectionEventListener clientConnectionEventListener : clientConnectionEventListeners) { - try { - clientConnectionEventListener.clientDisConnected(connection); - } catch (Throwable throwable) { - Loggers.REMOTE.info("[NotifyClientDisConnected] failed for listener {}", - clientConnectionEventListener.getName(), throwable); - } - } - - } - - /** - * register ClientConnectionEventListener. - * - * @param listener listener. - */ - public void registerClientConnectionEventListener(ClientConnectionEventListener listener) { - Loggers.REMOTE.info("[ClientConnectionEventListenerRegistry] registry listener - " + listener.getClass() - .getSimpleName()); - this.clientConnectionEventListeners.add(listener); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/Connection.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/Connection.java deleted file mode 100644 index 96eace5e..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/Connection.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.api.ability.ClientAbilities; -import com.alibaba.nacos.api.remote.Requester; - -import java.util.Map; - -/** - * Connection. - * - * @author liuzunfei - * @version $Id: Connection.java, v 0.1 2020年07月13日 7:08 PM liuzunfei Exp $ - */ -@SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule") -public abstract class Connection implements Requester { - - private boolean traced = false; - - private ClientAbilities abilities; - - private final ConnectionMeta metaInfo; - - public Connection(ConnectionMeta metaInfo) { - this.metaInfo = metaInfo; - } - - public Map getLabels() { - return metaInfo.getLabels(); - } - - public boolean isTraced() { - return traced; - } - - public void setTraced(boolean traced) { - this.traced = traced; - } - - /** - * get abilities. - * - * @return - */ - public ClientAbilities getAbilities() { - return abilities; - } - - /** - * set abilities. - * - * @param abilities abilities. - */ - public void setAbilities(ClientAbilities abilities) { - this.abilities = abilities; - } - - /** - * check is connected. - * - * @return if connection or not,check the inner connection is active. - */ - public abstract boolean isConnected(); - - /** - * Update last Active Time to now. - */ - public void freshActiveTime() { - metaInfo.setLastActiveTime(System.currentTimeMillis()); - } - - /** - * Getter method for property metaInfo. - * - * @return property value of metaInfo - */ - public ConnectionMeta getMetaInfo() { - return metaInfo; - } - - @Override - public String toString() { - return "Connection{" + "traced=" + traced + ", abilities=" + abilities + ", metaInfo=" + metaInfo + '}'; - } -} - diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ConnectionManager.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ConnectionManager.java deleted file mode 100644 index c3ae2393..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ConnectionManager.java +++ /dev/null @@ -1,759 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.api.common.Constants; -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.RemoteConstants; -import com.alibaba.nacos.api.remote.RequestCallBack; -import com.alibaba.nacos.api.remote.RpcScheduledExecutor; -import com.alibaba.nacos.api.remote.request.ClientDetectionRequest; -import com.alibaba.nacos.api.remote.request.ConnectResetRequest; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.api.utils.NetUtils; -import com.alibaba.nacos.common.notify.Event; -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.common.notify.listener.Subscriber; -import com.alibaba.nacos.common.remote.exception.ConnectionAlreadyClosedException; -import com.alibaba.nacos.common.utils.CollectionUtils; -import com.alibaba.nacos.common.utils.JacksonUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.common.utils.VersionUtils; -import com.alibaba.nacos.core.monitor.MetricsMonitor; -import com.alibaba.nacos.core.remote.event.ConnectionLimitRuleChangeEvent; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.sys.file.FileChangeEvent; -import com.alibaba.nacos.sys.file.FileWatcher; -import com.alibaba.nacos.sys.file.WatchFileCenter; -import com.alibaba.nacos.sys.utils.DiskUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.annotation.PostConstruct; -import java.io.File; -import java.io.IOException; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.Executor; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; - -/** - * connect manager. - * - * @author liuzunfei - * @version $Id: ConnectionManager.java, v 0.1 2020年07月13日 7:07 PM liuzunfei Exp $ - */ -@Service -public class ConnectionManager extends Subscriber { - - public static final String RULE_FILE_NAME = "limitRule"; - - /** - * 4 times of client keep alive. - */ - private static final long KEEP_ALIVE_TIME = 20000L; - - /** - * connection limit rule. - */ - private ConnectionLimitRule connectionLimitRule = new ConnectionLimitRule(); - - /** - * current loader adjust count,only effective once,use to re balance. - */ - private int loadClient = -1; - - String redirectAddress = null; - - private Map connectionForClientIp = new ConcurrentHashMap<>(16); - - Map connections = new ConcurrentHashMap<>(); - - @Autowired - private ClientConnectionEventListenerRegistry clientConnectionEventListenerRegistry; - - public ConnectionManager() { - NotifyCenter.registerToPublisher(ConnectionLimitRuleChangeEvent.class, NotifyCenter.ringBufferSize); - NotifyCenter.registerSubscriber(this); - } - - /** - * if monitor detail. - * - * @param clientIp clientIp. - * @return - */ - public boolean traced(String clientIp) { - return connectionLimitRule != null && connectionLimitRule.getMonitorIpList() != null && connectionLimitRule - .getMonitorIpList().contains(clientIp); - } - - @PostConstruct - protected void initLimitRue() { - try { - loadRuleFromLocal(); - registerFileWatch(); - } catch (Exception e) { - Loggers.REMOTE.warn("Fail to init limit rue from local ,error= ", e); - } - } - - /** - * check connection id is valid. - * - * @param connectionId connectionId to be check. - * @return is valid or not. - */ - public boolean checkValid(String connectionId) { - return connections.containsKey(connectionId); - } - - /** - * register a new connect. - * - * @param connectionId connectionId - * @param connection connection - */ - public synchronized boolean register(String connectionId, Connection connection) { - - if (connection.isConnected()) { - if (connections.containsKey(connectionId)) { - return true; - } - if (!checkLimit(connection)) { - return false; - } - if (traced(connection.getMetaInfo().clientIp)) { - connection.setTraced(true); - } - connections.put(connectionId, connection); - connectionForClientIp.get(connection.getMetaInfo().clientIp).getAndIncrement(); - - clientConnectionEventListenerRegistry.notifyClientConnected(connection); - Loggers.REMOTE_DIGEST - .info("new connection registered successfully, connectionId = {},connection={} ", connectionId, - connection); - return true; - - } - return false; - - } - - private boolean checkLimit(Connection connection) { - String clientIp = connection.getMetaInfo().clientIp; - - if (connection.getMetaInfo().isClusterSource()) { - if (!connectionForClientIp.containsKey(clientIp)) { - connectionForClientIp.putIfAbsent(clientIp, new AtomicInteger(0)); - } - return true; - } - if (isOverLimit()) { - return false; - } - - if (!connectionForClientIp.containsKey(clientIp)) { - connectionForClientIp.putIfAbsent(clientIp, new AtomicInteger(0)); - } - - AtomicInteger currentCount = connectionForClientIp.get(clientIp); - - if (connectionLimitRule != null) { - // 1.check rule of specific client ip limit. - if (connectionLimitRule.getCountLimitPerClientIp().containsKey(clientIp)) { - Integer integer = connectionLimitRule.getCountLimitPerClientIp().get(clientIp); - if (integer != null && integer >= 0) { - return currentCount.get() < integer; - } - } - // 2.check rule of specific client app limit. - String appName = connection.getMetaInfo().getAppName(); - if (StringUtils.isNotBlank(appName) && connectionLimitRule.getCountLimitPerClientApp() - .containsKey(appName)) { - Integer integerApp = connectionLimitRule.getCountLimitPerClientApp().get(appName); - if (integerApp != null && integerApp >= 0) { - return currentCount.get() < integerApp; - } - } - - // 3.check rule of default client ip. - int countLimitPerClientIpDefault = connectionLimitRule.getCountLimitPerClientIpDefault(); - return countLimitPerClientIpDefault <= 0 || currentCount.get() < countLimitPerClientIpDefault; - } - - return true; - - } - - /** - * unregister a connection . - * - * @param connectionId connectionId. - */ - public synchronized void unregister(String connectionId) { - Connection remove = this.connections.remove(connectionId); - if (remove != null) { - String clientIp = remove.getMetaInfo().clientIp; - AtomicInteger atomicInteger = connectionForClientIp.get(clientIp); - if (atomicInteger != null) { - int count = atomicInteger.decrementAndGet(); - if (count <= 0) { - connectionForClientIp.remove(clientIp); - } - } - remove.close(); - Loggers.REMOTE_DIGEST.info("[{}]Connection unregistered successfully. ", connectionId); - clientConnectionEventListenerRegistry.notifyClientDisConnected(remove); - } - } - - /** - * get by connection id. - * - * @param connectionId connection id. - * @return connection of the id. - */ - public Connection getConnection(String connectionId) { - return connections.get(connectionId); - } - - /** - * get by client ip. - * - * @param clientIp client ip. - * @return connections of the client ip. - */ - public List getConnectionByIp(String clientIp) { - Set> entries = connections.entrySet(); - List connections = new ArrayList<>(); - for (Map.Entry entry : entries) { - Connection value = entry.getValue(); - if (clientIp.equals(value.getMetaInfo().clientIp)) { - connections.add(value); - } - } - return connections; - } - - /** - * get current connections count. - * - * @return get all connection count - */ - public int getCurrentConnectionCount() { - return this.connections.size(); - } - - /** - * regresh connection active time. - * - * @param connectionId connectionId. - */ - public void refreshActiveTime(String connectionId) { - Connection connection = connections.get(connectionId); - if (connection != null) { - connection.freshActiveTime(); - } - } - - /** - * Start Task:Expel the connection which active Time expire. - */ - @PostConstruct - public void start() { - - // Start UnHealthy Connection Expel Task. - RpcScheduledExecutor.COMMON_SERVER_EXECUTOR.scheduleWithFixedDelay(() -> { - try { - - int totalCount = connections.size(); - Loggers.REMOTE_DIGEST.info("Connection check task start"); - MetricsMonitor.getLongConnectionMonitor().set(totalCount); - Set> entries = connections.entrySet(); - int currentSdkClientCount = currentSdkClientCount(); - boolean isLoaderClient = loadClient >= 0; - int currentMaxClient = isLoaderClient ? loadClient : connectionLimitRule.countLimit; - int expelCount = currentMaxClient < 0 ? 0 : Math.max(currentSdkClientCount - currentMaxClient, 0); - - Loggers.REMOTE_DIGEST - .info("Total count ={}, sdkCount={},clusterCount={}, currentLimit={}, toExpelCount={}", - totalCount, currentSdkClientCount, (totalCount - currentSdkClientCount), - currentMaxClient + (isLoaderClient ? "(loaderCount)" : ""), expelCount); - - List expelClient = new LinkedList<>(); - - Map expelForIp = new HashMap<>(16); - - //1. calculate expel count of ip. - for (Map.Entry entry : entries) { - - Connection client = entry.getValue(); - String appName = client.getMetaInfo().getAppName(); - String clientIp = client.getMetaInfo().getClientIp(); - if (client.getMetaInfo().isSdkSource() && !expelForIp.containsKey(clientIp)) { - //get limit for current ip. - int countLimitOfIp = connectionLimitRule.getCountLimitOfIp(clientIp); - if (countLimitOfIp < 0) { - int countLimitOfApp = connectionLimitRule.getCountLimitOfApp(appName); - countLimitOfIp = countLimitOfApp < 0 ? countLimitOfIp : countLimitOfApp; - } - if (countLimitOfIp < 0) { - countLimitOfIp = connectionLimitRule.getCountLimitPerClientIpDefault(); - } - - if (countLimitOfIp >= 0 && connectionForClientIp.containsKey(clientIp)) { - AtomicInteger currentCountIp = connectionForClientIp.get(clientIp); - if (currentCountIp != null && currentCountIp.get() > countLimitOfIp) { - expelForIp.put(clientIp, new AtomicInteger(currentCountIp.get() - countLimitOfIp)); - } - } - } - } - - Loggers.REMOTE_DIGEST - .info("Check over limit for ip limit rule, over limit ip count={}", expelForIp.size()); - - if (expelForIp.size() > 0) { - Loggers.REMOTE_DIGEST.info("Over limit ip expel info, {}", expelForIp); - } - - Set outDatedConnections = new HashSet<>(); - long now = System.currentTimeMillis(); - //2.get expel connection for ip limit. - for (Map.Entry entry : entries) { - Connection client = entry.getValue(); - String clientIp = client.getMetaInfo().getClientIp(); - AtomicInteger integer = expelForIp.get(clientIp); - if (integer != null && integer.intValue() > 0) { - integer.decrementAndGet(); - expelClient.add(client.getMetaInfo().getConnectionId()); - expelCount--; - } else if (now - client.getMetaInfo().getLastActiveTime() >= KEEP_ALIVE_TIME) { - outDatedConnections.add(client.getMetaInfo().getConnectionId()); - } - - } - - //3. if total count is still over limit. - if (expelCount > 0) { - for (Map.Entry entry : entries) { - Connection client = entry.getValue(); - if (!expelForIp.containsKey(client.getMetaInfo().clientIp) && client.getMetaInfo() - .isSdkSource() && expelCount > 0) { - expelClient.add(client.getMetaInfo().getConnectionId()); - expelCount--; - outDatedConnections.remove(client.getMetaInfo().getConnectionId()); - } - } - } - - String serverIp = null; - String serverPort = null; - if (StringUtils.isNotBlank(redirectAddress) && redirectAddress.contains(Constants.COLON)) { - String[] split = redirectAddress.split(Constants.COLON); - serverIp = split[0]; - serverPort = split[1]; - } - - for (String expelledClientId : expelClient) { - try { - Connection connection = getConnection(expelledClientId); - if (connection != null) { - ConnectResetRequest connectResetRequest = new ConnectResetRequest(); - connectResetRequest.setServerIp(serverIp); - connectResetRequest.setServerPort(serverPort); - connection.asyncRequest(connectResetRequest, null); - Loggers.REMOTE_DIGEST - .info("Send connection reset request , connection id = {},recommendServerIp={}, recommendServerPort={}", - expelledClientId, connectResetRequest.getServerIp(), - connectResetRequest.getServerPort()); - } - - } catch (ConnectionAlreadyClosedException e) { - unregister(expelledClientId); - } catch (Exception e) { - Loggers.REMOTE_DIGEST.error("Error occurs when expel connection, expelledClientId:{}", expelledClientId, e); - } - } - - //4.client active detection. - Loggers.REMOTE_DIGEST.info("Out dated connection ,size={}", outDatedConnections.size()); - if (CollectionUtils.isNotEmpty(outDatedConnections)) { - Set successConnections = new HashSet<>(); - final CountDownLatch latch = new CountDownLatch(outDatedConnections.size()); - for (String outDateConnectionId : outDatedConnections) { - try { - Connection connection = getConnection(outDateConnectionId); - if (connection != null) { - ClientDetectionRequest clientDetectionRequest = new ClientDetectionRequest(); - connection.asyncRequest(clientDetectionRequest, new RequestCallBack() { - @Override - public Executor getExecutor() { - return null; - } - - @Override - public long getTimeout() { - return 1000L; - } - - @Override - public void onResponse(Response response) { - latch.countDown(); - if (response != null && response.isSuccess()) { - connection.freshActiveTime(); - successConnections.add(outDateConnectionId); - } - } - - @Override - public void onException(Throwable e) { - latch.countDown(); - } - }); - - Loggers.REMOTE_DIGEST - .info("[{}]send connection active request ", outDateConnectionId); - } else { - latch.countDown(); - } - - } catch (ConnectionAlreadyClosedException e) { - latch.countDown(); - } catch (Exception e) { - Loggers.REMOTE_DIGEST - .error("[{}]Error occurs when check client active detection ,error={}", - outDateConnectionId, e); - latch.countDown(); - } - } - - latch.await(3000L, TimeUnit.MILLISECONDS); - Loggers.REMOTE_DIGEST - .info("Out dated connection check successCount={}", successConnections.size()); - - for (String outDateConnectionId : outDatedConnections) { - if (!successConnections.contains(outDateConnectionId)) { - Loggers.REMOTE_DIGEST - .info("[{}]Unregister Out dated connection....", outDateConnectionId); - unregister(outDateConnectionId); - } - } - } - - //reset loader client - - if (isLoaderClient) { - loadClient = -1; - redirectAddress = null; - } - - Loggers.REMOTE_DIGEST.info("Connection check task end"); - - } catch (Throwable e) { - Loggers.REMOTE.error("Error occurs during connection check... ", e); - } - }, 1000L, 3000L, TimeUnit.MILLISECONDS); - - } - - private RequestMeta buildMeta() { - RequestMeta meta = new RequestMeta(); - meta.setClientVersion(VersionUtils.getFullClientVersion()); - meta.setClientIp(NetUtils.localIP()); - return meta; - } - - public void loadCount(int loadClient, String redirectAddress) { - this.loadClient = loadClient; - this.redirectAddress = redirectAddress; - } - - /** - * send load request to spefic connetionId. - * - * @param connectionId connection id of client. - * @param redirectAddress server address to redirect. - */ - public void loadSingle(String connectionId, String redirectAddress) { - Connection connection = getConnection(connectionId); - - if (connection != null) { - if (connection.getMetaInfo().isSdkSource()) { - ConnectResetRequest connectResetRequest = new ConnectResetRequest(); - if (StringUtils.isNotBlank(redirectAddress) && redirectAddress.contains(Constants.COLON)) { - String[] split = redirectAddress.split(Constants.COLON); - connectResetRequest.setServerIp(split[0]); - connectResetRequest.setServerPort(split[1]); - } - try { - connection.request(connectResetRequest, 3000L); - } catch (ConnectionAlreadyClosedException e) { - unregister(connectionId); - } catch (Exception e) { - Loggers.REMOTE.error("error occurs when expel connection, connectionId: {} ", connectionId, e); - } - } - } - - } - - /** - * get all client count. - * - * @return client count. - */ - public int currentClientsCount() { - return connections.size(); - } - - /** - * get client count with labels filter. - * - * @param filterLabels label to filter client count. - * @return count with the specific filter labels. - */ - public int currentClientsCount(Map filterLabels) { - int count = 0; - for (Connection connection : connections.values()) { - Map labels = connection.getMetaInfo().labels; - boolean disMatchFound = false; - for (Map.Entry entry : filterLabels.entrySet()) { - if (!entry.getValue().equals(labels.get(entry.getKey()))) { - disMatchFound = true; - break; - } - } - if (!disMatchFound) { - count++; - } - } - return count; - } - - /** - * get client count from sdk. - * - * @return sdk client count. - */ - public int currentSdkClientCount() { - Map filter = new HashMap<>(2); - filter.put(RemoteConstants.LABEL_SOURCE, RemoteConstants.LABEL_SOURCE_SDK); - return currentClientsCount(filter); - } - - public Map currentClients() { - return connections; - } - - /** - * check if over limit. - * - * @return over limit or not. - */ - private boolean isOverLimit() { - return connectionLimitRule.countLimit > 0 && currentSdkClientCount() >= connectionLimitRule.getCountLimit(); - } - - @Override - public void onEvent(ConnectionLimitRuleChangeEvent event) { - String limitRule = event.getLimitRule(); - Loggers.REMOTE.info("connection limit rule change event receive :{}", limitRule); - - try { - ConnectionLimitRule connectionLimitRule = JacksonUtils.toObj(limitRule, ConnectionLimitRule.class); - if (connectionLimitRule != null) { - this.connectionLimitRule = connectionLimitRule; - - try { - saveRuleToLocal(this.connectionLimitRule); - } catch (Exception e) { - Loggers.REMOTE.warn("Fail to save rule to local error is ", e); - } - } else { - Loggers.REMOTE.info("Parse rule is null,Ignore illegal rule :{}", limitRule); - } - - } catch (Exception e) { - Loggers.REMOTE.error("Fail to parse connection limit rule :{}", limitRule, e); - } - } - - @Override - public Class subscribeType() { - return ConnectionLimitRuleChangeEvent.class; - } - - static class ConnectionLimitRule { - - private Set monitorIpList = new HashSet<>(); - - private int countLimit = -1; - - private int countLimitPerClientIpDefault = -1; - - private Map countLimitPerClientIp = new HashMap<>(); - - private Map countLimitPerClientApp = new HashMap<>(); - - public int getCountLimit() { - return countLimit; - } - - public void setCountLimit(int countLimit) { - this.countLimit = countLimit; - } - - public int getCountLimitPerClientIpDefault() { - return countLimitPerClientIpDefault; - } - - public void setCountLimitPerClientIpDefault(int countLimitPerClientIpDefault) { - this.countLimitPerClientIpDefault = countLimitPerClientIpDefault; - } - - public int getCountLimitOfIp(String clientIp) { - if (countLimitPerClientIp.containsKey(clientIp)) { - Integer integer = countLimitPerClientIp.get(clientIp); - if (integer != null && integer >= 0) { - return integer; - } - } - return -1; - } - - public int getCountLimitOfApp(String appName) { - if (countLimitPerClientApp.containsKey(appName)) { - Integer integer = countLimitPerClientApp.get(appName); - if (integer != null && integer >= 0) { - return integer; - } - } - return -1; - } - - public Map getCountLimitPerClientIp() { - return countLimitPerClientIp; - } - - public void setCountLimitPerClientIp(Map countLimitPerClientIp) { - this.countLimitPerClientIp = countLimitPerClientIp; - } - - public Map getCountLimitPerClientApp() { - return countLimitPerClientApp; - } - - public void setCountLimitPerClientApp(Map countLimitPerClientApp) { - this.countLimitPerClientApp = countLimitPerClientApp; - } - - public Set getMonitorIpList() { - return monitorIpList; - } - - public void setMonitorIpList(Set monitorIpList) { - this.monitorIpList = monitorIpList; - } - } - - public ConnectionLimitRule getConnectionLimitRule() { - return connectionLimitRule; - } - - private synchronized void loadRuleFromLocal() throws Exception { - File limitFile = getRuleFile(); - if (!limitFile.exists()) { - limitFile.createNewFile(); - } - - String ruleContent = DiskUtils.readFile(limitFile); - ConnectionLimitRule connectionLimitRule = StringUtils.isBlank(ruleContent) ? new ConnectionLimitRule() - : JacksonUtils.toObj(ruleContent, ConnectionLimitRule.class); - // apply rule. - if (connectionLimitRule != null) { - this.connectionLimitRule = connectionLimitRule; - Set monitorIpList = connectionLimitRule.monitorIpList; - for (Connection connection : this.connections.values()) { - String clientIp = connection.getMetaInfo().getClientIp(); - if (!CollectionUtils.isEmpty(monitorIpList) && monitorIpList.contains(clientIp)) { - connection.setTraced(true); - } else { - connection.setTraced(false); - } - } - - } - Loggers.REMOTE.info("Init loader limit rule from local,rule={}", ruleContent); - - } - - private synchronized void saveRuleToLocal(ConnectionLimitRule limitRule) throws IOException { - - File limitFile = getRuleFile(); - if (!limitFile.exists()) { - limitFile.createNewFile(); - } - DiskUtils.writeFile(limitFile, JacksonUtils.toJson(limitRule).getBytes(Constants.ENCODE), false); - } - - private File getRuleFile() { - File baseDir = new File(EnvUtil.getNacosHome(), "data" + File.separator + "loader" + File.separator); - if (!baseDir.exists()) { - baseDir.mkdir(); - } - return new File(baseDir, RULE_FILE_NAME); - } - - private void registerFileWatch() { - try { - String tpsPath = Paths.get(EnvUtil.getNacosHome(), "data", "loader").toString(); - WatchFileCenter.registerWatcher(tpsPath, new FileWatcher() { - @Override - public void onChange(FileChangeEvent event) { - try { - String fileName = event.getContext().toString(); - if (RULE_FILE_NAME.equals(fileName)) { - loadRuleFromLocal(); - } - } catch (Throwable throwable) { - Loggers.REMOTE.warn("Fail to load rule from local", throwable); - } - } - - @Override - public boolean interest(String context) { - return RULE_FILE_NAME.equals(context); - } - }); - } catch (NacosException e) { - Loggers.REMOTE.warn("Register connection rule fail ", e); - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ConnectionMeta.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ConnectionMeta.java deleted file mode 100644 index 2fc085b8..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/ConnectionMeta.java +++ /dev/null @@ -1,303 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.api.remote.RemoteConstants; - -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import static com.alibaba.nacos.api.common.Constants.VIPSERVER_TAG; - -/** - * ConnectionMetaInfo. - * - * @author liuzunfei - * @version $Id: ConnectionMetaInfo.java, v 0.1 2020年07月13日 7:28 PM liuzunfei Exp $ - */ -public class ConnectionMeta { - - /** - * ConnectionType. - */ - String connectType; - - /** - * Client IP Address. - */ - String clientIp; - - /** - * Remote IP Address. - */ - String remoteIp; - - /** - * Remote IP Port. - */ - int remotePort; - - /** - * Local Ip Port. - */ - int localPort; - - /** - * Client version. - */ - String version; - - /** - * Identify Unique connectionId. - */ - String connectionId; - - /** - * create time. - */ - Date createTime; - - /** - * lastActiveTime. - */ - long lastActiveTime; - - /** - * String appName. - */ - String appName; - - /** - * tenant. - */ - String tenant; - - protected Map labels = new HashMap<>(); - - public String getLabel(String labelKey) { - return labels.get(labelKey); - } - - public String getTag() { - return labels.get(VIPSERVER_TAG); - } - - public ConnectionMeta(String connectionId, String clientIp, String remoteIp, int remotePort, int localPort, - String connectType, String version, String appName, Map labels) { - this.connectionId = connectionId; - this.clientIp = clientIp; - this.connectType = connectType; - this.version = version; - this.appName = appName; - this.remoteIp = remoteIp; - this.remotePort = remotePort; - this.localPort = localPort; - this.createTime = new Date(); - this.lastActiveTime = System.currentTimeMillis(); - this.labels.putAll(labels); - } - - /** - * check if this connection is sdk source. - * - * @return if this connection is sdk source. - */ - public boolean isSdkSource() { - String source = labels.get(RemoteConstants.LABEL_SOURCE); - return RemoteConstants.LABEL_SOURCE_SDK.equalsIgnoreCase(source); - } - - /** - * check if this connection is sdk source. - * - * @return if this connection is sdk source. - */ - public boolean isClusterSource() { - String source = labels.get(RemoteConstants.LABEL_SOURCE); - return RemoteConstants.LABEL_SOURCE_CLUSTER.equalsIgnoreCase(source); - } - - /** - * Getter method for property labels. - * - * @return property value of labels - */ - public Map getLabels() { - return labels; - } - - /** - * Setter method for property labels. - * - * @param labels value to be assigned to property labels - */ - public void setLabels(Map labels) { - this.labels = labels; - } - - /** - * Getter method for property clientIp. - * - * @return property value of clientIp - */ - public String getClientIp() { - return clientIp; - } - - /** - * Setter method for property clientIp. - * - * @param clientIp value to be assigned to property clientIp - */ - public void setClientIp(String clientIp) { - this.clientIp = clientIp; - } - - /** - * Getter method for property connectionId. - * - * @return property value of connectionId - */ - public String getConnectionId() { - return connectionId; - } - - /** - * Setter method for property connectionId. - * - * @param connectionId value to be assigned to property connectionId - */ - public void setConnectionId(String connectionId) { - this.connectionId = connectionId; - } - - /** - * Getter method for property createTime. - * - * @return property value of createTime - */ - public Date getCreateTime() { - return createTime; - } - - /** - * Setter method for property createTime. - * - * @param createTime value to be assigned to property createTime - */ - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - /** - * Getter method for property lastActiveTime. - * - * @return property value of lastActiveTime - */ - public long getLastActiveTime() { - return lastActiveTime; - } - - /** - * Setter method for property lastActiveTime. - * - * @param lastActiveTime value to be assigned to property lastActiveTime - */ - public void setLastActiveTime(long lastActiveTime) { - this.lastActiveTime = lastActiveTime; - } - - /** - * Getter method for property connectType. - * - * @return property value of connectType - */ - public String getConnectType() { - return connectType; - } - - /** - * Setter method for property connectType. - * - * @param connectType value to be assigned to property connectType - */ - public void setConnectType(String connectType) { - this.connectType = connectType; - } - - /** - * Getter method for property version. - * - * @return property value of version - */ - public String getVersion() { - return version; - } - - /** - * Setter method for property version. - * - * @param version value to be assigned to property version - */ - public void setVersion(String version) { - this.version = version; - } - - /** - * Getter method for property localPort. - * - * @return property value of localPort - */ - public int getLocalPort() { - return localPort; - } - - /** - * Setter method for property localPort. - * - * @param localPort value to be assigned to property localPort - */ - public void setLocalPort(int localPort) { - this.localPort = localPort; - } - - public String getAppName() { - return appName; - } - - public void setAppName(String appName) { - this.appName = appName; - } - - public String getTenant() { - return tenant; - } - - public void setTenant(String tenant) { - this.tenant = tenant; - } - - @Override - public String toString() { - return "ConnectionMeta{" + "connectType='" + connectType + '\'' + ", clientIp='" + clientIp + '\'' - + ", remoteIp='" + remoteIp + '\'' + ", remotePort=" + remotePort + ", localPort=" + localPort - + ", version='" + version + '\'' + ", connectionId='" + connectionId + '\'' + ", createTime=" - + createTime + ", lastActiveTime=" + lastActiveTime + ", appName='" + appName + '\'' + ", tenant='" - + tenant + '\'' + ", labels=" + labels + '}'; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/HealthCheckRequestHandler.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/HealthCheckRequestHandler.java deleted file mode 100644 index 7baec498..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/HealthCheckRequestHandler.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.request.HealthCheckRequest; -import com.alibaba.nacos.api.remote.response.HealthCheckResponse; -import com.alibaba.nacos.core.remote.control.TpsControl; -import org.springframework.stereotype.Component; - -/** - * push response to clients. - * - * @author liuzunfei - * @version $Id: PushService.java, v 0.1 2021年07月17日 1:12 PM liuzunfei Exp $ - */ -@Component -public class HealthCheckRequestHandler extends RequestHandler { - - @Override - @TpsControl(pointName = "HealthCheck") - public HealthCheckResponse handle(HealthCheckRequest request, RequestMeta meta) { - return new HealthCheckResponse(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestFilters.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestFilters.java deleted file mode 100644 index 4511da8b..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestFilters.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -/** - * filters of request. - * - * @author liuzunfei - * @version $Id: RequestFilters.java, v 0.1 2020年09月14日 12:00 PM liuzunfei Exp $ - */ -@Service -public class RequestFilters { - - List filters = new ArrayList<>(); - - public void registerFilter(AbstractRequestFilter requestFilter) { - filters.add(requestFilter); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestHandler.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestHandler.java deleted file mode 100644 index 96bd69f8..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestHandler.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.request.Request; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.core.utils.Loggers; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * Nacos based request handler. - * - * @author liuzunfei - * @author xiweng.yy - */ -@SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule") -public abstract class RequestHandler { - - @Autowired - private RequestFilters requestFilters; - - /** - * Handler request. - * - * @param request request - * @param meta request meta data - * @return response - * @throws NacosException nacos exception when handle request has problem. - */ - public Response handleRequest(T request, RequestMeta meta) throws NacosException { - for (AbstractRequestFilter filter : requestFilters.filters) { - try { - Response filterResult = filter.filter(request, meta, this.getClass()); - if (filterResult != null && !filterResult.isSuccess()) { - return filterResult; - } - } catch (Throwable throwable) { - Loggers.REMOTE.error("filter error", throwable); - } - - } - return handle(request, meta); - } - - /** - * Handler request. - * - * @param request request - * @param meta request meta data - * @return response - * @throws NacosException nacos exception when handle request has problem. - */ - public abstract S handle(T request, RequestMeta meta) throws NacosException; - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestHandlerRegistry.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestHandlerRegistry.java deleted file mode 100644 index 84f8639a..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RequestHandlerRegistry.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.api.remote.request.Request; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.core.remote.control.TpsControl; -import com.alibaba.nacos.core.remote.control.TpsControlConfig; -import com.alibaba.nacos.core.remote.control.TpsMonitorManager; -import com.alibaba.nacos.core.remote.control.TpsMonitorPoint; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationListener; -import org.springframework.context.event.ContextRefreshedEvent; -import org.springframework.stereotype.Service; - -import java.lang.reflect.Method; -import java.lang.reflect.ParameterizedType; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -/** - * RequestHandlerRegistry. - * - * @author liuzunfei - * @version $Id: RequestHandlerRegistry.java, v 0.1 2020年07月13日 8:24 PM liuzunfei Exp $ - */ - -@Service -public class RequestHandlerRegistry implements ApplicationListener { - - Map registryHandlers = new HashMap<>(); - - @Autowired - private TpsMonitorManager tpsMonitorManager; - - /** - * Get Request Handler By request Type. - * - * @param requestType see definitions of sub constants classes of RequestTypeConstants - * @return request handler. - */ - public RequestHandler getByRequestType(String requestType) { - return registryHandlers.get(requestType); - } - - @Override - public void onApplicationEvent(ContextRefreshedEvent event) { - Map beansOfType = event.getApplicationContext().getBeansOfType(RequestHandler.class); - Collection values = beansOfType.values(); - for (RequestHandler requestHandler : values) { - - Class clazz = requestHandler.getClass(); - boolean skip = false; - while (!clazz.getSuperclass().equals(RequestHandler.class)) { - if (clazz.getSuperclass().equals(Object.class)) { - skip = true; - break; - } - clazz = clazz.getSuperclass(); - } - if (skip) { - continue; - } - - try { - Method method = clazz.getMethod("handle", Request.class, RequestMeta.class); - if (method.isAnnotationPresent(TpsControl.class) && TpsControlConfig.isTpsControlEnabled()) { - TpsControl tpsControl = method.getAnnotation(TpsControl.class); - String pointName = tpsControl.pointName(); - TpsMonitorPoint tpsMonitorPoint = new TpsMonitorPoint(pointName); - tpsMonitorManager.registerTpsControlPoint(tpsMonitorPoint); - } - } catch (Exception e) { - //ignore. - } - Class tClass = (Class) ((ParameterizedType) clazz.getGenericSuperclass()).getActualTypeArguments()[0]; - registryHandlers.putIfAbsent(tClass.getSimpleName(), requestHandler); - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RpcAckCallbackSynchronizer.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RpcAckCallbackSynchronizer.java deleted file mode 100644 index d7a6e093..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RpcAckCallbackSynchronizer.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.DefaultRequestFuture; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.core.utils.Loggers; -import com.alipay.hessian.clhm.ConcurrentLinkedHashMap; - -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeoutException; - -/** - * server push ack synchronier. - * - * @author liuzunfei - * @version $Id: RpcAckCallbackSynchronizer.java, v 0.1 2020年07月29日 7:56 PM liuzunfei Exp $ - */ -public class RpcAckCallbackSynchronizer { - - @SuppressWarnings("checkstyle:linelength") - public static final Map> CALLBACK_CONTEXT = new ConcurrentLinkedHashMap.Builder>() - .maximumWeightedCapacity(1000000) - .listener((s, pushCallBack) -> pushCallBack.entrySet().forEach( - stringDefaultPushFutureEntry -> stringDefaultPushFutureEntry.getValue().setFailResult(new TimeoutException()))).build(); - - /** - * notify ack. - */ - public static void ackNotify(String connectionId, Response response) { - - Map stringDefaultPushFutureMap = CALLBACK_CONTEXT.get(connectionId); - if (stringDefaultPushFutureMap == null) { - - Loggers.REMOTE_DIGEST - .warn("Ack receive on a outdated connection ,connection id={},requestId={} ", connectionId, - response.getRequestId()); - return; - } - - DefaultRequestFuture currentCallback = stringDefaultPushFutureMap.remove(response.getRequestId()); - if (currentCallback == null) { - - Loggers.REMOTE_DIGEST - .warn("Ack receive on a outdated request ,connection id={},requestId={} ", connectionId, - response.getRequestId()); - return; - } - - if (response.isSuccess()) { - currentCallback.setResponse(response); - } else { - currentCallback.setFailResult(new NacosException(response.getErrorCode(), response.getMessage())); - } - } - - /** - * notify ackid. - */ - public static void syncCallback(String connectionId, String requestId, DefaultRequestFuture defaultPushFuture) - throws NacosException { - - Map stringDefaultPushFutureMap = initContextIfNecessary(connectionId); - - if (!stringDefaultPushFutureMap.containsKey(requestId)) { - DefaultRequestFuture pushCallBackPrev = stringDefaultPushFutureMap - .putIfAbsent(requestId, defaultPushFuture); - if (pushCallBackPrev == null) { - return; - } - } - throw new NacosException(NacosException.INVALID_PARAM, "request id conflict"); - - } - - /** - * clear context of connectionId. - * - * @param connectionId connectionId - */ - public static void clearContext(String connectionId) { - CALLBACK_CONTEXT.remove(connectionId); - } - - /** - * clear context of connectionId. - * - * @param connectionId connectionId - */ - public static Map initContextIfNecessary(String connectionId) { - if (!CALLBACK_CONTEXT.containsKey(connectionId)) { - Map context = new HashMap<>(128); - Map stringDefaultRequestFutureMap = CALLBACK_CONTEXT - .putIfAbsent(connectionId, context); - return stringDefaultRequestFutureMap == null ? context : stringDefaultRequestFutureMap; - } else { - return CALLBACK_CONTEXT.get(connectionId); - } - } - - /** - * clear context of connectionId. - * - * @param connectionId connectionId - */ - public static void clearFuture(String connectionId, String requestId) { - Map stringDefaultPushFutureMap = CALLBACK_CONTEXT.get(connectionId); - - if (stringDefaultPushFutureMap == null || !stringDefaultPushFutureMap.containsKey(requestId)) { - return; - } - stringDefaultPushFutureMap.remove(requestId); - } - -} - diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RpcPushService.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RpcPushService.java deleted file mode 100644 index d751ac8d..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/RpcPushService.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.AbstractRequestCallBack; -import com.alibaba.nacos.api.remote.request.ServerRequest; -import com.alibaba.nacos.api.remote.PushCallBack; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.common.remote.exception.ConnectionAlreadyClosedException; -import com.alibaba.nacos.core.utils.Loggers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.concurrent.Executor; - -/** - * push response to clients. - * - * @author liuzunfei - * @version $Id: PushService.java, v 0.1 2020年07月20日 1:12 PM liuzunfei Exp $ - */ -@Service -public class RpcPushService { - - @Autowired - private ConnectionManager connectionManager; - - /** - * push response with no ack. - * - * @param connectionId connectionId. - * @param request request. - * @param requestCallBack requestCallBack. - */ - public void pushWithCallback(String connectionId, ServerRequest request, PushCallBack requestCallBack, - Executor executor) { - Connection connection = connectionManager.getConnection(connectionId); - if (connection != null) { - try { - connection.asyncRequest(request, new AbstractRequestCallBack(requestCallBack.getTimeout()) { - - @Override - public Executor getExecutor() { - return executor; - } - - @Override - public void onResponse(Response response) { - if (response.isSuccess()) { - requestCallBack.onSuccess(); - } else { - requestCallBack.onFail(new NacosException(response.getErrorCode(), response.getMessage())); - } - } - - @Override - public void onException(Throwable e) { - requestCallBack.onFail(e); - } - }); - } catch (ConnectionAlreadyClosedException e) { - connectionManager.unregister(connectionId); - requestCallBack.onSuccess(); - } catch (Exception e) { - Loggers.REMOTE_DIGEST - .error("error to send push response to connectionId ={},push response={}", connectionId, - request, e); - requestCallBack.onFail(e); - } - } else { - requestCallBack.onSuccess(); - } - } - - /** - * push response with no ack. - * - * @param connectionId connectionId. - * @param request request. - */ - public void pushWithoutAck(String connectionId, ServerRequest request) { - Connection connection = connectionManager.getConnection(connectionId); - if (connection != null) { - try { - connection.request(request, 3000L); - } catch (ConnectionAlreadyClosedException e) { - connectionManager.unregister(connectionId); - } catch (Exception e) { - Loggers.REMOTE_DIGEST - .error("error to send push response to connectionId ={},push response={}", connectionId, - request, e); - } - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/ClientIpMonitorKey.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/ClientIpMonitorKey.java deleted file mode 100644 index 1df477fb..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/ClientIpMonitorKey.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -/** - * MonitorType. - * - * @author liuzunfei - * @version $Id: ClientIpMonitorKey.java, v 0.1 2021年01月20日 20:38 PM liuzunfei Exp $ - */ -public class ClientIpMonitorKey extends MonitorKey { - - private static final String TYPE = "clientIp"; - - public ClientIpMonitorKey() { - - } - - public ClientIpMonitorKey(String clientIp) { - this.key = clientIp; - } - - @Override - public String getType() { - return TYPE; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/ConnectionIdMonitorKey.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/ConnectionIdMonitorKey.java deleted file mode 100644 index ec610289..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/ConnectionIdMonitorKey.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -/** - * ConnectionIdMonitorKey. - * - * @author liuzunfei - * @version $Id: ConnectionIdMonitorKey.java, v 0.1 2021年01月20日 20:38 PM liuzunfei Exp $ - */ -public class ConnectionIdMonitorKey extends MonitorKey { - - private static final String TYPE = "connectionId"; - - String key; - - public ConnectionIdMonitorKey() { - - } - - public ConnectionIdMonitorKey(String clientIp) { - this.key = clientIp; - } - - @Override - public String getType() { - return TYPE; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MatchMode.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MatchMode.java deleted file mode 100644 index cc721a1b..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MatchMode.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -/** - * MatchMode. - * - * @author liuzunfei - * @version $Id: MatchMode.java, v 0.1 2021年01月22日 12:38 PM liuzunfei Exp $ - */ -public enum MatchMode { - - /** - * equal match . - */ - EQUAL("equal", "complete equal."), - - /** - * prefix match. nacosConfig matches "prefix#nacos" - */ - PREFIX("prefix", "prefix match."), - - /** - * postfix match.nacosConfig matches "postfix#Config" - */ - POSTFIX("postfix", "postfix match."), - - /** - * middle fuzzy. nacosTestConfig matches "middlefuzzy#nacos*Config" - */ - MIDDLE_FUZZY("middlefuzzy", "middle fuzzy, both match prefix and postfix."); - - String model; - - String desc; - - MatchMode(String model, String desc) { - this.model = model; - this.desc = desc; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKey.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKey.java deleted file mode 100644 index 34d8453f..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKey.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -import com.alibaba.nacos.api.common.Constants; - -/** - * MonitorType. - * - * @author liuzunfei - * @version $Id: MonitorKey.java, v 0.1 2021年01月20日 20:38 PM liuzunfei Exp $ - */ -@SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule") -public abstract class MonitorKey { - - String key; - - public MonitorKey() { - - } - - public MonitorKey(String key) { - this.key = key; - } - - /** - * get monitor key type. - * - * @return type. - */ - public abstract String getType(); - - public String getKey() { - return this.key; - } - - public void setKey(String key) { - this.key = key; - } - - public String build() { - return this.getType() + Constants.COLON + this.getKey(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKeyMatcher.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKeyMatcher.java deleted file mode 100644 index 4094f5d1..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKeyMatcher.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -import com.alibaba.nacos.api.common.Constants; -import com.alibaba.nacos.common.utils.StringUtils; - -import java.util.Objects; - -/** - * MatchMode. - * - * @author liuzunfei - * @version $Id: MatchMode.java, v 0.1 2021年01月22日 12:38 PM liuzunfei Exp $ - */ -@SuppressWarnings({"PMD.AbstractClassShouldStartWithAbstractNamingRule", "PMD.UndefineMagicConstantRule"}) -public class MonitorKeyMatcher { - - /** - * if provided monitor key match this monitor ,with monitor type. - * - * @param monitorKey monitorKey. - * @return type matched result. - */ - public static boolean matchWithType(String pattern, String monitorKey) { - String[] typeInPattern = pattern.split(Constants.COLON); - String[] typeInMonitorKey = monitorKey.split(Constants.COLON); - if (!Objects.equals(typeInPattern[0], typeInMonitorKey[0])) { - return false; - } - return match(pattern.substring(pattern.indexOf(Constants.COLON)), - monitorKey.substring(monitorKey.indexOf(Constants.COLON))); - } - - /** - * if provided monitor key match this monitor. - * - * @param monitorKey monitorKey. - * @return matched result. - */ - public static boolean match(String pattern, String monitorKey) { - pattern = pattern.trim(); - monitorKey = monitorKey.trim(); - //"AB",equals. - if (!pattern.contains(Constants.ALL_PATTERN)) { - return pattern.equals(monitorKey.trim()); - } - //"*",match all. - if (pattern.equals(Constants.ALL_PATTERN)) { - return true; - } - String[] split = pattern.split("\\" + Constants.ALL_PATTERN); - - if (split.length == 1) { - //"A*",prefix match. - return monitorKey.startsWith(split[0]); - } else if (split.length == 2) { - //"*A",postfix match. - if (StringUtils.isBlank(split[0])) { - return monitorKey.endsWith(split[1]); - } - return monitorKey.startsWith(split[0]) && monitorKey.endsWith(split[1]); - } - - return false; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKeyParser.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKeyParser.java deleted file mode 100644 index 9cf773a9..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorKeyParser.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -/** - * MonitorType. - * - * @author liuzunfei - * @version $Id: MonitorType.java, v 0.1 2021年01月20日 20:38 PM liuzunfei Exp $ - */ -@SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule") -public abstract class MonitorKeyParser { - - /** - * parse monitor key. - * - * @param arg0 parameters. - * @return monitor key. - */ - public abstract MonitorKey parse(Object... arg0); - -} - - - diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorType.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorType.java deleted file mode 100644 index 4aa59834..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/MonitorType.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -/** - * MonitorType. - * - * @author liuzunfei - * @version $Id: MonitorType.java, v 0.1 2021年01月12日 20:38 PM liuzunfei Exp $ - */ -public enum MonitorType { - // monitor mode. - MONITOR("monitor", "only monitor ,not reject request."), - //intercept mode. - INTERCEPT("intercept", "reject request if tps over limit"); - - String type; - - String desc; - - MonitorType(String type, String desc) { - this.type = type; - this.desc = desc; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControl.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControl.java deleted file mode 100644 index efd16a62..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControl.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * tps control manager. - * - * @author liuzunfei - * @version $Id: TpsControlManager.java, v 0.1 2021年01月09日 12:38 PM liuzunfei Exp $ - */ -@Retention(RetentionPolicy.RUNTIME) -public @interface TpsControl { - - /** - * The action type of the request. - * - * @return action type, default READ - */ - String pointName(); - - /** - * Resource name parser. Should have lower priority than resource(). - * - * @return class type of resource parser - */ - Class[] parsers() default {}; - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlConfig.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlConfig.java deleted file mode 100644 index ceaf9dac..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlConfig.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -/** - * tps control manager. - * - * @author liuzunfei - * @version $Id: TpsControlManager.java, v 0.1 2021年01月12日 12:38 PM liuzunfei Exp $ - */ -public class TpsControlConfig { - - /** - * tps control is enabled. - * @return true/false. - */ - public static final boolean isTpsControlEnabled() { - return true; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRequestFilter.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRequestFilter.java deleted file mode 100644 index 01d7e1aa..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRequestFilter.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.request.Request; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.core.remote.AbstractRequestFilter; -import com.alibaba.nacos.core.utils.Loggers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; - -/** - * tps control point. - * - * @author liuzunfei - * @version $Id: TpsControlRequestFilter.java, v 0.1 2021年01月09日 12:38 PM liuzunfei Exp $ - */ -@Service -public class TpsControlRequestFilter extends AbstractRequestFilter { - - @Autowired - private TpsMonitorManager tpsMonitorManager; - - @Override - protected Response filter(Request request, RequestMeta meta, Class handlerClazz) { - - Method method = null; - try { - method = getHandleMethod(handlerClazz); - } catch (NacosException e) { - return null; - } - - if (method.isAnnotationPresent(TpsControl.class) && TpsControlConfig.isTpsControlEnabled()) { - - TpsControl tpsControl = method.getAnnotation(TpsControl.class); - - String pointName = tpsControl.pointName(); - Class[] parsers = tpsControl.parsers(); - List monitorKeys = new ArrayList<>(); - monitorKeys.add(new ClientIpMonitorKey(meta.getClientIp())); - if (parsers != null) { - for (Class clazz : parsers) { - try { - if (MonitorKeyParser.class.isAssignableFrom(clazz)) { - MonitorKey parseKey = ((MonitorKeyParser) (clazz.newInstance())).parse(request, meta); - if (parseKey != null) { - monitorKeys.add(parseKey); - } - } - } catch (Throwable throwable) { - //ignore - } - } - } - - boolean pass = tpsMonitorManager.applyTps(pointName, meta.getConnectionId(), monitorKeys); - - if (!pass) { - Response response; - try { - response = super.getDefaultResponseInstance(handlerClazz); - response.setErrorInfo(NacosException.OVER_THRESHOLD, "Tps Flow restricted"); - return response; - } catch (Exception e) { - Loggers.TPS_CONTROL_DETAIL - .warn("Tps monitor fail , request: {},exception:{}", request.getClass().getSimpleName(), e); - return null; - } - - } - } - - return null; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRule.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRule.java deleted file mode 100644 index 25f51fde..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRule.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; - -/** - * tps control point. - * - * @author liuzunfei - * @version $Id: TpsControlPoint.java, v 0.1 2021年01月09日 12:38 PM liuzunfei Exp $ - */ -public class TpsControlRule { - - private String pointName; - - private Rule pointRule; - - /** - * Pattern,Rule map. - */ - private Map monitorKeyRule = new HashMap<>(); - - public String getPointName() { - return pointName; - } - - public void setPointName(String pointName) { - this.pointName = pointName; - } - - public Rule getPointRule() { - return pointRule; - } - - public void setPointRule(Rule pointRule) { - this.pointRule = pointRule; - } - - public Map getMonitorKeyRule() { - return monitorKeyRule; - } - - public void setMonitorKeyRule(Map monitorKeyRule) { - this.monitorKeyRule = monitorKeyRule; - } - - public static class Rule { - - long maxCount = -1; - - TimeUnit period = TimeUnit.SECONDS; - - public static final String MODEL_FUZZY = "FUZZY"; - - public static final String MODEL_PROTO = "PROTO"; - - String model = MODEL_FUZZY; - - /** - * monitor/intercept. - */ - String monitorType = ""; - - public Rule() { - - } - - public boolean isFuzzyModel() { - return MODEL_FUZZY.equalsIgnoreCase(model); - } - - public boolean isProtoModel() { - return MODEL_PROTO.equalsIgnoreCase(model); - } - - public Rule(long maxCount, TimeUnit period, String model, String monitorType) { - this.maxCount = maxCount; - this.period = period; - this.model = model; - this.monitorType = monitorType; - } - - public String getModel() { - return model; - } - - public void setModel(String model) { - this.model = model; - } - - public TimeUnit getPeriod() { - return period; - } - - public void setPeriod(TimeUnit period) { - this.period = period; - } - - public long getMaxCount() { - return maxCount; - } - - public void setMaxCount(long maxCount) { - this.maxCount = maxCount; - } - - public String getMonitorType() { - return monitorType; - } - - public void setMonitorType(String monitorType) { - this.monitorType = monitorType; - } - - @Override - public String toString() { - return "Rule{" + "maxTps=" + maxCount + ", monitorType='" + monitorType + '\'' + '}'; - } - } - - @Override - public String toString() { - return "TpsControlRule{" + "pointName='" + pointName + '\'' + ", pointRule=" + pointRule + ", monitorKeyRule=" - + monitorKeyRule + '}'; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRuleChangeEvent.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRuleChangeEvent.java deleted file mode 100644 index 61ea3ffb..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsControlRuleChangeEvent.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -import com.alibaba.nacos.common.notify.Event; - -/** - * tps control point. - * - * @author liuzunfei - * @version $Id: TpsControlPoint.java, v 0.1 2021年01月09日 12:38 PM liuzunfei Exp $ - */ -public class TpsControlRuleChangeEvent extends Event { - - String pointName; - - String ruleContent; - - public TpsControlRuleChangeEvent(String pointName, String ruleContent) { - this.pointName = pointName; - this.ruleContent = ruleContent; - } - - public String getPointName() { - return pointName; - } - - public void setPointName(String pointName) { - this.pointName = pointName; - } - - public String getRuleContent() { - return ruleContent; - } - - public void setRuleContent(String ruleContent) { - this.ruleContent = ruleContent; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsMonitorManager.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsMonitorManager.java deleted file mode 100644 index b0455556..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsMonitorManager.java +++ /dev/null @@ -1,325 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -import com.alibaba.nacos.api.common.Constants; -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.common.executor.ExecutorFactory; -import com.alibaba.nacos.common.notify.Event; -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.common.notify.listener.Subscriber; -import com.alibaba.nacos.common.utils.JacksonUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.common.utils.ThreadUtils; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.env.EnvUtil; -import com.alibaba.nacos.sys.file.FileChangeEvent; -import com.alibaba.nacos.sys.file.FileWatcher; -import com.alibaba.nacos.sys.file.WatchFileCenter; -import com.alibaba.nacos.sys.utils.DiskUtils; -import org.springframework.beans.factory.DisposableBean; -import org.springframework.stereotype.Service; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Paths; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -/** - * tps control manager. - * - * @author liuzunfei - * @version $Id: TpsControlManager.java, v 0.1 2021年01月09日 12:38 PM liuzunfei Exp $ - */ -@Service -public class TpsMonitorManager extends Subscriber implements DisposableBean { - - public final Map points = new ConcurrentHashMap<>(16); - - private static ScheduledExecutorService executorService = ExecutorFactory.newSingleScheduledExecutorService(r -> { - Thread thread = new Thread(r, "nacos.core.remote.tps.control.reporter"); - thread.setDaemon(true); - return thread; - }); - - public TpsMonitorManager() { - NotifyCenter.registerToPublisher(TpsControlRuleChangeEvent.class, NotifyCenter.ringBufferSize); - NotifyCenter.registerSubscriber(this); - executorService.scheduleWithFixedDelay(new TpsMonitorReporter(), 0, 900, TimeUnit.MILLISECONDS); - registerFileWatch(); - } - - /** - * register point. - * - * @param tpsMonitorPoint tps point. - */ - public void registerTpsControlPoint(TpsMonitorPoint tpsMonitorPoint) { - Loggers.TPS_CONTROL - .info("Register tps control,pointName={}, point={} ", tpsMonitorPoint.getPointName(), tpsMonitorPoint); - try { - loadRuleFromLocal(tpsMonitorPoint); - } catch (IOException e) { - Loggers.TPS_CONTROL - .error("Fail to init rule from local,pointName={},error={}", tpsMonitorPoint.getPointName(), e); - } - points.putIfAbsent(tpsMonitorPoint.getPointName(), tpsMonitorPoint); - - } - - private void registerFileWatch() { - try { - String tpsPath = Paths.get(EnvUtil.getNacosHome(), "data" + File.separator + "tps" + File.separator) - .toString(); - checkBaseDir(); - WatchFileCenter.registerWatcher(tpsPath, new FileWatcher() { - @Override - public void onChange(FileChangeEvent event) { - String fileName = event.getContext().toString(); - try { - - if (points.get(fileName) != null) { - loadRuleFromLocal(points.get(fileName)); - } - } catch (Throwable throwable) { - Loggers.TPS_CONTROL - .warn("Fail to load rule from local,pointName={},error={}", fileName, throwable); - } - } - - @Override - public boolean interest(String context) { - for (String pointName : points.keySet()) { - if (context.equals(pointName)) { - return true; - } - } - return false; - } - }); - } catch (NacosException e) { - Loggers.TPS_CONTROL.warn("Register fire watch fail.", e); - } - } - - /** - * apply tps. - * - * @param clientIp clientIp. - * @param pointName pointName. - * @return pass or not. - */ - public boolean applyTpsForClientIp(String pointName, String connectionId, String clientIp) { - if (points.containsKey(pointName)) { - - return points.get(pointName).applyTps(connectionId, Arrays.asList(new ClientIpMonitorKey(clientIp))); - } - return true; - } - - /** - * apply tps. - * - * @param pointName pointName. - * @param monitorKeyList monitorKeyList. - * @return pass or not. - */ - public boolean applyTps(String pointName, String connectionId, List monitorKeyList) { - if (points.containsKey(pointName)) { - return points.get(pointName).applyTps(connectionId, monitorKeyList); - } - return true; - } - - @Override - public void onEvent(TpsControlRuleChangeEvent event) { - - Loggers.TPS_CONTROL - .info("Tps control rule change event receive,pointName={}, ruleContent={} ", event.getPointName(), - event.ruleContent); - if (event == null || event.getPointName() == null) { - return; - } - try { - TpsControlRule tpsControlRule = StringUtils.isBlank(event.ruleContent) ? new TpsControlRule() - : JacksonUtils.toObj(event.ruleContent, TpsControlRule.class); - if (!points.containsKey(event.getPointName())) { - Loggers.TPS_CONTROL.info("Tps control rule change event ignore,pointName={} ", event.getPointName()); - return; - } - try { - saveRuleToLocal(event.getPointName(), tpsControlRule); - } catch (Throwable throwable) { - Loggers.TPS_CONTROL - .warn("Tps control rule persist fail,pointName={},error={} ", event.getPointName(), throwable); - - } - } catch (Exception e) { - Loggers.TPS_CONTROL.warn("Tps control rule apply error ,error= ", e); - } - - } - - @Override - public Class subscribeType() { - return TpsControlRuleChangeEvent.class; - } - - @Override - public void destroy() throws Exception { - if (executorService == null) { - return; - } - ThreadUtils.shutdownThreadPool(executorService); - } - - class TpsMonitorReporter implements Runnable { - - long lastReportSecond = 0L; - - long lastReportMinutes = 0L; - - @Override - public void run() { - try { - long now = System.currentTimeMillis(); - StringBuilder stringBuilder = new StringBuilder(); - Set> entries = points.entrySet(); - - long tempSecond = 0L; - long tempMinutes = 0L; - - String formatString = TpsMonitorPoint.getTimeFormatOfSecond(now - 1000L); - for (Map.Entry entry : entries) { - TpsMonitorPoint value = entry.getValue(); - //get last second - TpsRecorder.TpsSlot pointSlot = value.getTpsRecorder().getPoint(now - 1000L); - if (pointSlot == null) { - continue; - } - - //already reported. - if (lastReportSecond != 0L && lastReportSecond == pointSlot.time) { - continue; - } - String point = entry.getKey(); - tempSecond = pointSlot.time; - stringBuilder.append(point).append('|').append("point|").append(value.getTpsRecorder().period) - .append('|').append(formatString).append('|') - .append(pointSlot.getCountHolder(point).count.get()).append('|') - .append(pointSlot.getCountHolder(point).interceptedCount.get()).append('\n'); - for (Map.Entry monitorKeyEntry : value.monitorKeysRecorder.entrySet()) { - String monitorPattern = monitorKeyEntry.getKey(); - TpsRecorder ipRecord = monitorKeyEntry.getValue(); - TpsRecorder.TpsSlot keySlot = ipRecord.getPoint(now - ipRecord.period.toMillis(1)); - if (keySlot == null) { - continue; - } - //already reported. - if (ipRecord.period == TimeUnit.SECONDS) { - if (lastReportSecond != 0L && lastReportSecond == keySlot.time) { - continue; - } - } - if (ipRecord.period == TimeUnit.MINUTES) { - if (lastReportMinutes != 0L && lastReportMinutes == keySlot.time) { - continue; - } - } - String timeFormatOfSecond = TpsMonitorPoint.getTimeFormatOfSecond(keySlot.time); - tempMinutes = keySlot.time; - if (ipRecord.isProtoModel()) { - Map keySlots = ((TpsRecorder.MultiKeyTpsSlot) keySlot).keySlots; - for (Map.Entry slotCountHolder : keySlots.entrySet()) { - stringBuilder.append(point).append('|').append(monitorPattern).append('|') - .append(ipRecord.period).append('|').append(timeFormatOfSecond).append('|') - .append(slotCountHolder.getKey()).append('|') - .append(slotCountHolder.getValue().count).append('|') - .append(slotCountHolder.getValue().interceptedCount).append('\n'); - } - - } else { - stringBuilder.append(point).append('|').append(monitorPattern).append('|') - .append(ipRecord.period).append('|').append(timeFormatOfSecond).append('|') - .append(keySlot.getCountHolder(point).count.get()).append('|') - .append(keySlot.getCountHolder(point).interceptedCount.get()).append('\n'); - } - } - } - - if (tempSecond > 0) { - lastReportSecond = tempSecond; - } - if (tempMinutes > 0) { - lastReportMinutes = tempMinutes; - } - if (stringBuilder.length() > 0) { - Loggers.TPS_CONTROL_DIGEST.info("Tps reporting...\n" + stringBuilder.toString()); - } - } catch (Throwable throwable) { - Loggers.TPS_CONTROL_DIGEST.error("Tps reporting error", throwable); - - } - - } - } - - private synchronized void loadRuleFromLocal(TpsMonitorPoint tpsMonitorPoint) throws IOException { - - File pointFile = getRuleFile(tpsMonitorPoint.getPointName()); - if (!pointFile.exists()) { - pointFile.createNewFile(); - } - String ruleContent = DiskUtils.readFile(pointFile); - TpsControlRule tpsControlRule = StringUtils.isBlank(ruleContent) ? new TpsControlRule() - : JacksonUtils.toObj(ruleContent, TpsControlRule.class); - Loggers.TPS_CONTROL.info("Load rule from local,pointName={}, ruleContent={} ", tpsMonitorPoint.getPointName(), - ruleContent); - tpsMonitorPoint.applyRule(tpsControlRule); - - } - - private synchronized void saveRuleToLocal(String pointName, TpsControlRule tpsControlRule) throws IOException { - - File pointFile = getRuleFile(pointName); - if (!pointFile.exists()) { - pointFile.createNewFile(); - } - String content = JacksonUtils.toJson(tpsControlRule); - DiskUtils.writeFile(pointFile, content.getBytes(Constants.ENCODE), false); - Loggers.TPS_CONTROL.info("Save rule to local,pointName={}, ruleContent ={} ", pointName, content); - } - - private File getRuleFile(String pointName) { - File baseDir = checkBaseDir(); - return new File(baseDir, pointName); - } - - private File checkBaseDir() { - File baseDir = new File(EnvUtil.getNacosHome(), "data" + File.separator + "tps" + File.separator); - if (!baseDir.exists()) { - baseDir.mkdirs(); - } - return baseDir; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsMonitorPoint.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsMonitorPoint.java deleted file mode 100644 index acc3d1b3..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsMonitorPoint.java +++ /dev/null @@ -1,298 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -import com.alibaba.nacos.core.utils.Loggers; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.concurrent.TimeUnit; - -/** - * tps control point. - * - * @author liuzunfei - * @version $Id: TpsControlPoint.java, v 0.1 2021年01月09日 12:38 PM liuzunfei Exp $ - */ -public class TpsMonitorPoint { - - public static final int DEFAULT_RECORD_SIZE = 10; - - private static final String DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; - - private long startTime; - - private String pointName; - - private TpsRecorder tpsRecorder; - - public Map monitorKeysRecorder = new HashMap<>(); - - public TpsMonitorPoint(String pointName) { - this(pointName, -1, "monitor"); - } - - public TpsMonitorPoint(String pointName, int maxTps, String monitorType) { - // trim to second,uniform all tps control. - this.startTime = getTrimMillsOfSecond(System.currentTimeMillis()); - this.pointName = pointName; - this.tpsRecorder = new TpsRecorder(startTime, TimeUnit.SECONDS, TpsControlRule.Rule.MODEL_FUZZY, - DEFAULT_RECORD_SIZE); - this.tpsRecorder.setMaxCount(maxTps); - this.tpsRecorder.setMonitorType(monitorType); - } - - /** - * get trim mills of second. - * - * @param timeStamp timestamp milliseconds. - * @return mills of second. - */ - public static long getTrimMillsOfSecond(long timeStamp) { - String millString = String.valueOf(timeStamp); - String substring = millString.substring(0, millString.length() - 3); - return Long.parseLong(substring + "000"); - - } - - /** - * get trim mills of second. - * - * @param timeStamp timestamp milliseconds. - * @return minis of minute. - */ - public static long getTrimMillsOfMinute(long timeStamp) { - String millString = String.valueOf(timeStamp); - String substring = millString.substring(0, millString.length() - 3); - return Long.parseLong(Long.parseLong(substring) / 60 * 60 + "000"); - } - - /** - * get trim mills of second. - * - * @param timeStamp timestamp milliseconds. - * @return mills of hour. - */ - public static long getTrimMillsOfHour(long timeStamp) { - String millString = String.valueOf(timeStamp); - String substring = millString.substring(0, millString.length() - 3); - return Long.parseLong(Long.parseLong(substring) / (60 * 60) * (60 * 60) + "000"); - } - - /** - * get format string "2021-01-16 17:20:21" of timestamp. - * - * @param timeStamp timestamp milliseconds. - * @return datetime string. - */ - public static String getTimeFormatOfSecond(long timeStamp) { - return new SimpleDateFormat(DATETIME_PATTERN).format(new Date(timeStamp)); - } - - private void stopAllMonitorClient() { - monitorKeysRecorder.clear(); - } - - /** - * increase tps. - * - * @param monitorKeys monitorKeys. - * @return check current tps is allowed. - */ - public boolean applyTps(String connectionId, List monitorKeys) { - - long now = System.currentTimeMillis(); - TpsRecorder.TpsSlot currentTps = tpsRecorder.createSlotIfAbsent(now); - - //1.check monitor keys. - List passedSlots = new ArrayList<>(); - for (MonitorKey monitorKey : monitorKeys) { - for (Map.Entry entry : monitorKeysRecorder.entrySet()) { - if (MonitorKeyMatcher.matchWithType(entry.getKey(), monitorKey.build())) { - TpsRecorder tpsRecorderKey = entry.getValue(); - TpsRecorder.TpsSlot currentKeySlot = tpsRecorderKey.createSlotIfAbsent(now); - long maxTpsCount = tpsRecorderKey.getMaxCount(); - TpsRecorder.SlotCountHolder countHolder = currentKeySlot.getCountHolder(monitorKey.build()); - boolean overLimit = maxTpsCount >= 0 && countHolder.count.longValue() >= maxTpsCount; - if (overLimit) { - Loggers.TPS_CONTROL_DETAIL - .info("[{}]Tps over limit ,pointName=[{}],barrier=[{}],monitorModel={},maxTps={}", - connectionId, this.getPointName(), entry.getKey(), - tpsRecorderKey.getMonitorType(), maxTpsCount + "/" + tpsRecorderKey.period); - if (tpsRecorderKey.isInterceptMode()) { - currentKeySlot.getCountHolder(monitorKey.build()).interceptedCount.incrementAndGet(); - currentTps.getCountHolder(monitorKey.build()).interceptedCount.incrementAndGet(); - return false; - } - } else { - passedSlots.add(countHolder); - } - } - } - } - - //2.check total tps. - long maxTps = tpsRecorder.getMaxCount(); - boolean overLimit = maxTps >= 0 && currentTps.getCountHolder(pointName).count.longValue() >= maxTps; - if (overLimit) { - Loggers.TPS_CONTROL_DETAIL - .info("[{}]Tps over limit ,pointName=[{}],barrier=[{}],monitorType={}", connectionId, - this.getPointName(), "pointRule", tpsRecorder.getMonitorType()); - if (tpsRecorder.isInterceptMode()) { - currentTps.getCountHolder(pointName).interceptedCount.incrementAndGet(); - return false; - } - } - - currentTps.getCountHolder(pointName).count.incrementAndGet(); - for (TpsRecorder.SlotCountHolder passedTpsSlot : passedSlots) { - passedTpsSlot.count.incrementAndGet(); - } - //3.check pass. - return true; - } - - public TpsRecorder getTpsRecorder() { - return tpsRecorder; - } - - public String getPointName() { - return pointName; - } - - public void setPointName(String pointName) { - this.pointName = pointName; - } - - /** - * apply tps control rule to this point. - * - * @param newControlRule controlRule. - */ - public synchronized void applyRule(TpsControlRule newControlRule) { - - Loggers.TPS_CONTROL.info("Apply tps control rule parse start,pointName=[{}] ", this.getPointName()); - - //1.reset all monitor point for null. - if (newControlRule == null) { - Loggers.TPS_CONTROL.info("Clear all tps control rule ,pointName=[{}] ", this.getPointName()); - this.tpsRecorder.clearLimitRule(); - this.stopAllMonitorClient(); - return; - } - - //2.check point rule. - TpsControlRule.Rule newPointRule = newControlRule.getPointRule(); - if (newPointRule == null) { - Loggers.TPS_CONTROL.info("Clear point control rule ,pointName=[{}] ", this.getPointName()); - this.tpsRecorder.clearLimitRule(); - } else { - Loggers.TPS_CONTROL.info("Update point control rule ,pointName=[{}],original maxTps={}, new maxTps={}" - + ",original monitorType={}, original monitorType={}, ", this.getPointName(), - this.tpsRecorder.getMaxCount(), newPointRule.maxCount, this.tpsRecorder.getMonitorType(), - newPointRule.monitorType); - - this.tpsRecorder.setMaxCount(newPointRule.maxCount); - this.tpsRecorder.setMonitorType(newPointRule.monitorType); - } - - //3.check monitor key rules. - Map newMonitorKeyRules = newControlRule.getMonitorKeyRule(); - //3.1 clear all monitor keys. - if (newMonitorKeyRules == null || newMonitorKeyRules.isEmpty()) { - Loggers.TPS_CONTROL - .info("Clear point control rule for monitorKeys, pointName=[{}] ", this.getPointName()); - this.stopAllMonitorClient(); - } else { - Map monitorKeysRecorderCurrent = this.monitorKeysRecorder; - - for (Map.Entry newMonitorRule : newMonitorKeyRules.entrySet()) { - if (newMonitorRule.getValue() == null) { - continue; - } - boolean checkPattern = newMonitorRule.getKey() != null; - if (!checkPattern) { - Loggers.TPS_CONTROL.info("Invalid monitor rule, pointName=[{}] ,monitorRule={} ,Ignore this.", - this.getPointName(), newMonitorRule.getKey()); - continue; - } - TpsControlRule.Rule newRule = newMonitorRule.getValue(); - if (newRule.period == null) { - newRule.period = TimeUnit.SECONDS; - } - - if (newRule.model == null) { - newRule.model = TpsControlRule.Rule.MODEL_FUZZY; - } - - //update rule. - if (monitorKeysRecorderCurrent.containsKey(newMonitorRule.getKey())) { - TpsRecorder tpsRecorder = monitorKeysRecorderCurrent.get(newMonitorRule.getKey()); - Loggers.TPS_CONTROL - .info("Update point control rule for client ip ,pointName=[{}],monitorKey=[{}],original maxTps={}" - + ", new maxTps={},original monitorType={}, new monitorType={}, ", - this.getPointName(), newMonitorRule.getKey(), tpsRecorder.getMaxCount(), - newRule.maxCount, tpsRecorder.getMonitorType(), newRule.monitorType); - - if (!Objects.equals(tpsRecorder.period, newRule.period) || !Objects - .equals(tpsRecorder.getModel(), newRule.model)) { - TpsRecorder tpsRecorderNew = new TpsRecorder(startTime, newRule.period, newRule.model, - DEFAULT_RECORD_SIZE); - tpsRecorderNew.setMaxCount(newRule.maxCount); - tpsRecorderNew.setMonitorType(newRule.monitorType); - monitorKeysRecorderCurrent.put(newMonitorRule.getKey(), tpsRecorderNew); - } else { - tpsRecorder.setMaxCount(newRule.maxCount); - tpsRecorder.setMonitorType(newRule.monitorType); - } - - } else { - Loggers.TPS_CONTROL - .info("Add point control rule for client ip ,pointName=[{}],monitorKey=[{}], new maxTps={}, new monitorType={}, ", - this.getPointName(), newMonitorRule.getKey(), newMonitorRule.getValue().maxCount, - newMonitorRule.getValue().monitorType); - // add rule - TpsRecorder tpsRecorderAdd = new TpsRecorder(startTime, newRule.period, newRule.model, - DEFAULT_RECORD_SIZE); - tpsRecorderAdd.setMaxCount(newRule.maxCount); - tpsRecorderAdd.setMonitorType(newRule.monitorType); - monitorKeysRecorderCurrent.put(newMonitorRule.getKey(), tpsRecorderAdd); - } - } - - //delete rule. - Iterator> iteratorCurrent = monitorKeysRecorderCurrent.entrySet().iterator(); - while (iteratorCurrent.hasNext()) { - Map.Entry next1 = iteratorCurrent.next(); - if (!newMonitorKeyRules.containsKey(next1.getKey())) { - Loggers.TPS_CONTROL.info("Delete point control rule for pointName=[{}] ,monitorKey=[{}]", - this.getPointName(), next1.getKey()); - iteratorCurrent.remove(); - } - } - - } - - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsRecorder.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsRecorder.java deleted file mode 100644 index cf7a71c8..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/control/TpsRecorder.java +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.control; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicLong; - -/** - * tps record. - * - * @author liuzunfei - * @version $Id: TpsRecorder.java, v 0.1 2021年01月09日 12:38 PM liuzunfei Exp $ - */ -public class TpsRecorder { - - private long startTime; - - TimeUnit period; - - private int slotSize; - - private List slotList; - - private long maxCount = -1; - - private String model; - - /** - * monitor/intercept. - */ - private String monitorType = MonitorType.MONITOR.type; - - public TpsRecorder(long startTime, TimeUnit period, String model, int recordSize) { - - this.startTime = startTime; - if (period.equals(TimeUnit.MINUTES)) { - this.startTime = TpsMonitorPoint.getTrimMillsOfMinute(startTime); - } - if (period.equals(TimeUnit.HOURS)) { - this.startTime = TpsMonitorPoint.getTrimMillsOfHour(startTime); - } - this.period = period; - this.model = model; - this.slotSize = recordSize + 1; - slotList = new ArrayList<>(slotSize); - for (int i = 0; i < slotSize; i++) { - slotList.add(isProtoModel() ? new MultiKeyTpsSlot() : new TpsSlot()); - } - } - - public boolean isProtoModel() { - return TpsControlRule.Rule.MODEL_PROTO.equalsIgnoreCase(this.model); - } - - public String getModel() { - return model; - } - - public void setModel(String model) { - this.model = model; - } - - /** - * get slot of the timestamp second,create if not exist. - * - * @param timeStamp the timestamp second. - * @return tps slot. - */ - public TpsSlot createSlotIfAbsent(long timeStamp) { - long distance = timeStamp - startTime; - - long diff = (distance < 0 ? distance + period.toMillis(1) * slotSize : distance) / period.toMillis(1); - long currentWindowTime = startTime + diff * period.toMillis(1); - int index = (int) diff % slotSize; - if (slotList.get(index).time != currentWindowTime) { - slotList.get(index).reset(currentWindowTime); - } - return slotList.get(index); - } - - /** - * get slot of the timestamp second,read only ,return nul if not exist. - * - * @param timeStamp the timestamp second. - * @return tps slot. - */ - public TpsSlot getPoint(long timeStamp) { - long distance = timeStamp - startTime; - long diff = (distance < 0 ? distance + period.toMillis(1) * slotSize : distance) / period.toMillis(1); - long currentWindowTime = startTime + diff * period.toMillis(1); - int index = (int) diff % slotSize; - TpsSlot tpsSlot = slotList.get(index); - if (tpsSlot.time != currentWindowTime) { - return null; - } - return tpsSlot; - } - - public long getMaxCount() { - return maxCount; - } - - public void setMaxCount(long maxCount) { - this.maxCount = maxCount; - } - - public boolean isInterceptMode() { - return MonitorType.INTERCEPT.type.equals(this.monitorType); - } - - /** - * clearLimitRule. - */ - public void clearLimitRule() { - this.setMonitorType(MonitorType.MONITOR.type); - this.setMaxCount(-1); - } - - public String getMonitorType() { - return monitorType; - } - - public void setMonitorType(String monitorType) { - this.monitorType = monitorType; - } - - static class TpsSlot { - - long time = 0L; - - private SlotCountHolder countHolder = new SlotCountHolder(); - - public SlotCountHolder getCountHolder(String key) { - return countHolder; - } - - public void reset(long second) { - synchronized (this) { - if (this.time != second) { - this.time = second; - countHolder.count.set(0L); - countHolder.interceptedCount.set(0); - } - } - } - - @Override - public String toString() { - return "TpsSlot{" + "time=" + time + ", countHolder=" + countHolder + '}'; - } - - } - - static class MultiKeyTpsSlot extends TpsSlot { - - Map keySlots = new HashMap<>(16); - - @Override - public SlotCountHolder getCountHolder(String key) { - if (!keySlots.containsKey(key)) { - keySlots.putIfAbsent(key, new SlotCountHolder()); - } - return keySlots.get(key); - } - - public Map getKeySlots() { - return keySlots; - } - - @Override - public void reset(long second) { - synchronized (this) { - if (this.time != second) { - this.time = second; - keySlots.clear(); - } - } - } - - @Override - public String toString() { - return "MultiKeyTpsSlot{" + "time=" + time + "}'"; - } - - } - - static class SlotCountHolder { - - AtomicLong count = new AtomicLong(); - - AtomicLong interceptedCount = new AtomicLong(); - - @Override - public String toString() { - return "{" + count + "|" + interceptedCount + '}'; - } - } - - public List getSlotList() { - return slotList; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/RpcAckCallbackInitorOrCleaner.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/RpcAckCallbackInitorOrCleaner.java deleted file mode 100644 index 49217ec0..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/RpcAckCallbackInitorOrCleaner.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.core; - -import com.alibaba.nacos.core.remote.ClientConnectionEventListener; -import com.alibaba.nacos.core.remote.Connection; -import com.alibaba.nacos.core.remote.RpcAckCallbackSynchronizer; -import org.springframework.stereotype.Component; - -/** - * RemoteConnectionEventListener. - * - * @author liuzunfei - * @version $Id: RemoteConnectionEventListener.java, v 0.1 2020年08月10日 1:04 AM liuzunfei Exp $ - */ -@Component -public class RpcAckCallbackInitorOrCleaner extends ClientConnectionEventListener { - - @Override - public void clientConnected(Connection connect) { - RpcAckCallbackSynchronizer.initContextIfNecessary(connect.getMetaInfo().getConnectionId()); - } - - @Override - public void clientDisConnected(Connection connect) { - RpcAckCallbackSynchronizer.clearContext(connect.getMetaInfo().getConnectionId()); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/ServerLoaderInfoRequestHandler.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/ServerLoaderInfoRequestHandler.java deleted file mode 100644 index 3232c5bb..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/ServerLoaderInfoRequestHandler.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.core; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.RemoteConstants; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.request.ServerLoaderInfoRequest; -import com.alibaba.nacos.api.remote.response.ServerLoaderInfoResponse; -import com.alibaba.nacos.common.utils.JacksonUtils; -import com.alibaba.nacos.core.remote.ConnectionManager; -import com.alibaba.nacos.core.remote.RequestHandler; -import com.alibaba.nacos.sys.env.EnvUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.HashMap; -import java.util.Map; - -/** - * request handler to handle server loader info. - * - * @author liuzunfei - * @version $Id: ServerLoaderInfoRequestHandler.java, v 0.1 2020年09月03日 2:51 PM liuzunfei Exp $ - */ -@Component -public class ServerLoaderInfoRequestHandler extends RequestHandler { - - @Autowired - private ConnectionManager connectionManager; - - @Override - public ServerLoaderInfoResponse handle(ServerLoaderInfoRequest request, RequestMeta meta) throws NacosException { - ServerLoaderInfoResponse serverLoaderInfoResponse = new ServerLoaderInfoResponse(); - serverLoaderInfoResponse.putMetricsValue("conCount", String.valueOf(connectionManager.currentClientsCount())); - Map filter = new HashMap<>(2); - filter.put(RemoteConstants.LABEL_SOURCE, RemoteConstants.LABEL_SOURCE_SDK); - serverLoaderInfoResponse - .putMetricsValue("sdkConCount", String.valueOf(connectionManager.currentClientsCount(filter))); - serverLoaderInfoResponse.putMetricsValue("limitRule", JacksonUtils.toJson(connectionManager.getConnectionLimitRule())); - serverLoaderInfoResponse.putMetricsValue("load", String.valueOf(EnvUtil.getLoad())); - serverLoaderInfoResponse.putMetricsValue("cpu", String.valueOf(EnvUtil.getCpu())); - - return serverLoaderInfoResponse; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/ServerReloaderRequestHandler.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/ServerReloaderRequestHandler.java deleted file mode 100644 index a1c62567..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/core/ServerReloaderRequestHandler.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.core; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.remote.RemoteConstants; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.request.ServerReloadRequest; -import com.alibaba.nacos.api.remote.response.ServerReloadResponse; -import com.alibaba.nacos.core.remote.ConnectionManager; -import com.alibaba.nacos.core.remote.RequestHandler; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.core.utils.RemoteUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.HashMap; -import java.util.Map; - -/** - * server reload request handler. - * - * @author liuzunfei - * @version $Id: ServerReloaderRequestHandler.java, v 0.1 2020年11月09日 4:38 PM liuzunfei Exp $ - */ -@Component -public class ServerReloaderRequestHandler extends RequestHandler { - - @Autowired - private ConnectionManager connectionManager; - - @Override - public ServerReloadResponse handle(ServerReloadRequest request, RequestMeta meta) throws NacosException { - ServerReloadResponse response = new ServerReloadResponse(); - Loggers.REMOTE.info("server reload request receive,reload count={},redirectServer={},requestIp={}", - request.getReloadCount(), request.getReloadServer(), meta.getClientIp()); - int reloadCount = request.getReloadCount(); - Map filter = new HashMap<>(2); - filter.put(RemoteConstants.LABEL_SOURCE, RemoteConstants.LABEL_SOURCE_SDK); - int sdkCount = connectionManager.currentClientsCount(filter); - if (sdkCount <= reloadCount) { - response.setMessage("ignore"); - } else { - reloadCount = (int) Math.max(reloadCount, sdkCount * (1 - RemoteUtils.LOADER_FACTOR)); - connectionManager.loadCount(reloadCount, request.getReloadServer()); - response.setMessage("ok"); - } - return response; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/event/ConnectionLimitRuleChangeEvent.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/event/ConnectionLimitRuleChangeEvent.java deleted file mode 100644 index 0680acf6..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/event/ConnectionLimitRuleChangeEvent.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.event; - -import com.alibaba.nacos.common.notify.Event; - -/** - * connection limit rule change event. - * @author zunfei.lzf - */ -public class ConnectionLimitRuleChangeEvent extends Event { - - String limitRule; - - public ConnectionLimitRuleChangeEvent(String limitRule) { - this.limitRule = limitRule; - } - - public String getLimitRule() { - return limitRule; - } - - public void setLimitRule(String limitRule) { - this.limitRule = limitRule; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/event/RemotingHeartBeatEvent.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/event/RemotingHeartBeatEvent.java deleted file mode 100644 index 14047836..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/event/RemotingHeartBeatEvent.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.event; - -import com.alibaba.nacos.common.notify.Event; - -/** - * Remoting connection heart beat event. - * - * @author xiweng.yy - */ -public class RemotingHeartBeatEvent extends Event { - - private final String connectionId; - - private final String clientIp; - - private final String clientVersion; - - public RemotingHeartBeatEvent(String connectionId, String clientIp, String clientVersion) { - this.connectionId = connectionId; - this.clientIp = clientIp; - this.clientVersion = clientVersion; - } - - public String getConnectionId() { - return connectionId; - } - - public String getClientIp() { - return clientIp; - } - - public String getClientVersion() { - return clientVersion; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/BaseGrpcServer.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/BaseGrpcServer.java deleted file mode 100644 index 52a72e2b..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/BaseGrpcServer.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.grpc; - -import com.alibaba.nacos.api.grpc.auto.Payload; -import com.alibaba.nacos.common.remote.ConnectionType; -import com.alibaba.nacos.common.utils.ReflectUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.core.remote.BaseRpcServer; -import com.alibaba.nacos.core.remote.ConnectionManager; -import com.alibaba.nacos.core.utils.Loggers; -import io.grpc.Attributes; -import io.grpc.CompressorRegistry; -import io.grpc.Context; -import io.grpc.Contexts; -import io.grpc.DecompressorRegistry; -import io.grpc.Grpc; -import io.grpc.Metadata; -import io.grpc.MethodDescriptor; -import io.grpc.Server; -import io.grpc.ServerBuilder; -import io.grpc.ServerCall; -import io.grpc.ServerCallHandler; -import io.grpc.ServerInterceptor; -import io.grpc.ServerInterceptors; -import io.grpc.ServerServiceDefinition; -import io.grpc.ServerTransportFilter; -import io.grpc.internal.ServerStream; -import io.grpc.netty.shaded.io.netty.channel.Channel; -import io.grpc.protobuf.ProtoUtils; -import io.grpc.stub.ServerCalls; -import io.grpc.util.MutableHandlerRegistry; -import org.springframework.beans.factory.annotation.Autowired; - -import java.net.InetSocketAddress; -import java.util.concurrent.ThreadPoolExecutor; - -/** - * Grpc implementation as a rpc server. - * - * @author liuzunfei - * @version $Id: BaseGrpcServer.java, v 0.1 2020年07月13日 3:42 PM liuzunfei Exp $ - */ -public abstract class BaseGrpcServer extends BaseRpcServer { - - private Server server; - - private static final String REQUEST_BI_STREAM_SERVICE_NAME = "BiRequestStream"; - - private static final String REQUEST_BI_STREAM_METHOD_NAME = "requestBiStream"; - - private static final String REQUEST_SERVICE_NAME = "Request"; - - private static final String REQUEST_METHOD_NAME = "request"; - - private static final String GRPC_MAX_INBOUND_MSG_SIZE_PROPERTY = "nacos.remote.server.grpc.maxinbound.message.size"; - - private static final long DEFAULT_GRPC_MAX_INBOUND_MSG_SIZE = 10 * 1024 * 1024; - - @Autowired - private GrpcRequestAcceptor grpcCommonRequestAcceptor; - - @Autowired - private GrpcBiStreamRequestAcceptor grpcBiStreamRequestAcceptor; - - @Autowired - private ConnectionManager connectionManager; - - @Override - public ConnectionType getConnectionType() { - return ConnectionType.GRPC; - } - - @Override - public void startServer() throws Exception { - final MutableHandlerRegistry handlerRegistry = new MutableHandlerRegistry(); - - // server interceptor to set connection id. - ServerInterceptor serverInterceptor = new ServerInterceptor() { - @Override - public ServerCall.Listener interceptCall(ServerCall call, Metadata headers, - ServerCallHandler next) { - Context ctx = Context.current() - .withValue(CONTEXT_KEY_CONN_ID, call.getAttributes().get(TRANS_KEY_CONN_ID)) - .withValue(CONTEXT_KEY_CONN_REMOTE_IP, call.getAttributes().get(TRANS_KEY_REMOTE_IP)) - .withValue(CONTEXT_KEY_CONN_REMOTE_PORT, call.getAttributes().get(TRANS_KEY_REMOTE_PORT)) - .withValue(CONTEXT_KEY_CONN_LOCAL_PORT, call.getAttributes().get(TRANS_KEY_LOCAL_PORT)); - if (REQUEST_BI_STREAM_SERVICE_NAME.equals(call.getMethodDescriptor().getServiceName())) { - Channel internalChannel = getInternalChannel(call); - ctx = ctx.withValue(CONTEXT_KEY_CHANNEL, internalChannel); - } - return Contexts.interceptCall(ctx, call, headers, next); - } - }; - - addServices(handlerRegistry, serverInterceptor); - - server = ServerBuilder.forPort(getServicePort()).executor(getRpcExecutor()) - .maxInboundMessageSize(getInboundMessageSize()).fallbackHandlerRegistry(handlerRegistry) - .compressorRegistry(CompressorRegistry.getDefaultInstance()) - .decompressorRegistry(DecompressorRegistry.getDefaultInstance()) - .addTransportFilter(new ServerTransportFilter() { - @Override - public Attributes transportReady(Attributes transportAttrs) { - InetSocketAddress remoteAddress = (InetSocketAddress) transportAttrs - .get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR); - InetSocketAddress localAddress = (InetSocketAddress) transportAttrs - .get(Grpc.TRANSPORT_ATTR_LOCAL_ADDR); - int remotePort = remoteAddress.getPort(); - int localPort = localAddress.getPort(); - String remoteIp = remoteAddress.getAddress().getHostAddress(); - Attributes attrWrapper = transportAttrs.toBuilder() - .set(TRANS_KEY_CONN_ID, System.currentTimeMillis() + "_" + remoteIp + "_" + remotePort) - .set(TRANS_KEY_REMOTE_IP, remoteIp).set(TRANS_KEY_REMOTE_PORT, remotePort) - .set(TRANS_KEY_LOCAL_PORT, localPort).build(); - String connectionId = attrWrapper.get(TRANS_KEY_CONN_ID); - Loggers.REMOTE_DIGEST.info("Connection transportReady,connectionId = {} ", connectionId); - return attrWrapper; - - } - - @Override - public void transportTerminated(Attributes transportAttrs) { - String connectionId = null; - try { - connectionId = transportAttrs.get(TRANS_KEY_CONN_ID); - } catch (Exception e) { - // Ignore - } - if (StringUtils.isNotBlank(connectionId)) { - Loggers.REMOTE_DIGEST - .info("Connection transportTerminated,connectionId = {} ", connectionId); - connectionManager.unregister(connectionId); - } - } - }).build(); - - server.start(); - } - - private int getInboundMessageSize() { - String messageSize = System - .getProperty(GRPC_MAX_INBOUND_MSG_SIZE_PROPERTY, String.valueOf(DEFAULT_GRPC_MAX_INBOUND_MSG_SIZE)); - return Integer.parseInt(messageSize); - } - - private Channel getInternalChannel(ServerCall serverCall) { - ServerStream serverStream = (ServerStream) ReflectUtils.getFieldValue(serverCall, "stream"); - return (Channel) ReflectUtils.getFieldValue(serverStream, "channel"); - } - - private void addServices(MutableHandlerRegistry handlerRegistry, ServerInterceptor... serverInterceptor) { - - // unary common call register. - final MethodDescriptor unaryPayloadMethod = MethodDescriptor.newBuilder() - .setType(MethodDescriptor.MethodType.UNARY) - .setFullMethodName(MethodDescriptor.generateFullMethodName(REQUEST_SERVICE_NAME, REQUEST_METHOD_NAME)) - .setRequestMarshaller(ProtoUtils.marshaller(Payload.getDefaultInstance())) - .setResponseMarshaller(ProtoUtils.marshaller(Payload.getDefaultInstance())).build(); - - final ServerCallHandler payloadHandler = ServerCalls - .asyncUnaryCall((request, responseObserver) -> grpcCommonRequestAcceptor.request(request, responseObserver)); - - final ServerServiceDefinition serviceDefOfUnaryPayload = ServerServiceDefinition.builder(REQUEST_SERVICE_NAME) - .addMethod(unaryPayloadMethod, payloadHandler).build(); - handlerRegistry.addService(ServerInterceptors.intercept(serviceDefOfUnaryPayload, serverInterceptor)); - - // bi stream register. - final ServerCallHandler biStreamHandler = ServerCalls.asyncBidiStreamingCall( - (responseObserver) -> grpcBiStreamRequestAcceptor.requestBiStream(responseObserver)); - - final MethodDescriptor biStreamMethod = MethodDescriptor.newBuilder() - .setType(MethodDescriptor.MethodType.BIDI_STREAMING).setFullMethodName(MethodDescriptor - .generateFullMethodName(REQUEST_BI_STREAM_SERVICE_NAME, REQUEST_BI_STREAM_METHOD_NAME)) - .setRequestMarshaller(ProtoUtils.marshaller(Payload.newBuilder().build())) - .setResponseMarshaller(ProtoUtils.marshaller(Payload.getDefaultInstance())).build(); - - final ServerServiceDefinition serviceDefOfBiStream = ServerServiceDefinition - .builder(REQUEST_BI_STREAM_SERVICE_NAME).addMethod(biStreamMethod, biStreamHandler).build(); - handlerRegistry.addService(ServerInterceptors.intercept(serviceDefOfBiStream, serverInterceptor)); - - } - - @Override - public void shutdownServer() { - if (server != null) { - server.shutdownNow(); - } - } - - /** - * get rpc executor. - * - * @return executor. - */ - public abstract ThreadPoolExecutor getRpcExecutor(); - - static final Attributes.Key TRANS_KEY_CONN_ID = Attributes.Key.create("conn_id"); - - static final Attributes.Key TRANS_KEY_REMOTE_IP = Attributes.Key.create("remote_ip"); - - static final Attributes.Key TRANS_KEY_REMOTE_PORT = Attributes.Key.create("remote_port"); - - static final Attributes.Key TRANS_KEY_LOCAL_PORT = Attributes.Key.create("local_port"); - - static final Context.Key CONTEXT_KEY_CONN_ID = Context.key("conn_id"); - - static final Context.Key CONTEXT_KEY_CONN_REMOTE_IP = Context.key("remote_ip"); - - static final Context.Key CONTEXT_KEY_CONN_REMOTE_PORT = Context.key("remote_port"); - - static final Context.Key CONTEXT_KEY_CONN_LOCAL_PORT = Context.key("local_port"); - - static final Context.Key CONTEXT_KEY_CHANNEL = Context.key("ctx_channel"); - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcBiStreamRequestAcceptor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcBiStreamRequestAcceptor.java deleted file mode 100644 index 15432c91..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcBiStreamRequestAcceptor.java +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.grpc; - -import com.alibaba.nacos.api.common.Constants; -import com.alibaba.nacos.api.grpc.auto.BiRequestStreamGrpc; -import com.alibaba.nacos.api.grpc.auto.Payload; -import com.alibaba.nacos.api.remote.request.ConnectResetRequest; -import com.alibaba.nacos.api.remote.request.ConnectionSetupRequest; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.common.remote.ConnectionType; -import com.alibaba.nacos.common.remote.client.grpc.GrpcUtils; -import com.alibaba.nacos.core.remote.Connection; -import com.alibaba.nacos.core.remote.ConnectionManager; -import com.alibaba.nacos.core.remote.ConnectionMeta; -import com.alibaba.nacos.core.remote.RpcAckCallbackSynchronizer; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.utils.ApplicationUtils; -import io.grpc.stub.ServerCallStreamObserver; -import io.grpc.stub.StreamObserver; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.Map; - -import static com.alibaba.nacos.core.remote.grpc.BaseGrpcServer.CONTEXT_KEY_CHANNEL; -import static com.alibaba.nacos.core.remote.grpc.BaseGrpcServer.CONTEXT_KEY_CONN_ID; -import static com.alibaba.nacos.core.remote.grpc.BaseGrpcServer.CONTEXT_KEY_CONN_LOCAL_PORT; -import static com.alibaba.nacos.core.remote.grpc.BaseGrpcServer.CONTEXT_KEY_CONN_REMOTE_IP; -import static com.alibaba.nacos.core.remote.grpc.BaseGrpcServer.CONTEXT_KEY_CONN_REMOTE_PORT; - -/** - * grpc bi stream request . - * - * @author liuzunfei - * @version $Id: GrpcBiStreamRequest.java, v 0.1 2020年09月01日 10:41 PM liuzunfei Exp $ - */ -@Service -public class GrpcBiStreamRequestAcceptor extends BiRequestStreamGrpc.BiRequestStreamImplBase { - - @Autowired - ConnectionManager connectionManager; - - private void traceDetailIfNecessary(Payload grpcRequest) { - String clientIp = grpcRequest.getMetadata().getClientIp(); - String connectionId = CONTEXT_KEY_CONN_ID.get(); - try { - if (connectionManager.traced(clientIp)) { - Loggers.REMOTE_DIGEST.info("[{}]Bi stream request receive, meta={},body={}", connectionId, - grpcRequest.getMetadata().toByteString().toStringUtf8(), - grpcRequest.getBody().toByteString().toStringUtf8()); - } - } catch (Throwable throwable) { - Loggers.REMOTE_DIGEST.error("[{}]Bi stream request error,payload={},error={}", connectionId, - grpcRequest.toByteString().toStringUtf8(), throwable); - } - - } - - @Override - public StreamObserver requestBiStream(StreamObserver responseObserver) { - - StreamObserver streamObserver = new StreamObserver() { - - final String connectionId = CONTEXT_KEY_CONN_ID.get(); - - final Integer localPort = CONTEXT_KEY_CONN_LOCAL_PORT.get(); - - final int remotePort = CONTEXT_KEY_CONN_REMOTE_PORT.get(); - - String remoteIp = CONTEXT_KEY_CONN_REMOTE_IP.get(); - - String clientIp = ""; - - @Override - public void onNext(Payload payload) { - - clientIp = payload.getMetadata().getClientIp(); - traceDetailIfNecessary(payload); - - Object parseObj; - try { - parseObj = GrpcUtils.parse(payload); - } catch (Throwable throwable) { - Loggers.REMOTE_DIGEST - .warn("[{}]Grpc request bi stream,payload parse error={}", connectionId, throwable); - return; - } - - if (parseObj == null) { - Loggers.REMOTE_DIGEST - .warn("[{}]Grpc request bi stream,payload parse null ,body={},meta={}", connectionId, - payload.getBody().getValue().toStringUtf8(), payload.getMetadata()); - return; - } - if (parseObj instanceof ConnectionSetupRequest) { - ConnectionSetupRequest setUpRequest = (ConnectionSetupRequest) parseObj; - Map labels = setUpRequest.getLabels(); - String appName = "-"; - if (labels != null && labels.containsKey(Constants.APPNAME)) { - appName = labels.get(Constants.APPNAME); - } - - ConnectionMeta metaInfo = new ConnectionMeta(connectionId, payload.getMetadata().getClientIp(), - remoteIp, remotePort, localPort, ConnectionType.GRPC.getType(), - setUpRequest.getClientVersion(), appName, setUpRequest.getLabels()); - metaInfo.setTenant(setUpRequest.getTenant()); - Connection connection = new GrpcConnection(metaInfo, responseObserver, CONTEXT_KEY_CHANNEL.get()); - connection.setAbilities(setUpRequest.getAbilities()); - boolean rejectSdkOnStarting = metaInfo.isSdkSource() && !ApplicationUtils.isStarted(); - - if (rejectSdkOnStarting || !connectionManager.register(connectionId, connection)) { - //Not register to the connection manager if current server is over limit or server is starting. - try { - Loggers.REMOTE_DIGEST.warn("[{}]Connection register fail,reason:{}", connectionId, - rejectSdkOnStarting ? " server is not started" : " server is over limited."); - connection.request(new ConnectResetRequest(), 3000L); - connection.close(); - } catch (Exception e) { - //Do nothing. - if (connectionManager.traced(clientIp)) { - Loggers.REMOTE_DIGEST - .warn("[{}]Send connect reset request error,error={}", connectionId, e); - } - } - } - - } else if (parseObj instanceof Response) { - Response response = (Response) parseObj; - if (connectionManager.traced(clientIp)) { - Loggers.REMOTE_DIGEST - .warn("[{}]Receive response of server request ,response={}", connectionId, response); - } - RpcAckCallbackSynchronizer.ackNotify(connectionId, response); - connectionManager.refreshActiveTime(connectionId); - } else { - Loggers.REMOTE_DIGEST - .warn("[{}]Grpc request bi stream,unknown payload receive ,parseObj={}", connectionId, - parseObj); - } - - } - - @Override - public void onError(Throwable t) { - if (connectionManager.traced(clientIp)) { - Loggers.REMOTE_DIGEST.warn("[{}]Bi stream on error,error={}", connectionId, t); - } - - if (responseObserver instanceof ServerCallStreamObserver) { - ServerCallStreamObserver serverCallStreamObserver = ((ServerCallStreamObserver) responseObserver); - if (serverCallStreamObserver.isCancelled()) { - //client close the stream. - } else { - try { - serverCallStreamObserver.onCompleted(); - } catch (Throwable throwable) { - //ignore - } - } - } - - } - - @Override - public void onCompleted() { - if (connectionManager.traced(clientIp)) { - Loggers.REMOTE_DIGEST.warn("[{}]Bi stream on completed", connectionId); - } - if (responseObserver instanceof ServerCallStreamObserver) { - ServerCallStreamObserver serverCallStreamObserver = ((ServerCallStreamObserver) responseObserver); - if (serverCallStreamObserver.isCancelled()) { - //client close the stream. - } else { - try { - serverCallStreamObserver.onCompleted(); - } catch (Throwable throwable) { - //ignore - } - - } - } - } - }; - - return streamObserver; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcClusterServer.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcClusterServer.java deleted file mode 100644 index 2a1a710e..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcClusterServer.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.grpc; - -import com.alibaba.nacos.api.common.Constants; -import com.alibaba.nacos.core.utils.GlobalExecutor; -import org.springframework.stereotype.Service; - -import java.util.concurrent.ThreadPoolExecutor; - -/** - * Grpc implementation as a rpc server. - * - * @author liuzunfei - * @version $Id: BaseGrpcServer.java, v 0.1 2020年07月13日 3:42 PM liuzunfei Exp $ - */ -@Service -public class GrpcClusterServer extends BaseGrpcServer { - - @Override - public int rpcPortOffset() { - return Constants.CLUSTER_GRPC_PORT_DEFAULT_OFFSET; - } - - @Override - public ThreadPoolExecutor getRpcExecutor() { - if (!GlobalExecutor.clusterRpcExecutor.allowsCoreThreadTimeOut()) { - GlobalExecutor.clusterRpcExecutor.allowCoreThreadTimeOut(true); - } - return GlobalExecutor.clusterRpcExecutor; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcConnection.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcConnection.java deleted file mode 100644 index f5bf9f52..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcConnection.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.grpc; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.grpc.auto.Payload; -import com.alibaba.nacos.api.remote.DefaultRequestFuture; -import com.alibaba.nacos.api.remote.RequestCallBack; -import com.alibaba.nacos.api.remote.RequestFuture; -import com.alibaba.nacos.api.remote.request.Request; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.common.remote.client.grpc.GrpcUtils; -import com.alibaba.nacos.common.remote.exception.ConnectionAlreadyClosedException; -import com.alibaba.nacos.core.remote.Connection; -import com.alibaba.nacos.core.remote.ConnectionMeta; -import com.alibaba.nacos.core.remote.RpcAckCallbackSynchronizer; -import com.alibaba.nacos.core.utils.Loggers; -import io.grpc.StatusRuntimeException; -import io.grpc.netty.shaded.io.netty.channel.Channel; -import io.grpc.stub.ServerCallStreamObserver; -import io.grpc.stub.StreamObserver; - -/** - * grpc connection. - * - * @author liuzunfei - * @version $Id: GrpcConnection.java, v 0.1 2020年07月13日 7:26 PM liuzunfei Exp $ - */ -public class GrpcConnection extends Connection { - - private StreamObserver streamObserver; - - private Channel channel; - - public GrpcConnection(ConnectionMeta metaInfo, StreamObserver streamObserver, Channel channel) { - super(metaInfo); - this.streamObserver = streamObserver; - this.channel = channel; - } - - private void sendRequestNoAck(Request request) throws NacosException { - try { - //StreamObserver#onNext() is not thread-safe,synchronized is required to avoid direct memory leak. - synchronized (streamObserver) { - - Payload payload = GrpcUtils.convert(request); - traceIfNecessary(payload); - streamObserver.onNext(payload); - } - } catch (Exception e) { - if (e instanceof StatusRuntimeException) { - throw new ConnectionAlreadyClosedException(e); - } - throw e; - } - } - - private void traceIfNecessary(Payload payload) { - String connectionId = null; - if (this.isTraced()) { - try { - connectionId = getMetaInfo().getConnectionId(); - Loggers.REMOTE_DIGEST.info("[{}]Send request to client ,payload={}", connectionId, - payload.toByteString().toStringUtf8()); - } catch (Throwable throwable) { - Loggers.REMOTE_DIGEST - .warn("[{}]Send request to client trace error, ,error={}", connectionId, throwable); - } - } - } - - private DefaultRequestFuture sendRequestInner(Request request, RequestCallBack callBack) throws NacosException { - final String requestId = String.valueOf(PushAckIdGenerator.getNextId()); - request.setRequestId(requestId); - - DefaultRequestFuture defaultPushFuture = new DefaultRequestFuture(getMetaInfo().getConnectionId(), requestId, - callBack, () -> RpcAckCallbackSynchronizer.clearFuture(getMetaInfo().getConnectionId(), requestId)); - - RpcAckCallbackSynchronizer.syncCallback(getMetaInfo().getConnectionId(), requestId, defaultPushFuture); - sendRequestNoAck(request); - return defaultPushFuture; - } - - @Override - public Response request(Request request, long timeoutMills) throws NacosException { - DefaultRequestFuture pushFuture = sendRequestInner(request, null); - try { - return pushFuture.get(timeoutMills); - } catch (Exception e) { - throw new NacosException(NacosException.SERVER_ERROR, e); - } finally { - RpcAckCallbackSynchronizer.clearFuture(getMetaInfo().getConnectionId(), pushFuture.getRequestId()); - } - } - - @Override - public RequestFuture requestFuture(Request request) throws NacosException { - return sendRequestInner(request, null); - } - - @Override - public void asyncRequest(Request request, RequestCallBack requestCallBack) throws NacosException { - sendRequestInner(request, requestCallBack); - } - - @Override - public void close() { - String connectionId = null; - - try { - connectionId = getMetaInfo().getConnectionId(); - - if (isTraced()) { - Loggers.REMOTE_DIGEST.warn("[{}] try to close connection ", connectionId); - } - - closeBiStream(); - channel.close(); - - } catch (Exception e) { - Loggers.REMOTE_DIGEST.warn("[{}] connection close exception : {}", connectionId, e); - } - } - - private void closeBiStream() { - if (streamObserver instanceof ServerCallStreamObserver) { - ServerCallStreamObserver serverCallStreamObserver = ((ServerCallStreamObserver) streamObserver); - if (!serverCallStreamObserver.isCancelled()) { - serverCallStreamObserver.onCompleted(); - } - } - } - - @Override - public boolean isConnected() { - return channel != null && channel.isOpen() && channel.isActive(); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcRequestAcceptor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcRequestAcceptor.java deleted file mode 100644 index 801d3d84..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcRequestAcceptor.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.grpc; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.grpc.auto.Payload; -import com.alibaba.nacos.api.grpc.auto.RequestGrpc; -import com.alibaba.nacos.api.remote.request.Request; -import com.alibaba.nacos.api.remote.request.RequestMeta; -import com.alibaba.nacos.api.remote.request.ServerCheckRequest; -import com.alibaba.nacos.api.remote.response.ErrorResponse; -import com.alibaba.nacos.api.remote.response.Response; -import com.alibaba.nacos.api.remote.response.ServerCheckResponse; -import com.alibaba.nacos.common.remote.client.grpc.GrpcUtils; -import com.alibaba.nacos.core.remote.Connection; -import com.alibaba.nacos.core.remote.ConnectionManager; -import com.alibaba.nacos.core.remote.RequestHandler; -import com.alibaba.nacos.core.remote.RequestHandlerRegistry; -import com.alibaba.nacos.core.utils.Loggers; -import com.alibaba.nacos.sys.utils.ApplicationUtils; -import io.grpc.stub.StreamObserver; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import static com.alibaba.nacos.core.remote.grpc.BaseGrpcServer.CONTEXT_KEY_CONN_ID; - -/** - * rpc request acceptor of grpc. - * - * @author liuzunfei - * @version $Id: GrpcCommonRequestAcceptor.java, v 0.1 2020年09月01日 10:52 AM liuzunfei Exp $ - */ -@Service -public class GrpcRequestAcceptor extends RequestGrpc.RequestImplBase { - - @Autowired - RequestHandlerRegistry requestHandlerRegistry; - - @Autowired - private ConnectionManager connectionManager; - - private void traceIfNecessary(Payload grpcRequest, boolean receive) { - String clientIp = grpcRequest.getMetadata().getClientIp(); - String connectionId = CONTEXT_KEY_CONN_ID.get(); - try { - if (connectionManager.traced(clientIp)) { - Loggers.REMOTE_DIGEST.info("[{}]Payload {},meta={},body={}", connectionId, receive ? "receive" : "send", - grpcRequest.getMetadata().toByteString().toStringUtf8(), - grpcRequest.getBody().toByteString().toStringUtf8()); - } - } catch (Throwable throwable) { - Loggers.REMOTE_DIGEST.error("[{}]Monitor request error,payload={},error={}", connectionId, clientIp, - grpcRequest.toByteString().toStringUtf8()); - } - - } - - @Override - public void request(Payload grpcRequest, StreamObserver responseObserver) { - - traceIfNecessary(grpcRequest, true); - String type = grpcRequest.getMetadata().getType(); - - //server is on starting. - if (!ApplicationUtils.isStarted()) { - Payload payloadResponse = GrpcUtils.convert( - ErrorResponse.build(NacosException.INVALID_SERVER_STATUS, "Server is starting,please try later.")); - traceIfNecessary(payloadResponse, false); - responseObserver.onNext(payloadResponse); - - responseObserver.onCompleted(); - return; - } - - // server check. - if (ServerCheckRequest.class.getSimpleName().equals(type)) { - Payload serverCheckResponseP = GrpcUtils.convert(new ServerCheckResponse(CONTEXT_KEY_CONN_ID.get())); - traceIfNecessary(serverCheckResponseP, false); - responseObserver.onNext(serverCheckResponseP); - responseObserver.onCompleted(); - return; - } - - RequestHandler requestHandler = requestHandlerRegistry.getByRequestType(type); - //no handler found. - if (requestHandler == null) { - Loggers.REMOTE_DIGEST.warn(String.format("[%s] No handler for request type : %s :", "grpc", type)); - Payload payloadResponse = GrpcUtils - .convert(ErrorResponse.build(NacosException.NO_HANDLER, "RequestHandler Not Found")); - traceIfNecessary(payloadResponse, false); - responseObserver.onNext(payloadResponse); - responseObserver.onCompleted(); - return; - } - - //check connection status. - String connectionId = CONTEXT_KEY_CONN_ID.get(); - boolean requestValid = connectionManager.checkValid(connectionId); - if (!requestValid) { - Loggers.REMOTE_DIGEST - .warn("[{}] Invalid connection Id ,connection [{}] is un registered ,", "grpc", connectionId); - Payload payloadResponse = GrpcUtils - .convert(ErrorResponse.build(NacosException.UN_REGISTER, "Connection is unregistered.")); - traceIfNecessary(payloadResponse, false); - responseObserver.onNext(payloadResponse); - responseObserver.onCompleted(); - return; - } - - Object parseObj = null; - try { - parseObj = GrpcUtils.parse(grpcRequest); - } catch (Exception e) { - Loggers.REMOTE_DIGEST - .warn("[{}] Invalid request receive from connection [{}] ,error={}", "grpc", connectionId, e); - Payload payloadResponse = GrpcUtils.convert(ErrorResponse.build(NacosException.BAD_GATEWAY, e.getMessage())); - traceIfNecessary(payloadResponse, false); - responseObserver.onNext(payloadResponse); - responseObserver.onCompleted(); - return; - } - - if (parseObj == null) { - Loggers.REMOTE_DIGEST.warn("[{}] Invalid request receive ,parse request is null", connectionId); - Payload payloadResponse = GrpcUtils - .convert(ErrorResponse.build(NacosException.BAD_GATEWAY, "Invalid request")); - traceIfNecessary(payloadResponse, false); - responseObserver.onNext(payloadResponse); - responseObserver.onCompleted(); - return; - } - - if (!(parseObj instanceof Request)) { - Loggers.REMOTE_DIGEST - .warn("[{}] Invalid request receive ,parsed payload is not a request,parseObj={}", connectionId, - parseObj); - Payload payloadResponse = GrpcUtils - .convert(ErrorResponse.build(NacosException.BAD_GATEWAY, "Invalid request")); - traceIfNecessary(payloadResponse, false); - responseObserver.onNext(payloadResponse); - responseObserver.onCompleted(); - return; - } - - Request request = (Request) parseObj; - try { - Connection connection = connectionManager.getConnection(CONTEXT_KEY_CONN_ID.get()); - RequestMeta requestMeta = new RequestMeta(); - requestMeta.setClientIp(connection.getMetaInfo().getClientIp()); - requestMeta.setConnectionId(CONTEXT_KEY_CONN_ID.get()); - requestMeta.setClientVersion(connection.getMetaInfo().getVersion()); - requestMeta.setLabels(connection.getMetaInfo().getLabels()); - connectionManager.refreshActiveTime(requestMeta.getConnectionId()); - Response response = requestHandler.handleRequest(request, requestMeta); - Payload payloadResponse = GrpcUtils.convert(response); - traceIfNecessary(payloadResponse, false); - responseObserver.onNext(payloadResponse); - responseObserver.onCompleted(); - } catch (Throwable e) { - Loggers.REMOTE_DIGEST - .error("[{}] Fail to handle request from connection [{}] ,error message :{}", "grpc", connectionId, - e); - Payload payloadResponse = GrpcUtils.convert(ErrorResponse.build(e)); - traceIfNecessary(payloadResponse, false); - responseObserver.onNext(payloadResponse); - responseObserver.onCompleted(); - } - - } - -} \ No newline at end of file diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcSdkServer.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcSdkServer.java deleted file mode 100644 index 983395e5..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/GrpcSdkServer.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.grpc; - -import com.alibaba.nacos.api.common.Constants; -import com.alibaba.nacos.core.utils.GlobalExecutor; -import org.springframework.stereotype.Service; - -import java.util.concurrent.ThreadPoolExecutor; - -/** - * Grpc implementation as a rpc server. - * - * @author liuzunfei - * @version $Id: BaseGrpcServer.java, v 0.1 2020年07月13日 3:42 PM liuzunfei Exp $ - */ -@Service -public class GrpcSdkServer extends BaseGrpcServer { - - @Override - public int rpcPortOffset() { - return Constants.SDK_GRPC_PORT_DEFAULT_OFFSET; - } - - @Override - public ThreadPoolExecutor getRpcExecutor() { - return GlobalExecutor.sdkRpcExecutor; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/PushAckIdGenerator.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/PushAckIdGenerator.java deleted file mode 100644 index c8e15af4..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/remote/grpc/PushAckIdGenerator.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.remote.grpc; - -import java.util.concurrent.atomic.AtomicLong; - -/** - * id generator to server push ack. - * - * @author liuzunfei - * @version $Id: PushAckIdGenerator.java, v 0.1 2020年07月20日 5:49 PM liuzunfei Exp $ - */ -public class PushAckIdGenerator { - - private static AtomicLong id = new AtomicLong(0L); - - private static final int ID_PREV_REGEN_OFFSET = 1000; - - /** - * get server push id. - */ - public static long getNextId() { - if (id.longValue() > Long.MAX_VALUE - ID_PREV_REGEN_OFFSET) { - id.getAndSet(0L); - } - return id.incrementAndGet(); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/StorageFactory.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/StorageFactory.java deleted file mode 100644 index 13fa26a1..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/StorageFactory.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.storage; - -import com.alibaba.nacos.core.storage.kv.FileKvStorage; -import com.alibaba.nacos.core.storage.kv.KvStorage; -import com.alibaba.nacos.core.storage.kv.MemoryKvStorage; - -/** - * Ket-value Storage factory. - * - * @author liaochuntao - */ -public final class StorageFactory { - - /** - * Create {@link KvStorage} implementation. - * - * @param type type of {@link KvStorage} - * @param label label for {@code RocksStorage} - * @param baseDir base dir of storage file. - * @return implementation of {@link KvStorage} - * @throws Exception exception during creating {@link KvStorage} - */ - public static KvStorage createKvStorage(KvStorage.KvType type, final String label, final String baseDir) - throws Exception { - switch (type) { - case File: - return new FileKvStorage(baseDir); - case Memory: - return new MemoryKvStorage(); - default: - throw new IllegalArgumentException("this kv type : [" + type.name() + "] not support"); - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/FileKvStorage.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/FileKvStorage.java deleted file mode 100644 index b730a219..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/FileKvStorage.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.storage.kv; - -import com.alibaba.nacos.common.utils.ByteUtils; -import com.alibaba.nacos.core.exception.ErrorCode; -import com.alibaba.nacos.core.exception.KvStorageException; -import com.alibaba.nacos.sys.utils.DiskUtils; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Paths; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.locks.ReentrantReadWriteLock; - -/** - * Kv storage based on file system. // TODO 写文件的方式需要优化 - * - * @author liaochuntao - */ -public class FileKvStorage implements KvStorage { - - private final String baseDir; - - /** - * Ensure that a consistent view exists when implementing file copies. - */ - private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); - - private final ReentrantReadWriteLock.ReadLock readLock = lock.readLock(); - - private final ReentrantReadWriteLock.WriteLock writeLock = lock.writeLock(); - - public FileKvStorage(String baseDir) throws IOException { - this.baseDir = baseDir; - DiskUtils.forceMkdir(baseDir); - } - - @Override - public byte[] get(byte[] key) throws KvStorageException { - readLock.lock(); - try { - final String fileName = new String(key); - File file = Paths.get(baseDir, fileName).toFile(); - if (file.exists()) { - return DiskUtils.readFileBytes(file); - } - return null; - } finally { - readLock.unlock(); - } - } - - @Override - public Map batchGet(List keys) throws KvStorageException { - readLock.lock(); - try { - Map result = new HashMap<>(keys.size()); - for (byte[] key : keys) { - byte[] val = get(key); - if (val != null) { - result.put(key, val); - } - } - return result; - } finally { - readLock.unlock(); - } - } - - @Override - public void put(byte[] key, byte[] value) throws KvStorageException { - readLock.lock(); - try { - final String fileName = new String(key); - File file = Paths.get(baseDir, fileName).toFile(); - try { - DiskUtils.touch(file); - DiskUtils.writeFile(file, value, false); - } catch (IOException e) { - throw new KvStorageException(ErrorCode.KVStorageWriteError, e); - } - } finally { - readLock.unlock(); - } - } - - @Override - public void batchPut(List keys, List values) throws KvStorageException { - readLock.lock(); - try { - if (keys.size() != values.size()) { - throw new KvStorageException(ErrorCode.KVStorageBatchWriteError, - "key's size must be equal to value's size"); - } - int size = keys.size(); - for (int i = 0; i < size; i++) { - put(keys.get(i), values.get(i)); - } - } finally { - readLock.unlock(); - } - } - - @Override - public void delete(byte[] key) throws KvStorageException { - readLock.lock(); - try { - final String fileName = new String(key); - DiskUtils.deleteFile(baseDir, fileName); - } finally { - readLock.unlock(); - } - } - - @Override - public void batchDelete(List keys) throws KvStorageException { - readLock.lock(); - try { - for (byte[] key : keys) { - delete(key); - } - } finally { - readLock.unlock(); - } - } - - @Override - public void doSnapshot(String backupPath) throws KvStorageException { - writeLock.lock(); - try { - File srcDir = Paths.get(baseDir).toFile(); - File descDir = Paths.get(backupPath).toFile(); - DiskUtils.copyDirectory(srcDir, descDir); - } catch (IOException e) { - throw new KvStorageException(ErrorCode.IOCopyDirError, e); - } finally { - writeLock.unlock(); - } - } - - @Override - public void snapshotLoad(String path) throws KvStorageException { - writeLock.lock(); - try { - File srcDir = Paths.get(path).toFile(); - // If snapshot path is non-exist, means snapshot is empty - if (srcDir.exists()) { - // First clean up the local file information, before the file copy - DiskUtils.deleteDirThenMkdir(baseDir); - File descDir = Paths.get(baseDir).toFile(); - DiskUtils.copyDirectory(srcDir, descDir); - } - } catch (IOException e) { - throw new KvStorageException(ErrorCode.IOCopyDirError, e); - } finally { - writeLock.unlock(); - } - } - - @Override - public List allKeys() throws KvStorageException { - List result = new LinkedList<>(); - File[] files = new File(baseDir).listFiles(); - if (null != files) { - for (File each : files) { - if (each.isFile()) { - result.add(ByteUtils.toBytes(each.getName())); - } - } - } - return result; - } - - @Override - public void shutdown() { - } -} \ No newline at end of file diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/KvStorage.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/KvStorage.java deleted file mode 100644 index a976daed..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/KvStorage.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.storage.kv; - -import com.alibaba.nacos.core.exception.KvStorageException; - -import java.util.List; -import java.util.Map; - -/** - * Universal KV storage interface. - * - * @author liaochuntao - */ -public interface KvStorage { - - enum KvType { - /** - * Local file storage. - */ - File, - - /** - * Local memory storage. - */ - Memory, - - /** - * RocksDB storage. - */ - RocksDB, - } - - - /** - * get data by key. - * - * @param key byte[] - * @return byte[] - * @throws KvStorageException KVStorageException - */ - byte[] get(byte[] key) throws KvStorageException; - - /** - * batch get by List byte[]. - * - * @param keys List byte[] - * @return Map byte[], byte[] - * @throws KvStorageException KvStorageException - */ - Map batchGet(List keys) throws KvStorageException; - - /** - * write data. - * - * @param key byte[] - * @param value byte[] - * @throws KvStorageException KvStorageException - */ - void put(byte[] key, byte[] value) throws KvStorageException; - - /** - * batch write. - * - * @param keys List byte[] - * @param values List byte[] - * @throws KvStorageException KvStorageException - */ - void batchPut(List keys, List values) throws KvStorageException; - - /** - * delete with key. - * - * @param key byte[] - * @throws KvStorageException KvStorageException - */ - void delete(byte[] key) throws KvStorageException; - - /** - * batch delete with keys. - * - * @param keys List byte[] - * @throws KvStorageException KvStorageException - */ - void batchDelete(List keys) throws KvStorageException; - - /** - * do snapshot. - * - * @param backupPath snapshot file save path - * @throws KvStorageException KVStorageException - */ - void doSnapshot(final String backupPath) throws KvStorageException; - - /** - * load snapshot. - * - * @param path The path to the snapshot file - * @throws KvStorageException KVStorageException - */ - void snapshotLoad(String path) throws KvStorageException; - - /** - * Get all keys. - * - * @return all keys - * @throws KvStorageException KVStorageException - */ - List allKeys() throws KvStorageException; - - /** - * shutdown. - */ - void shutdown(); - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/MemoryKvStorage.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/MemoryKvStorage.java deleted file mode 100644 index 34577f70..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/storage/kv/MemoryKvStorage.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.storage.kv; - -import com.alibaba.nacos.core.exception.ErrorCode; -import com.alibaba.nacos.core.exception.KvStorageException; -import com.alipay.sofa.jraft.util.BytesUtil; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentSkipListMap; - -/** - * Realization of KV storage based on memory. - * - * @author liaochuntao - */ -public class MemoryKvStorage implements KvStorage { - - private final Map storage = new ConcurrentSkipListMap<>(); - - @Override - public byte[] get(byte[] key) throws KvStorageException { - return storage.get(new Key(key)); - } - - @Override - public Map batchGet(List keys) throws KvStorageException { - Map result = new HashMap<>(keys.size()); - for (byte[] key : keys) { - byte[] val = storage.get(new Key(key)); - if (val != null) { - result.put(key, val); - } - } - return result; - } - - @Override - public void put(byte[] key, byte[] value) throws KvStorageException { - storage.put(new Key(key), value); - } - - @Override - public void batchPut(List keys, List values) throws KvStorageException { - if (keys.size() != values.size()) { - throw new KvStorageException(ErrorCode.KVStorageBatchWriteError.getCode(), - "key's size must be equal to value's size"); - } - int size = keys.size(); - for (int i = 0; i < size; i++) { - storage.put(new Key(keys.get(i)), values.get(i)); - } - } - - @Override - public void delete(byte[] key) throws KvStorageException { - storage.remove(new Key(key)); - } - - @Override - public void batchDelete(List keys) throws KvStorageException { - for (byte[] key : keys) { - storage.remove(new Key(key)); - } - } - - @Override - public void doSnapshot(String backupPath) throws KvStorageException { - throw new UnsupportedOperationException(); - } - - @Override - public void snapshotLoad(String path) throws KvStorageException { - throw new UnsupportedOperationException(); - } - - @Override - public List allKeys() throws KvStorageException { - List result = new LinkedList<>(); - for (Key each : storage.keySet()) { - result.add(each.origin); - } - return result; - } - - @Override - public void shutdown() { - storage.clear(); - } - - private static class Key implements Comparable { - - private final byte[] origin; - - private Key(byte[] origin) { - this.origin = origin; - } - - @Override - public int compareTo(Key o) { - return BytesUtil.compare(origin, o.origin); - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Key key = (Key) o; - return Arrays.equals(origin, key.origin); - } - - @Override - public int hashCode() { - return Arrays.hashCode(origin); - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ClassUtils.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ClassUtils.java deleted file mode 100644 index 7831425d..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ClassUtils.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import org.springframework.core.ResolvableType; - -import java.util.Objects; - -/** - * class operation utils. - * - * @author liaochuntao - */ -@SuppressWarnings("all") -public final class ClassUtils { - - public static Class resolveGenericType(Class declaredClass) { - return (Class) ResolvableType.forClass(declaredClass).getSuperType().resolveGeneric(0); - } - - public static Class resolveGenericTypeByInterface(Class declaredClass) { - return (Class) ResolvableType.forClass(declaredClass).getInterfaces()[0].resolveGeneric(0); - } - - public static Class findClassByName(String className) { - try { - return Class.forName(className); - } catch (Exception e) { - throw new RuntimeException("this class name not found"); - } - } - - public static String getName(Object obj) { - Objects.requireNonNull(obj, "obj"); - return obj.getClass().getName(); - } - - public static String getCanonicalName(Object obj) { - Objects.requireNonNull(obj, "obj"); - return obj.getClass().getCanonicalName(); - } - - public static String getSimplaName(Object obj) { - Objects.requireNonNull(obj, "obj"); - return obj.getClass().getSimpleName(); - } - - public static String getName(Class cls) { - Objects.requireNonNull(cls, "cls"); - return cls.getName(); - } - - public static String getCanonicalName(Class cls) { - Objects.requireNonNull(cls, "cls"); - return cls.getCanonicalName(); - } - - public static String getSimplaName(Class cls) { - Objects.requireNonNull(cls, "cls"); - return cls.getSimpleName(); - } - -} \ No newline at end of file diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/Commons.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/Commons.java deleted file mode 100644 index 1a6d95b1..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/Commons.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -/** - * Constants. - * - * @author liaochuntao - */ -public final class Commons { - - public static final String NACOS_SERVER_CONTEXT = "/nacos"; - - public static final String NACOS_SERVER_VERSION = "/v1"; - - public static final String NACOS_SERVER_VERSION_V2 = "/v2"; - - public static final String DEFAULT_NACOS_CORE_CONTEXT = NACOS_SERVER_VERSION + "/core"; - - public static final String NACOS_CORE_CONTEXT = DEFAULT_NACOS_CORE_CONTEXT; - - public static final String NACOS_CORE_CONTEXT_V2 = NACOS_SERVER_VERSION_V2 + "/core"; - - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/GenericType.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/GenericType.java deleted file mode 100644 index c4ef5784..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/GenericType.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import com.alibaba.nacos.common.utils.Preconditions; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.lang.reflect.TypeVariable; - -/** - * Encapsulates third party tools for generics acquisition. - * - * @author liaochuntao - */ -public class GenericType { - - private static final long serialVersionUID = -2103808581228167629L; - - private final Type runtimeType; - - final Type capture() { - Type superclass = getClass().getGenericSuperclass(); - Preconditions.checkArgument(superclass instanceof ParameterizedType, "%s isn't parameterized", superclass); - return ((ParameterizedType) superclass).getActualTypeArguments()[0]; - } - - protected GenericType() { - this.runtimeType = capture(); - if (runtimeType instanceof TypeVariable) { - throw new IllegalArgumentException("runtimeType must be ParameterizedType Class"); - } - } - - /** - * Returns the represented type. - */ - public final Type getType() { - return runtimeType; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/GlobalExecutor.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/GlobalExecutor.java deleted file mode 100644 index 275b50f1..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/GlobalExecutor.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import com.alibaba.nacos.common.executor.ExecutorFactory; -import com.alibaba.nacos.common.executor.NameThreadFactory; -import com.alibaba.nacos.common.utils.ThreadFactoryBuilder; -import com.alibaba.nacos.sys.env.EnvUtil; - -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - -/** - * core module global executor. - * - * @author liaochuntao - */ -@SuppressWarnings("all") -public class GlobalExecutor { - - private static final ScheduledExecutorService COMMON_EXECUTOR = ExecutorFactory.Managed - .newScheduledExecutorService(ClassUtils.getCanonicalName(GlobalExecutor.class), 4, - new NameThreadFactory("com.alibaba.nacos.core.common")); - - private static final ScheduledExecutorService DISTRO_EXECUTOR = ExecutorFactory.Managed - .newScheduledExecutorService(ClassUtils.getCanonicalName(GlobalExecutor.class), - EnvUtil.getAvailableProcessors(2), new NameThreadFactory("com.alibaba.nacos.core.protocal.distro")); - - public static final ThreadPoolExecutor sdkRpcExecutor = new ThreadPoolExecutor( - EnvUtil.getAvailableProcessors(RemoteUtils.getRemoteExecutorTimesOfProcessors()), - EnvUtil.getAvailableProcessors(RemoteUtils.getRemoteExecutorTimesOfProcessors()), 60L, TimeUnit.SECONDS, - new LinkedBlockingQueue<>(RemoteUtils.getRemoteExecutorQueueSize()), - new ThreadFactoryBuilder().daemon(true).nameFormat("nacos-grpc-executor-%d").build()); - - public static final ThreadPoolExecutor clusterRpcExecutor = new ThreadPoolExecutor( - EnvUtil.getAvailableProcessors(RemoteUtils.getRemoteExecutorTimesOfProcessors()), - EnvUtil.getAvailableProcessors(RemoteUtils.getRemoteExecutorTimesOfProcessors()), 60L, TimeUnit.SECONDS, - new LinkedBlockingQueue<>(RemoteUtils.getRemoteExecutorQueueSize()), - new ThreadFactoryBuilder().daemon(true).nameFormat("nacos-cluster-grpc-executor-%d").build()); - - public static void runWithoutThread(Runnable runnable) { - runnable.run(); - } - - public static void executeByCommon(Runnable runnable) { - if (COMMON_EXECUTOR.isShutdown()) { - return; - } - COMMON_EXECUTOR.execute(runnable); - } - - public static void scheduleByCommon(Runnable runnable, long delayMs) { - if (COMMON_EXECUTOR.isShutdown()) { - return; - } - COMMON_EXECUTOR.schedule(runnable, delayMs, TimeUnit.MILLISECONDS); - } - - public static void submitLoadDataTask(Runnable runnable) { - DISTRO_EXECUTOR.submit(runnable); - } - - public static void submitLoadDataTask(Runnable runnable, long delay) { - DISTRO_EXECUTOR.schedule(runnable, delay, TimeUnit.MILLISECONDS); - } - - public static void schedulePartitionDataTimedSync(Runnable runnable, long interval) { - DISTRO_EXECUTOR.scheduleWithFixedDelay(runnable, interval, interval, TimeUnit.MILLISECONDS); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/Loggers.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/Loggers.java deleted file mode 100644 index b6fb75cf..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/Loggers.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import ch.qos.logback.classic.Level; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Loggers for core. - * - * @author nkorange - * @since 1.2.0 - */ -public class Loggers { - - public static final Logger AUTH = LoggerFactory.getLogger("com.alibaba.nacos.core.auth"); - - public static final Logger CORE = LoggerFactory.getLogger("com.alibaba.nacos.core"); - - public static final Logger RAFT = LoggerFactory.getLogger("com.alibaba.nacos.core.protocol.raft"); - - public static final Logger DISTRO = LoggerFactory.getLogger("com.alibaba.nacos.core.protocol.distro"); - - public static final Logger CLUSTER = LoggerFactory.getLogger("com.alibaba.nacos.core.cluster"); - - public static final Logger REMOTE = LoggerFactory.getLogger("com.alibaba.nacos.core.remote"); - - public static final Logger REMOTE_PUSH = LoggerFactory.getLogger("com.alibaba.nacos.core.remote.push"); - - public static final Logger REMOTE_DIGEST = LoggerFactory.getLogger("com.alibaba.nacos.core.remote.digest"); - - public static final Logger TPS_CONTROL_DIGEST = LoggerFactory - .getLogger("com.alibaba.nacos.core.remote.control.digest"); - - public static final Logger TPS_CONTROL = LoggerFactory.getLogger("com.alibaba.nacos.core.remote.control"); - - public static final Logger TPS_CONTROL_DETAIL = LoggerFactory.getLogger("com.alibaba.nacos.core.remote.control.detail"); - - public static void setLogLevel(String logName, String level) { - - switch (logName) { - case "core-auth": - ((ch.qos.logback.classic.Logger) AUTH).setLevel(Level.valueOf(level)); - break; - case "core": - ((ch.qos.logback.classic.Logger) CORE).setLevel(Level.valueOf(level)); - break; - case "core-raft": - ((ch.qos.logback.classic.Logger) RAFT).setLevel(Level.valueOf(level)); - break; - case "core-distro": - ((ch.qos.logback.classic.Logger) DISTRO).setLevel(Level.valueOf(level)); - break; - case "core-cluster": - ((ch.qos.logback.classic.Logger) CLUSTER).setLevel(Level.valueOf(level)); - break; - default: - break; - } - - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/OverrideParameterRequestWrapper.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/OverrideParameterRequestWrapper.java deleted file mode 100644 index 4d238908..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/OverrideParameterRequestWrapper.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; -import java.util.HashMap; -import java.util.Map; - -/** - * A request wrapper to override the parameters. - * - *

Referenced article is https://blog.csdn.net/xieyuooo/article/details/8447301 - * - * @author nkorange - * @since 0.8.0 - */ -public class OverrideParameterRequestWrapper extends HttpServletRequestWrapper { - - private Map params = new HashMap<>(); - - /** - * Constructs a request object wrapping the given request. - * - * @param request The request to wrap - * @throws IllegalArgumentException if the request is null - */ - public OverrideParameterRequestWrapper(HttpServletRequest request) { - super(request); - this.params.putAll(request.getParameterMap()); - } - - public static OverrideParameterRequestWrapper buildRequest(HttpServletRequest request) { - return new OverrideParameterRequestWrapper(request); - } - - /** - * build OverrideParameterRequestWrapper and addParameter. - * - * @param request origin HttpServletRequest - * @param name name - * @param value value - * @return {@link OverrideParameterRequestWrapper} - */ - public static OverrideParameterRequestWrapper buildRequest(HttpServletRequest request, String name, String value) { - OverrideParameterRequestWrapper requestWrapper = new OverrideParameterRequestWrapper(request); - requestWrapper.addParameter(name, value); - return requestWrapper; - } - - /** - * build OverrideParameterRequestWrapper and addParameter. - * - * @param request origin HttpServletRequest - * @param appendParameters need to append to request - * @return {@link OverrideParameterRequestWrapper} - */ - public static OverrideParameterRequestWrapper buildRequest(HttpServletRequest request, - Map appendParameters) { - OverrideParameterRequestWrapper requestWrapper = new OverrideParameterRequestWrapper(request); - requestWrapper.params.putAll(appendParameters); - return requestWrapper; - } - - @Override - public String getParameter(String name) { - String[] values = params.get(name); - if (values == null || values.length == 0) { - return null; - } - return values[0]; - } - - @Override - public Map getParameterMap() { - return params; - } - - @Override - public String[] getParameterValues(String name) { - return params.get(name); - } - - /** - * addParameter. - * - * @param name name - * @param value value - */ - public void addParameter(String name, String value) { - if (value != null) { - params.put(name, new String[] {value}); - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/RemoteUtils.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/RemoteUtils.java deleted file mode 100644 index 863ee287..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/RemoteUtils.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import com.alibaba.nacos.common.utils.NumberUtils; - -/** - * util of remote. - * - * @author liuzunfei - * @version $Id: RemoteUtils.java, v 0.1 2020年11月12日 8:54 PM liuzunfei Exp $ - */ -public class RemoteUtils { - - public static final float LOADER_FACTOR = 0.1f; - - /** - * Default remote execute times for CPU count of task processors. - */ - private static final int REMOTE_EXECUTOR_TIMES_OF_PROCESSORS = 1 << 4; - - /** - * Default remote execute queue size: 16384. - */ - private static final int REMOTE_EXECUTOR_QUEUE_SIZE = 1 << 14; - - /** - * get remote executors thread times of processors,default is 64. see the usage of this method for detail. - * - * @return times of processors. - */ - public static int getRemoteExecutorTimesOfProcessors() { - String timesString = System.getProperty("remote.executor.times.of.processors"); - if (NumberUtils.isDigits(timesString)) { - int times = Integer.parseInt(timesString); - return times > 0 ? times : REMOTE_EXECUTOR_TIMES_OF_PROCESSORS; - } else { - return REMOTE_EXECUTOR_TIMES_OF_PROCESSORS; - } - } - - public static int getRemoteExecutorQueueSize() { - String queueSizeString = System.getProperty("remote.executor.queue.size"); - if (NumberUtils.isDigits(queueSizeString)) { - int size = Integer.parseInt(queueSizeString); - return size > 0 ? size : REMOTE_EXECUTOR_QUEUE_SIZE; - } else { - return REMOTE_EXECUTOR_QUEUE_SIZE; - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseHttpRequest.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseHttpRequest.java deleted file mode 100644 index 0d2be058..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseHttpRequest.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import javax.servlet.http.HttpServletRequest; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -/** - * ReuseHttpRequest. - * - * @author liaochuntao - */ -public interface ReuseHttpRequest extends HttpServletRequest { - - /** - * get request body. - * - * @return object - * @throws Exception exception - */ - Object getBody() throws Exception; - - /** - * Remove duplicate values from the array. - * - * @param request {@link HttpServletRequest} - * @return {@link Map} - */ - default Map toDuplication(HttpServletRequest request) { - Map tmp = request.getParameterMap(); - Map result = new HashMap<>(tmp.size()); - Set set = new HashSet<>(); - for (Map.Entry entry : tmp.entrySet()) { - set.addAll(Arrays.asList(entry.getValue())); - result.put(entry.getKey(), set.toArray(new String[0])); - set.clear(); - } - return result; - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseHttpServletRequest.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseHttpServletRequest.java deleted file mode 100644 index d93d27e3..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseHttpServletRequest.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import com.alibaba.nacos.common.http.HttpUtils; -import com.alibaba.nacos.common.http.param.MediaType; -import com.alibaba.nacos.common.utils.ByteUtils; -import com.alibaba.nacos.common.utils.StringUtils; - -import javax.servlet.ReadListener; -import javax.servlet.ServletInputStream; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; -import java.util.Map; - -/** - * httprequest wrapper. - * - * @author liaochuntao - */ -public class ReuseHttpServletRequest extends HttpServletRequestWrapper implements ReuseHttpRequest { - - private final HttpServletRequest target; - - private byte[] body; - - private Map stringMap; - - /** - * Constructs a request object wrapping the given request. - * - * @param request The request to wrap - * @throws IllegalArgumentException if the request is null - */ - public ReuseHttpServletRequest(HttpServletRequest request) throws IOException { - super(request); - this.target = request; - this.body = toBytes(request.getInputStream()); - this.stringMap = toDuplication(request); - } - - @Override - public Object getBody() throws Exception { - if (StringUtils.containsIgnoreCase(target.getContentType(), MediaType.MULTIPART_FORM_DATA)) { - return target.getParts(); - } else { - String s = ByteUtils.toString(body); - if (StringUtils.isBlank(s)) { - return HttpUtils - .encodingParams(HttpUtils.translateParameterMap(stringMap), StandardCharsets.UTF_8.name()); - } - return s; - } - } - - private byte[] toBytes(InputStream inputStream) throws IOException { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] buffer = new byte[1024]; - int n = 0; - while ((n = inputStream.read(buffer)) != -1) { - bos.write(buffer, 0, n); - } - return bos.toByteArray(); - } - - @Override - public BufferedReader getReader() throws IOException { - return new BufferedReader(new InputStreamReader(getInputStream())); - } - - @Override - public Map getParameterMap() { - return stringMap; - } - - @Override - public String getParameter(String name) { - String[] values = stringMap.get(name); - if (values == null || values.length == 0) { - return null; - } - return values[0]; - } - - @Override - public String[] getParameterValues(String name) { - return stringMap.get(name); - } - - @Override - public ServletInputStream getInputStream() throws IOException { - - final ByteArrayInputStream inputStream = new ByteArrayInputStream(body); - - return new ServletInputStream() { - @Override - public int read() throws IOException { - return inputStream.read(); - } - - @Override - public boolean isFinished() { - return false; - } - - @Override - public boolean isReady() { - return false; - } - - @Override - public void setReadListener(ReadListener readListener) { - } - }; - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseUploadFileHttpServletRequest.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseUploadFileHttpServletRequest.java deleted file mode 100644 index d0221b94..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/ReuseUploadFileHttpServletRequest.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import com.alibaba.nacos.common.http.HttpUtils; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import org.springframework.web.multipart.MultipartException; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest; - -import javax.servlet.http.HttpServletRequest; -import java.nio.charset.StandardCharsets; -import java.util.Map; -import java.util.Objects; - -/** - * httprequest wrapper. - * - * @author liaochuntao - */ -public class ReuseUploadFileHttpServletRequest extends StandardMultipartHttpServletRequest implements ReuseHttpRequest { - - private static final String DEFAULT_FILE_NAME = "file"; - - private final HttpServletRequest request; - - private Map stringMap; - - public ReuseUploadFileHttpServletRequest(HttpServletRequest request) throws MultipartException { - super(request); - this.request = request; - this.stringMap = toDuplication(request); - } - - @Override - public Map getParameterMap() { - return stringMap; - } - - @Override - public String getParameter(String name) { - String[] values = stringMap.get(name); - if (values == null || values.length == 0) { - return null; - } - return values[0]; - } - - @Override - public String[] getParameterValues(String name) { - return stringMap.get(name); - } - - @Override - public Object getBody() throws Exception { - MultipartFile target = super.getFile(DEFAULT_FILE_NAME); - if (Objects.nonNull(target)) { - MultiValueMap parts = new LinkedMultiValueMap<>(); - parts.add(DEFAULT_FILE_NAME, target.getResource()); - return parts; - } else { - // The content-type for the configuration publication might be "multipart/form-data" - return HttpUtils.encodingParams(HttpUtils.translateParameterMap(stringMap), StandardCharsets.UTF_8.name()); - } - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/StringPool.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/StringPool.java deleted file mode 100644 index 4d111c36..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/StringPool.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 1999-2020 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import com.alibaba.nacos.common.cache.Cache; -import com.alibaba.nacos.common.cache.builder.CacheBuilder; - -import java.util.concurrent.TimeUnit; - -/** - * StringPool,aim to reduce memory allocation. - * - * @author liuzunfei - * @author ZZQ - * @version $Id: StringPool.java, v 0.1 2020年11月12日 3:05 PM liuzunfei Exp $ - */ -public class StringPool { - - private static final Cache GROUP_KEY_CACHE; - - static { - GROUP_KEY_CACHE = CacheBuilder.builder().maximumSize(5000000) - .expireNanos(180, TimeUnit.SECONDS) - .lru(true) - .build(); - } - - /** - * get singleton string value from the pool. - * - * @param key key string to be pooled. - * @return value after pooled. - */ - public static String get(String key) { - if (key == null) { - return key; - } - String value = GROUP_KEY_CACHE.get(key); - if (value == null) { - GROUP_KEY_CACHE.put(key, key); - value = GROUP_KEY_CACHE.get(key); - } - - return value; - } - - public static long size() { - return GROUP_KEY_CACHE.getSize(); - } - - public static void remove(String key) { - GROUP_KEY_CACHE.remove(key); - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/TimerContext.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/TimerContext.java deleted file mode 100644 index 4d9b53b6..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/TimerContext.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import com.alibaba.nacos.common.utils.LoggerUtils; -import org.slf4j.Logger; - -import java.util.HashMap; -import java.util.Map; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Supplier; - -/** - * Simple task time calculation,Currently only the task time statistics task that supports synchronizing code blocks is - * supported. - * - * @author liaochuntao - */ -public class TimerContext { - - private static final ThreadLocal> TIME_RECORD = ThreadLocal.withInitial(() -> new HashMap<>(2)); - - /** - * Record context start time. - * - * @param name context name - */ - public static void start(final String name) { - TIME_RECORD.get().put(name, System.currentTimeMillis()); - } - - public static void end(final String name, final Logger logger) { - end(name, logger, LoggerUtils.DEBUG); - } - - /** - * End the task and print based on the log level. - * - * @param name context name - * @param logger logger - * @param level logger level - */ - public static void end(final String name, final Logger logger, final String level) { - Map record = TIME_RECORD.get(); - long contextTime = System.currentTimeMillis() - record.remove(name); - if (record.isEmpty()) { - TIME_RECORD.remove(); - } - switch (level) { - case LoggerUtils.DEBUG: - LoggerUtils.printIfDebugEnabled(logger, "{} cost time : {} ms", name, contextTime); - break; - case LoggerUtils.INFO: - LoggerUtils.printIfInfoEnabled(logger, "{} cost time : {} ms", name, contextTime); - break; - case LoggerUtils.TRACE: - LoggerUtils.printIfTraceEnabled(logger, "{} cost time : {} ms", name, contextTime); - break; - case LoggerUtils.ERROR: - LoggerUtils.printIfErrorEnabled(logger, "{} cost time : {} ms", name, contextTime); - break; - case LoggerUtils.WARN: - LoggerUtils.printIfWarnEnabled(logger, "{} cost time : {} ms", name, contextTime); - break; - default: - LoggerUtils.printIfErrorEnabled(logger, "level not found , {} cost time : {} ms", name, contextTime); - break; - } - } - - /** - * Execution with time-consuming calculations for {@link Runnable}. - * - * @param job runnable - * @param name job name - * @param logger logger - */ - public static void run(final Runnable job, final String name, final Logger logger) { - start(name); - try { - job.run(); - } finally { - end(name, logger); - } - } - - /** - * Execution with time-consuming calculations for {@link Supplier}. - * - * @param job Supplier - * @param name job name - * @param logger logger - */ - public static V run(final Supplier job, final String name, final Logger logger) { - start(name); - try { - return job.get(); - } finally { - end(name, logger); - } - } - - /** - * Execution with time-consuming calculations for {@link Function}. - * - * @param job Function - * @param args args - * @param name job name - * @param logger logger - */ - public static R run(final Function job, T args, final String name, final Logger logger) { - start(name); - try { - return job.apply(args); - } finally { - end(name, logger); - } - } - - /** - * Execution with time-consuming calculations for {@link Consumer}. - * - * @param job Consumer - * @param args args - * @param name job name - * @param logger logger - */ - public static void run(final Consumer job, T args, final String name, final Logger logger) { - start(name); - try { - job.accept(args); - } finally { - end(name, logger); - } - } - -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/WebUtils.java b/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/WebUtils.java deleted file mode 100644 index ed35a484..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/java/com/alibaba/nacos/core/utils/WebUtils.java +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.core.utils; - -import com.alibaba.nacos.common.constant.HttpHeaderConsts; -import com.alibaba.nacos.common.http.HttpUtils; -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.model.RestResultUtils; -import com.alibaba.nacos.sys.utils.DiskUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import org.springframework.web.context.request.async.DeferredResult; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.nio.charset.StandardCharsets; -import java.util.Objects; -import java.util.concurrent.CompletableFuture; -import java.util.function.Consumer; -import java.util.function.Function; - -import static com.alibaba.nacos.common.constant.HttpHeaderConsts.ACCEPT_ENCODING; -import static com.alibaba.nacos.common.http.param.MediaType.APPLICATION_JSON; - -/** - * web utils. - * - * @author nkorange - */ -public class WebUtils { - - private static final String ENCODING_KEY = "encoding"; - - private static final String COMMA = ","; - - private static final String SEMI = ";"; - - private static final String TMP_SUFFIX = ".tmp"; - - /** - * get target value from parameterMap, if not found will throw {@link IllegalArgumentException}. - * - * @param req {@link HttpServletRequest} - * @param key key - * @return value - */ - public static String required(final HttpServletRequest req, final String key) { - String value = req.getParameter(key); - if (StringUtils.isEmpty(value)) { - throw new IllegalArgumentException("Param '" + key + "' is required."); - } - String encoding = req.getParameter(ENCODING_KEY); - return resolveValue(value, encoding); - } - - /** - * get target value from parameterMap, if not found will return default value. - * - * @param req {@link HttpServletRequest} - * @param key key - * @param defaultValue default value - * @return value - */ - public static String optional(final HttpServletRequest req, final String key, final String defaultValue) { - if (!req.getParameterMap().containsKey(key) || req.getParameterMap().get(key)[0] == null) { - return defaultValue; - } - String value = req.getParameter(key); - if (StringUtils.isBlank(value)) { - return defaultValue; - } - String encoding = req.getParameter(ENCODING_KEY); - return resolveValue(value, encoding); - } - - /** - * decode target value. - * - * @param value value - * @param encoding encode - * @return Decoded data - */ - private static String resolveValue(String value, String encoding) { - if (StringUtils.isEmpty(encoding)) { - encoding = StandardCharsets.UTF_8.name(); - } - try { - value = new String(value.getBytes(StandardCharsets.UTF_8), encoding); - } catch (UnsupportedEncodingException ignore) { - } - return value.trim(); - } - - /** - * decode target value with UrlDecode. - * - *

Under Content-Type:application/x-www-form-urlencoded situation. - * - * @param value value - * @param encoding encode - * @return Decoded data - */ - private static String resolveValueWithUrlDecode(String value, String encoding) { - if (StringUtils.isEmpty(encoding)) { - encoding = StandardCharsets.UTF_8.name(); - } - try { - value = HttpUtils.decode(new String(value.getBytes(StandardCharsets.UTF_8), encoding), encoding); - } catch (UnsupportedEncodingException ignore) { - } catch (Exception ex) { - // If the value contains a special character without encoding (such as "[IPv6]"), - // a URLDecoder exception is thrown, which is ignored and the original value is returned - final String seq = "URLDecoder"; - if (!StringUtils.contains(ex.toString(), seq)) { - throw ex; - } - } - return value.trim(); - } - - /** - * get accept encode from request. - * - * @param req {@link HttpServletRequest} - * @return accept encode - */ - public static String getAcceptEncoding(HttpServletRequest req) { - String encode = StringUtils.defaultIfEmpty(req.getHeader(ACCEPT_ENCODING), StandardCharsets.UTF_8.name()); - encode = encode.contains(COMMA) ? encode.substring(0, encode.indexOf(COMMA)) : encode; - return encode.contains(SEMI) ? encode.substring(0, encode.indexOf(SEMI)) : encode; - } - - /** - * Returns the value of the request header "user-agent" as a String. - * - * @param request HttpServletRequest - * @return the value of the request header "user-agent", or the value of the request header "client-version" if the - * request does not have a header of "user-agent". - */ - public static String getUserAgent(HttpServletRequest request) { - String userAgent = request.getHeader(HttpHeaderConsts.USER_AGENT_HEADER); - if (StringUtils.isEmpty(userAgent)) { - userAgent = StringUtils - .defaultIfEmpty(request.getHeader(HttpHeaderConsts.CLIENT_VERSION_HEADER), StringUtils.EMPTY); - } - return userAgent; - } - - /** - * response data to client. - * - * @param response {@link HttpServletResponse} - * @param body body - * @param code http code - * @throws IOException IOException - */ - public static void response(HttpServletResponse response, String body, int code) throws IOException { - response.setCharacterEncoding(StandardCharsets.UTF_8.name()); - response.setContentType(APPLICATION_JSON); - response.getWriter().write(body); - response.setStatus(code); - } - - /** - * Handle file upload operations. - * - * @param multipartFile file - * @param consumer post processor - * @param response {@link DeferredResult} - */ - public static void onFileUpload(MultipartFile multipartFile, Consumer consumer, - DeferredResult> response) { - - if (Objects.isNull(multipartFile) || multipartFile.isEmpty()) { - response.setResult(RestResultUtils.failed("File is empty")); - return; - } - File tmpFile = null; - try { - tmpFile = DiskUtils.createTmpFile(multipartFile.getName(), TMP_SUFFIX); - multipartFile.transferTo(tmpFile); - consumer.accept(tmpFile); - } catch (Throwable ex) { - if (!response.isSetOrExpired()) { - response.setResult(RestResultUtils.failed(ex.getMessage())); - } - } finally { - DiskUtils.deleteQuietly(tmpFile); - } - } - - /** - * Register DeferredResult in the callback of CompletableFuture. - * - * @param deferredResult {@link DeferredResult} - * @param future {@link CompletableFuture} - * @param errorHandler {@link Function} - * @param target type - */ - public static void process(DeferredResult deferredResult, CompletableFuture future, - Function errorHandler) { - - deferredResult.onTimeout(future::join); - - future.whenComplete((t, throwable) -> { - if (Objects.nonNull(throwable)) { - deferredResult.setResult(errorHandler.apply(throwable)); - return; - } - deferredResult.setResult(t); - }); - } - - /** - * Register DeferredResult in the callback of CompletableFuture. - * - * @param deferredResult {@link DeferredResult} - * @param future {@link CompletableFuture} - * @param success if future success, callback runnable - * @param errorHandler {@link Function} - * @param target type - */ - public static void process(DeferredResult deferredResult, CompletableFuture future, Runnable success, - Function errorHandler) { - - deferredResult.onTimeout(future::join); - - future.whenComplete((t, throwable) -> { - if (Objects.nonNull(throwable)) { - deferredResult.setResult(errorHandler.apply(throwable)); - return; - } - success.run(); - deferredResult.setResult(t); - }); - } -} diff --git a/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/logback/nacos.xml b/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/logback/nacos.xml deleted file mode 100644 index 2ebac1f8..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/logback/nacos.xml +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - UTF-8 - - - - - ${LOG_HOME}/nacos.log - true - - ${LOG_HOME}/nacos.log.%d{yyyy-MM-dd}.%i - 50MB - 15 - 512MB - true - - - %date %level %msg%n%n - UTF-8 - - - - - ${LOG_HOME}/core-auth.log - true - - ${LOG_HOME}/core-auth.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - ${LOG_HOME}/protocol-raft.log - true - - ${LOG_HOME}/protocol-raft.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - ${LOG_HOME}/remote-core.log - true - - ${LOG_HOME}/remote-core.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - ${LOG_HOME}/remote-digest.log - true - - ${LOG_HOME}/remote-digest.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - ${LOG_HOME}/remote-push.log - true - - ${LOG_HOME}/remote-push.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - - ${LOG_HOME}/tps-control.log - true - - ${LOG_HOME}/tps-control.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - ${LOG_HOME}/tps-control-detail.log - true - - ${LOG_HOME}/tps-control-detail.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - ${LOG_HOME}/tps-control-digest.log - true - - ${LOG_HOME}/tps-control-digest.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - - ${LOG_HOME}/protocol-distro.log - true - - ${LOG_HOME}/protocol-distro.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - ${LOG_HOME}/nacos-cluster.log - true - - ${LOG_HOME}/nacos-cluster.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - ${LOG_HOME}/alipay-jraft.log - true - - ${LOG_HOME}/alipay-jraft.log.%d{yyyy-MM-dd}.%i - 2GB - 7 - 7GB - true - - - %date %level %msg%n%n - UTF-8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/services/com.alibaba.nacos.core.ability.ServerAbilityInitializer b/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/services/com.alibaba.nacos.core.ability.ServerAbilityInitializer deleted file mode 100644 index 239d8712..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/services/com.alibaba.nacos.core.ability.ServerAbilityInitializer +++ /dev/null @@ -1,17 +0,0 @@ -# -# Copyright 1999-2021 Alibaba Group Holding Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -com.alibaba.nacos.core.ability.RemoteAbilityInitializer diff --git a/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/services/com.alibaba.nacos.core.listener.NacosApplicationListener b/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/services/com.alibaba.nacos.core.listener.NacosApplicationListener deleted file mode 100644 index 4adb1d49..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/services/com.alibaba.nacos.core.listener.NacosApplicationListener +++ /dev/null @@ -1,18 +0,0 @@ -# -# Copyright 1999-2021 Alibaba Group Holding Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -com.alibaba.nacos.core.listener.LoggingApplicationListener -com.alibaba.nacos.core.listener.StartingApplicationListener \ No newline at end of file diff --git a/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/spring.factories b/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/spring.factories deleted file mode 100644 index af692650..00000000 --- a/ruoyi-visual/ruoyi-nacos/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,6 +0,0 @@ -# ApplicationListener -org.springframework.context.ApplicationListener=\ -com.alibaba.nacos.core.code.StandaloneProfileApplicationListener -# SpringApplicationRunListener -org.springframework.boot.SpringApplicationRunListener=\ -com.alibaba.nacos.core.code.SpringApplicationRunListener diff --git a/ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-auth-2.1.2.jar b/ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-auth-2.1.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..daf71f01460a61c0782d401d9e7e67f4644dd1ce GIT binary patch literal 26415 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 F`X7wTW>f$G literal 0 HcmV?d00001 diff --git a/ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-cmdb-2.1.2.jar b/ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-cmdb-2.1.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..d2665d2cae4b60331eecc020d17a1f46947277c0 GIT binary patch literal 16659 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
oJx;tXQoQ|wxm3OJ z&8TW%4@aBMCvMG^>7JZ)oX7MV`p=jHdlNoW9)u>fL{7zlP;fc-9G!_!(R7W|ueiHp z=^DeKfZSFcpG;I5j;TZYVTM5(&YCcmGG6*eQFnOLd5>Pm-ledZ+Qzn!N3B&wkqiu1 zjB1JSmN1RdzCL0#GkZkEG6|#xwHD~D{+&4uVQJv<-0E+I{0tR~TsR&qE;FqN)5Ja! zm^aWB-FdJ_V#y;=9uETRr4fuUFaH$<9{nsfc6fI~gkgbzIQ|B?{(egyF>@<`io4x^ zkZOk7k~*p>+M8?*yulUT&z^hO$;Rj8lM?xX#3<^U7}||Sh#@jLp>)Kj=xGC{G{Agf&X66}D3hFl0IkZJT}iFr#r%N*V>f52k*LM$JRq{e6yTvj$JaB&Lp*(9jN~V zW(lc;soa|{2F{t3p8nx9*Nrm{hayDIF!!K{d?H$|U_6SPZ1AR?3fjU@Qg5D3y5T)8 zI!L_(NvR~e&ouBnA>K+s4K-IgX=<&OAbEbPM$(9pCQSyAa#9OmFWv<%*ZOB30Xm^g0%S{)iFHf)+( zAQLX_?2ynjh5mIgEsFQ(rzJD#6R{xGu0xPCF>0=dbAOmRy;{>5)et>&xiL?=efIoIZDmK&K&k5Bd%&lSCE(+kq>^i339Z-QK{xY%48 z^}0Sl5I^X2VK#~alrG80(Y^Wxkb-&o8@^pd`sZ;7p*ED7(nXQx2=pL>XMg~1V48cq zsV){#Qg3y}nOT~}UuUpNf2@pk`z4f<8JITF5+&sFcAw`Cd|weE_xcupyl3~M!J6ub zkApD5dJXf0?E^kwewu015U8>r_u{VmYz5$I}_~FiCv$! zSQ%i!^0gs>%{1ThUNUc2);00zzLNVIdorQKGd$syuAkT&R2&Y;eQkxU@X2d@k?$aI-n}d;$YhGN&9>)@%n39 zH)gK(ZHS2U4!f7HPowpfI(xJYUH-RvjlXjBuCE4zQh`nOfo zry5SE9nhRX)a3vS>>73$bp%iJv0*RBa-n`FBTY7GRaZ}mv(xPRTRu7?bI?jV%Hdu$ zpPVbrE9ac%sqzD_^M-@ks#F%e)}rHW#y*d08F~G$K*kzgfF4Bt&@?V*a}|jz-p9t^(-nJCJ5*p{C-s=T7K7^!~L9;9WpwAdW17BvS_%YuJzD(u!R$JpKEI=J625u29 zAtPNOyvw3xb9>P=Z0SQmuOu$UNH6<@|Ffk8V^A-K`)nz>KfN6G|Kc3~Hx|v&&e_h$&iWr=oUAftJEw#!fX3%w ziJw5(P(-maGs};Ut`UY&v_Tw43t5^(i>GOC#CXCGL$IPS0DVni-F6c4jhMVmVpr@5 z1~a%;6`iE5cQJb=E1l15^4Le{#Sw0saFr5a{!feTE|hIXORx(B9+WNKGWk9swZUNf z*Q%9Mw7bw=Ismn6GE=UCBm@p&nE$YJD_%?AS)>xh4NvKCC@rbA%f|P87{zY`!rWc< zfxjIfJ{oa(;}J?&ohfVokeUf0?Dl-?uo1PO-s?gj!+2uD?Nh1$L0;T<6C~v9=}`K* z<7yQv9D(%1h_^z~^lwRAT>2mK}bNj zC5;pv${l7x7}YwshaX-w5fk4Ihe@NzLtnuiU&#}gAY{brICvbF(Oy3HsqRSR4Gc47 zdx4tPRa#(hE#p355=oOxzQIG>H734doKA+RY()7kjRZE$i-O*2fcZy45jlg*7uQwlFtVrJ~2@`vSYih&i{QR_RuB@_1$Kh(8<8KH0p znq2mvPzM4Rh`jO!IN}+Eh#VRMQMScVK`}1Cg1-^^z0Z6*T;q3k9YSg%EJ>+=M z894u9afZxNFvI8wv$9F4N@#w=nc|SMdTA7$sn_^5!W{$_(s`KC1gI^}GafORaE?+L z;S5BD>y3|>5|Ko~V?{I)9wO!vTSstW>x&+h56Yz8YKV2j`R0g&(Hix<6_di>f1m{q zQVoHZ@v@V*LC${TfaDi#!0OL8liB4D5!LuXN2p11@{48!i{@TJqZDyo?Jo~a;(!Psp^X{luX1*m|y=IXfcvtU_E~(6NiVb2;3c3gl z1I*X+iTn<#1+k2qfzE?mg_)0#6Kx)i@c0P!)IB?2q`=i6qP}8dXd(^Sf!9feTLeYb zI6M(96J*TqV6RZtE(h)zn-~axnCK%zd!R7=Wm+1P-uO}z8>;HEcd9q<4R-Tmz~$=V ziO4n2nqis>Scaw!-LcYDy`* z=)H1lP?a|L+m87wQWPRV=Fyw~5kouq2=Y?N^DFJBzCT~GzJKUjxOpxS~|X@TPG)>nc|knUYih3|i)FFp0h2r)j- z(ELx(%zx8o{d0zX&e)tkiIe|2N1gsTNV9-2m& zz;jyg!gA}~r`_)HB(~e<8K(zq)UegBy`gd#*vS!ae;CwSJ<#GN!ej!4szPVLx>O1Lqoud453i(>@2sZ?XZNySy*gs?IjR9^=H|= z#Fh_9FR;BTTW2rt7zIY2xvDPMSgn;-$nWrD#hkW=tf;|mVWhl>)7B#d-VH7bPSbCo z{4h4SE%%2OGpKGE%XM1VSJz``j{z;1Q3w^!spbuT4?D5B8u!hn*{B=4H>2yAnapEc zC+<=w1GPXSEb;9)M=Y9Xa@0=6@kff9I1)_Fw$dpujMQE5v}tmZ?-t#{DvspQ=!$TL z9H0yKmLL?G31?VD@P6V-+Ni8*8-7KGSS@4rXOG4x1*j$4tSRH_FR*9u4akyIQOfO% zx@GI6T+jmZHFGRtq)TVe+4&9KUtLLlQgP7-cLW#OR}^a+ZUN;^VT(L!G#V%3u?1!G z!&pLsKd|^puI$acGR&*LCxgztk}?=FMm>&-&Fw?mo5U_DDgifXUz4%dRjIe@+D~nJf;pX zDFJNRMuFUcn?6&Ew;gp43mXUTS{3aQ)5n)z4R0AU#Ova76`T+_HNbz596I#Fbc9vE43Q2|S$$M2)^;o#Z5bvVGpL^X>^|MX|+G?Zy)DNh4+GvT54> zNPQQ2V!TR-dLAOtrAX&>=wU|JMnm^xUw)<1%l;#}HvSP}+!Z{naqQuLJtwyhqt_jD zR5$y;aCuPAAbu1&D_}szlBD2+=05myX*xD6^u%c`EpCVj=jHv%fFip_kt&vaNuW@G5<-Or#m?|nsz4*oE>ce!ao#RlLDgF8q8Mk1{rdhv7fg z?Yh-_Tsgvf+pCWig1mKY;2M~6Fw!aA& z$mL@Vg01@2Lq|TTGi?quH=dUhb`^#;H*9irCP2y1oDW42j(XPI<=w3$_(%Ag_$#b6 z&dYu>w;IIw#qw&mLoL|wY$j)z4X@NizcWux@jx?

nylUM5aGkPiD6dU$P_3S zeBM!6E<4thuvkg2YA?IZa~d_QzL&q?j&AA|o_^x8{Ub(UoMk)XiO~y9>N+dDpLcAA zN!}a{+Cln-#J4H?z9WzDsgAQGz+|fY(T!v|B=IfVJWX@(8w8j9dfy|0*VX{iwHVs4 z{rdizAZS<06T24-O=z*}fq$P=?)9tP*-iy6hXzcVG5SS`YJU;P; zXKxflEnD`Ga3>{JLP(@uwL5KXSIndKFY7BNpFv#If>y8mIHt*c#&Ja~NJRdhi<-HJ zv4YCk=U?xi%xTja?P$+P@iKZAoZFqJa((5VhV%K?U~sz_`Ltl$&GlmS>eN*kPneS? zZ4N;7^(T9;g)!|AOsEpkJ|eu|Fdfgs!!5TpD1D;cwxcY5CRYf=KV6TRY z1yDC3!>A@h0)m4r8vgH z7T$HDb;foFzz}XyDTw;|@3u{;F!i=7YV;WFK5g?heXtAwj+QYz`7wqz2`rjOA6SG4 zl#gSz&acQ_8V1=Ie9y3#&uv+q%_Jjg`SOXR&-WGS<*~RDv!oReXJk(y&T;1nLyv8T z8^hON!C!NuFpIJ{&c~0X36}1fihot(@U_P1;kn1=W$v-7rkh+lEsuE!&Bzz_Ogr(X zBcbt0zajGD8CKHegsaLChyDt}urgMaenlb>T^|;dQ4m1&C&)x`FJu5Wu;CdAsY#f0 zu5qfrIe?Dh(-|sR!!6;&V`}2a+0GUp%B^vJLoU7oJ?`qA(}+(iNE#nWL?M0%#wXBtLC%@PzpcIP@kzVIK90h?oX+gvdm0t^u|v zJ4^Nu+S7M%EN^0&#@4qA+=vo#LGAv(U|H;QH7J=E3LaQL;cxMAl#Q@@VfuP_4Whlq ziAsTZ*!RJhbks7b(mw)P+rs{TiD&Z92Y|E5zbC-is(Om^ z!sr5Xm$r|EFqL_w#NXvKG5f{IWx#twDJV0oufaCHZWX&|hB)iYy8hKmla_P8hJGpx zb1U8$6!xBGZ*}UPY&~k4GvHbh0<+$eATZ&t$`3MIrRR0O{GOg)uEN8QE;cfKo*fR~ z3xR_8q>Ni(Uz53nBu`-4{PM6h4`%;)HB+%q?SKD-O{)>$$5k3IXH@hiaHKON&Q z>2ajy3AbX(tZFhdx52zeYB6ie26K`F6*7RdtY+@EkOa&BPY{(m^(*y`4|+~1n4+;4 ziIJcTFwVZucX4toD{Rpm!FV;>ns-T?X|*x_b%ouarfAbbF1a&_g);I~YKHpZ0J>-? z9rtW`o}bZD(?QvPuK;eim$rZHV=WYPsJ zJH|JcKkcf%PqxQ@Z-@T>)$)(}DbloZR$IV$S72pxBjiFB6=wPabD#WWgqU>K58Wep z8<`rJW4fFxG1K@vE868a%#AXJ0Z^wAe9-)?aA8QQvD5|GD7wm~w4rHnHI(6PuiLdz z@BKKI@r?BCAw8WL(8Czt=t%f-UcdFi=f>^%+Q{{Ve!w75^Xrl@Zy0Mjn}~bdw;kSd zI1rboNy}!>Hz->KQoqaqnB9s#r+RBU*lqQ5*j>(b#s)s)7S)h;@%1HRmuCMT0cjCG zg8L?xAm*RH30=bP`0#(<&J-C(9z?=j#uNYc0LcRXV)B%7%u8Gmx^J6nO~iQ}Mzn<) zy>+vvoG(Nf!hbo8W_aiJ_LQ@pS3ni0=~sf_B^2hvZ?laPtR(Ab)nS&HI7!J0XR6A2 z(n5#k%6st>1A&mkB+C}kz*)>_?^GTRIFq!7qd>)rX^SMKnw=ff9#kT`H{x!ZF6v>k zfdQA3T;?hTGGxzj&Zyt8iD@6SmF0eR99PfvEbwFBq3EQ_T*-1E(9w);+Kf^i#ZwH{h;vRqTkSM*$MDW! z?OSL7-Cw57C5D$I6tI5IN?2IcV(!DuY)JqnyPNYf`R5ljAx;}jBvZ2aRj$^WN%O z6pajE)?=>D+>BUdF)-;L}k)D1xUdd5f& z2Y|iAOed7Gks%EuFzu!csKGA;gp7f&d6k&5ZGtTVj^1mdX{N-8G|^kK__eYyXudezO85ZGD66(G!^K5-?HgF* z)9EUhUVMLvbz!9U~9g1Ie>ivTj(FO;StaS=X4RZtjp76gi*PQ;!FV9 z`G*~FhGDBvRTUYNO8tG)q$D$Y1LrNv=0G-KKJ%2+H#~VC(S;X>=7~Qb$`rRZj;3+1 z%rFLUCcbdW-;xFVLF2ImC~9<%lCZ88E~?vKIflxIL_tK%7=9h_x(!)NJ4Kw%IUTO*?MP z)^027V&>aX1DdRCA?xhK>e6Vf0Zu^AU)pS^1kD_k$#g2qeDpw<^Ak6~c}X;FD9bcq zM2W_r9wk3TCE=(!(^r3{u-?`(fH*Fx%98)oN_r#O2}?Q?dNg{nP$KQ(nFkeJOd@dR zZ|SkpL%g_FYST$CT&xjn7ON!DhbDB;dzor=u#Hqs5Hy9vil z#Jrkc_m*a_C90j-Y;c9|2zfqIH)$sl-#f!yFvW@e7NG@!jvKlLwc_{Sn8}rL8eoMD z=={Z`DpaXUp9869j`s?=10^=X{RlrK*8Qm7D-=Y1wFsrF-K(^s(-z2SNB)2Q=SMVh=2u z_ygmKwal`hfe1Q|j?zpyyG$)>5hEOzv#>BqD}qliLvw#0Xf(_0Ti1h>Y{ zc)?BWdR!9qka>P^ZuYjXk7d4sK<|7fA49&^2A4tuLU&zqz)~5Rn`7%LF^pja(;`{f zE^NLUOjzAuTWc}YB~nOe0sa+$yxx36VnQ3WMM=4EMuKZOz<$Abl?KOP=+$6+Rx6r= zx%8fgT_p!v1QmwIhzrMc0j zbZ-~~b9MT3{7Ktr_fWO^gU?{H;L~&H2k~VK-h5^`*gZUjU#Cktf@S7nw5ugnHN2>G zQKBf%w+%a$n6uY^gT{0D9yUQiWA;V5wltj`Dc+`GI&HAG4Z%PEuI#<{hIydcV00)c z7fi51zr-R*dd>3OLXt1@z6~3EFR@9&%o#n_pN<8dTgC>3KVlvMu;RpPYC8hsVfS-@ zeF8kJ@#|=}8#Lrr0nTRii^{)%2;W7{bUj^nMAY_t&ila@UtXTR3^N1eRaBD)-&oi4 zPhE)c7jC6Sr|YL7b%Pn}r+F$c%9X43-aH#M=diXdOzPQk`-Sdb{&*F7mT* zMu9Kzw}l-aQJ(q)`)_Zj4lDInn<`>t8(q*G_;!A|VWwGJ2ZacW^(TMB)U0qmi-<;Q;hN?pf!A|Y8N9g{#+9!`Ban72NpJ)qsFiLR3#G;^`2CI)4*!ff}Q zLOIpFV5Fl`Q$uCwtwf7c97A=iQ5ud|%7a-W@u=veON}csg|b&=$>_CkaTBtZ1fjJ7 z3r+NEx+~_m>CSi9@^8*WQa}_TZ9&jU!$q`CAl2_5s4&(wlswHUl<*fxz~Y@-9RCo z?nAHP3e2vENd2J(toxokhvPMNWJjyfsCK91M@*~U-g*3p~z~lA+|$Ur)6uInW5}rR5h)x zT3%Vs%`I+ntYV6qCvR3YR&`#zG(CD}Jbaj9VrptW9i(0xZN6;2bX|2`eGpuc#byiM z!}v`+U33hXdPBZieS=_axNEb~ISLz;vdqq?;Y}1RFdpq_PN*{!wml@0z>R!8; zdo1=A9ine;)Fa(8xRkVy@DMBx5&-5>S{vY25|m)Bml`A-naxa2A5FnfNS1lZk|pLD zJCZCt9&=`zdPxqMt%K0=HWC%Y!O)cKkZrwwv8YNJzG-aGzHhf@`}b=bCy;;pnKw{bdGea>Szpl1oAnX?0g|1Co;@8X_? zH8HhPT`~u#uv7W2#8rwFr45r@TH7 z$E?aW)Tq@Tf!8H)b|lp8gi8iF7ML zDN%@@*2_DSi>l79TIQ=Rm|NI`xJ!4lJ7jj6p3*U;gV>r^6@cw@rR}q1N}2AqkIK%5 zXO&FAZ+9d?XA(Bu(&CfGghqiH(p;^b3)w^bF+4kbP?nX|-07Ub)*?K^z^36UCtIVi z1fpffs&=0~s%fk%)@lzYLCY@kWFa9NRj1}iMq*ug4eP3r7H2bdp~9Ln(GPfLl_|+~ z*&W*a8Mb}EW;HG8z=a`io^n$Yfwa@lDybH=`!k9KqlCG7m+YxDNETkNpd>Ma1)Xcw zcD9L~%BpoFDc>cmGf;4bx0MdGC;BI6o!#HbtgxLglN~K&uWU3U+;Ysd0xiUfn`ZIe zveT0`&8DO+wcEB^`Qp@jftIkhaF;EA*XXGwLUH?N%~N8fVkC_lc(mfkQ$xhmc0H|N z=rDPu-f}1^XD$G};)$QIBo_%>f7jd=of~q|w^A6BVS?V&FxqB+O+PR!x((<{WRkn)+zTy%oO^o3?kZb&^)#qRTRwKL2J`7nrSlv`1)xvt& zw4eJiHg$~YQAhDhzi-rIF?GT#80o|tl`*Y*-9Fdlu*2}B6676{S#e8O;1Ud}+V@w2 zEgVebTTZ#zZp{AZmSCG!2%F3cvPnI@j1IxUen9H}>|Sp_EHFJIv$8nBPDY-y&jZM$aaV<%%Uuckf;?xj0# zHuI7J?-v0<*KH5qzw3S^Mr54Ip4@4#}+Xzn~sZDMsjjCPAxbA zk#(Uw8d*pjQMVV!AK-D~OygIGD!5YNMiy_>pJ_6!0NKCaJR_IBQ+1b5`I#AVNx?EK z@4?HuIdBX#LK6-peBKojMcf1WTJ)F?!tcE_nHAWBafvOUFNn%p-_qbwv&Zh`Db##6 z@Bi9&fhSp0S$IQE`dFaGJEO@Oav;m>k0I~x&~;F#xuB*Em~o=2X`|7^!51kS#;c?k z*ikle&lr&O`NkY_o3c$lNz@N1Dh5o{)zYSk&C96Fx#?@$fVr(O;_<8@bO@M<9GebR zzatAF=VkWmXKqd0jSVJQZXrax9IE1uS+f_ieT?Hd*2xu<9M`T*UDlQKeyPdTZ2FVL zsT+fO8o2}a4prI+dBInenPZLg-1e|7DIQ+2I3aQAAWH1x zzu3N^va3On&alkG9-m506CZ!`Xj7iXyKSI6miKrz6cG|oG?*o3X1ZbC3Ul;f6Cam= ztPA@dC*nb{WJjFBg&LcA&A%?!5bNL?8G2>91yy}@fL%b86N@$72X{In;6=87b#q;{ zqmK`}%NL&4y~NXKMl2kqY3i7NR;T2s7C+bvZW1Zq9ud;gy#=8;TVD?>lu=DQbelsV`;}uPg%IH0Qf5DG6)W#AL-$ z&AQ=Y$REjni3NY(7(6k(N6W0I*B?jdiSeyFu0u5@H4-l z^#3Z6{*Pk%-(tzm@!#S|b(TmFh4&%00u~ zXPjwaQ>BwfJu3^#P1kpSV;z3(ck&d!i6!Hd9ey|(2n08WNtkEZE4m^a4SLL7*L7EN zr*qpupj$e}E!A-klR~IidP5Dl5c+$n`fKX;^wcjFNB_MW&(u8X=0u*L{zkHOYyWy?WT9@A@b2{G-J5o?RB%3FSnE^abqz^9LVC z=8S1o;I~pKXy&B(JS9#Mo^ME1Y-*ha(7&k}7ofl2Po+JA&iUoYsL3I^bCZg>DprbL>3;Dc}` zl(t4W>!;{T%FnR>)4p9XQm@qdyqFt^`+sBKe&Q0X{w2r%T~!*9zUZI!Eu}SUeI{%W zIX@Q7ltO>3)QMcsmMhsD;;Yqs~*e% zwbG&@3@dM?7Zs~P?X?eogA+G1Q>w%X#{8r$rq;)GzN4HM@1q>2%Z<4Yj~#Bmq9?a6 zxdYi?>waK3ZZs`?eoWhuhOZPeURvx1C{707w&B*v_BOv<_Ak9=bqV>Y@Du<11%Dz! zB0!!IDsdZT-bEtlr8@Nfg>rA^3t@kA&|OOu6?j?*l?gw^-WpsNS(68^-_`C9)-IwR z>-Dm2zvJASxjrQHS0x0WpW9kOK2f>U?$zjl+@;%b$GIBUs*pme_L{vYkYaE#wC*Ck zERaGP*98H4a0=8U$TPXg=Hwy9A|~I@Pl!Qdou+0t+_P z8{6Ex)8dTS^p*IVvq>xw2^2@LcYBJjY$TFCisu25$!S2C+&klDsi3K4u`w zSfhh4VNvzXlQw~6FWmVjNzP_tI4Z1KaifoSbam0Vr`{({?TH+ua&KM-4%CXRz_~i; z@*fgl>70tf8)=BzvZt>!iLM+o+MhKYSft3#DC2OGp}thWNf%W3Oqk1NIMdRo6r(dY zsx{kk4hAa@t-0<>ibnxlI=*Q9%GAdEo*t}zHW_2rW$kyXifv}OfjX+{`D^Caue!-1 zo)r`6mIqWWOi8MP3>{i(nNnO1B8+y$nvyCsGqDm5z0>;qV=unKT73wWld1aZrb@SNhrMMadgCPGwk^tj z3m-R)dD^s0lb57iIVqli!|65wGafXmO=OP$UiI39^6N_XaDrz|<6xnXyPQTKKmEqX zyU_GOTGL0F{Wd|x5cX0%Rhl_{z(Fz_U$y?$)js)CzsS+h8NrsgL#{^2(H8TSWL2?o z7*b(aO;;LnJxI4$R`L!iukKIA17n0WuE?|{ze#Q@8o+^wC@4k zZ_smP;8VVnA7Cu){2--D1&zLZMmX$))*v(mNol7rnrv#%X8pmx)CNs96Iyc{FdzV%m2 zf+)$@S{|%vNBLkly6BMR&+N<6XLL~OP5{abOWpAs#&QyGA((n>*;&SYIG);mb(L8x zt##FP7@&J_DrJlSaw>_ma?LOuSs>T)y%`#20%`a~XqM$%?x%<;&(v{BvGL)2({9?(nMD6B*s z=&~8$eK5G-xtq&JX?K=hbQNAA(Rje-{DUw-O^aD_!jcpJimo_bpd6#$wZm;+VpC?Y zHYgqwD`IhFCFSHymgT`k5VFK`q`hbf+~WY7c!`VNNh#&dl~JegR)u!v`T34~BILHy zM@pV&P@SJ;)-yL{RxU7^%gX_F+R%BeM0a(1S*^K@qOH)R-}201Do%l_E#(rOb|dBQ zpLL#M$8}GxXIHB-a^Jt}Jq8xSu*DI4F|%q8{aW6Eb6mXMiF3c2o@u3bRZQDc3SoZe zvr;1x_&djmqAY5e4({_e2#iNyrR%-Th<7lfDy zkGr48d@g#(N9gUQcuZPbmSTXZw+3Q~mci%G`)^B0fz3Gz&aJI98#J6?Pt9<4Cd+w| zp5s#;)>k>0gqrXfpS3jsmzqvJ6?xLY!$ zxoe1k!%A&7FsCF*1iep-5NVeRa>!_g==xq?51JZ&CyR>0Af$}?_JrrIU;yMevgoVn-#4A}4Si+>;IV-sbL59qRD zqzao7t*rqLZ@)T0k08X2>ybM>9+3ANpdhB#|0GRl*`Q<_8Po@yH+Dg!?M$j^u^D3D z!3t`5#7iN1?AK60d-o$8)xdpuOxW>;+4WJ|17r1!qj)2!`;pc{y-hNigUt^0rATJ{m8}YiJ9_3>JXdKj%<^rQLt>0 zhELT>HlRy2jeuS-m_}p^^c5+uT-_9yfMoOxM!l$8V;tv6p{wRtpgvOHGX?2$1%4o2 z^~-RG_~SSf*RTs}jyW69xOlP#V+TD~mATg_cfnb4T{UF$ggxA>)p;=$Cvl*>>Jfz- z>vWH%`$6uKn|HXU`I-gAHLw+F(>y&sqn z{5pwNM^Bdgb`~F>0#XSX=$d!SsgRMR(==GR{@@?05t?!{PPRr9{1uTl71hE2TwgNk z+y1kBv1}53n9B;8?AN^+|NWgP$5cCnZ!e#RV|Fq{j~5j|4CtYWEKQZ=k@=9I&#MUo zei?r#c|1X+nRr!4NLKZSLxqtgJQs=s-%@QaEp>`UJ*-KvL{pV6VjyPd$b(~Qziwz? zZhm~#4AqE;xecDO#Nr?l0ScS%G8I zdvIF>d&m&Y%ox_OSP+Z8@dodt)GBOOu6}`)V%zkvQ*s#9On-p;T= z=w6c)&YJ}gSq^)vGLZ-UIF3~W3sZ%ac``QYCZZzA7+T5UkigH%poJ^fO$CY28hA9K>X-{0Sm zzU1zhpdW$ETkwWN5h67s68`98KNeySL$rDk4vBf(N?_Bp3e8?~M>!*m{WjN}iTh>* z)c2|aMU&L&(3s5qm8t%XJk`Bx*8*~A2PJtgHQ>>N#77zZ5Nv)Uux*6wU$!-IslTJw z(;lh*jn+RvBVVLDe$+&Ja1?wn!QUS&Cz!giT>dk1Fxr_!M{BHDqi&z`^>>5(2a6ap zOJ_gwD7Ooapxvrr;YKB#Tcid9i82p|?S=hPlA{LBpGUb^5RHLT22}Gn?JvjvLyloK z%b2&S6=wdOE|lt-2l+8JnceoL>sK4pFqKM@*93FkuHTK=DzFki3_LXZxE{Q^O)6(p zE~(ol%T7cNX4WSe`m-Mq#3(ilJ|Xz6I#@2e$b{{n)fcOPB}f37N$!$9mbb87=pp58Bm5pjnjNvkd{u=4mnYuYwE5n5(4BV?dex~@7mH^n0V5I7_^S`=C zwfq*pPuwG1zIhNpS~J&Z5oA)IK0#6Ns5w#eR<+{OjH<9?)XITgob*t6n`)~3+upC~ zGg20c9kDwut^mfC4^ew0ceY2T=)doLzr*C>-)Gsta~U~Ip|NAK)c;UrIm694SsrvM z|9$enB9|>cr9)X{!%6T$PIF+X>S7J~2D$iwVO9SuGhh0gc(vd|i+F$4vZNYb&&FXt zo)FkpEbO|vz>>5)tCNKB_q4XML{E>z!3}G;)VDOEX#R4 z5j1S?@&zF!+=R8!jn8iA9FK^JFLKltee(r!q=A<-*cOFReDqqO}<8}Lqkm!yKU zO_VIo9ZuS13+KL^rt$lFvIj#5679c3VVrpmBCL~t$YYGp{)qw@GJ>1zrKwhYZjtmH zG4%xFuS1*`1U$Js(?t;)()$UqRC9L^nzIrL4M>5FSRV$hl!|_!gDUs%y(_BenrM}{ zMtDxoDh-pAzJN=$xQr9~@jyD|Y=bG+;q<0H!Nvb)TD$B_yCd&&`JM&;|7J1d^YSTs z6Gvx{|I_XkX~4VV12F`t+D8;P6Dj#7AZAtI201s_^{6GxRgcL4vc!OV03DQUx;14c zfRk-4eT6;0gXo}$AJSS`7`fbU8q=m(LRi_OERXs#5La4C{3PiClg0L0S25tRETG4sTZ$oUP}9%<%Q`snmvu+@ z@CxFfUS!OW8kqc2m-}+ygcWj<`kc(bx$#xsyJkhYw7EKjXfTM^^GdqV0$Y3iWFDG> z?Sl9_eBZpaMko%^^pIyc^uo>_2gk`B$AiUiW=sS!N>v3tTQ;gq zg!$P#!h*f{9{S93F{0bCnYqzJDaeBq1RI+Cx=7!k&E+hmkvP#$vrywQ#|^08t$vAb zvCv|dwz7fC2gsK1`&z6nW`vGNh{Xi>$-9&YUwAfTr59EQ!kx(*G zoK+U{ZIEvgwmg4xPLOTTFGeP}LxHqvUrwB@+*ntkZM;20Y0l|xT7IGIb{W`waaB_Z z-EyqNu4nhT04{e;BpV%f0JSV$ns3t@<(iJ&$0;wOqF4@6JO^@?)ssWaKJ5R!y8Mqtj#wLA26adwWlWBY@F4UwF?&?J!7wKpUAQ_4kVT=_`=uoS_ zBU2GGoK3I=CC5S@SOo#}xjjAW^z~?W(-VBjbyzrsES^)TI5^NkobC}hrY~uG) zW8rOF+=LjCL*D+#HEbl{L7f@3y5q-Mgr*l?w5uE~;Naxe9@S^EYJMN90aHj7F`1bl zMHFB)*F8N@AxcHnoo$_;>if>pLpov@7Ythxs+3TRJ()-{_!LcV8+40|D|jxQpCO+) zk0Stdp0GuiZzwiKFbYR_?9n4hGNB)&VYLonGtopUnHkx2tI+KDOaER$A9TPfsT99s z&7IifKgA&?ToO_vIwVt>u;bOzGl92<2n|-AvZLFi`q^g$f$UMpWQG~ZZ1-%gF>soC zAX#-scPp+ra2R*68O?5ZFg5C1QU+baoA~N)RRIep z991G;<8~BUWQQQQ18l}?lg)N188{Ak}#$D6PSm2(~=tTp-^ ze_C;d)ai?_enLs2RVq`yL;p;&T*=6EpnF3#fH&LaciPpc z)41$pnF|)@@{|wad6^m`ow8r7_=z_j`jo+^Z@jdmyRfvy_`o&wv!}j$b*LeuK?gO& zVn+UVu?XEf{TO+7;fq^K{S+&g!>XgV{#|^*ZEW*~lz?Wc8KX8WJ#=%bI0 z4?gnZI_1_u9RsYCqms_Z@|&5Wi$C%uo`sdqi`tT6Q(i^>`Uos-I+7<9Qc8IdMtxM+ z6dxJ)E`ahZyCf|4yeoA=Tr~YtD$${YLavMN_18yxn1w8!a(8Z9UyQ_~!UgeuQkPPF z$|--o2YJjGf|BZse3C~Q9@+k4mr{{VxoGI=ELS-YzjGA+A`0Cia!|)oibZ(Jsd&Bz zWeg=nDbJOt@?nujdhGIxLXvw~Hfj0MZ7CS&;)9RUflm1mqkuKpr%NA~_Tb4&srU%V*S>lR6>#Mxd(urXB#p zjraV(pkKGnNB~{9+$|eZPaXFwT_>Ynn1y75qmKc4u+ceGgwr?nqg`Pl?{Bo4sCgxOG}hn zd*K%z{P6rW#DYB#+_r$L_hitwroguruz~qp6dQlKc6qYF&6s6d%%I=BgGK(vn`a1stSjuiqY4I3N|Q{ilXQa(YvzW|CppU0dM|QkakUSf)Au|daKF@T$~7-P z$vlV@evFjB$SAvSEUlHZl}R|3($S3owJU-tqEf&1G8DTId0;Q}eFU#8`ulg(-_%5t z8C|usAX%JTJGfU!%EmzK`2zd{CL)0rL@@9I@|#?1!8)8(dw?=>(-QI{yEr=xeeiP> zv>06H$ZSYUZVD(_06}%yK&!SL{vXO-RtLK1H{rgGTIi)s@cA*%V_^jU;p2K8+WDUx zVo#a}icWWh0_1$?RqN3wHLOsllWoj`9~9 z+(j>C@>@R{^!MZ#GZ=cyl~@8u0fJh9m>N&tEn#X+bN_b$3=k2e`-e{v=}IPo7Tvu6+G*Mi)(wrANNUi=0KPKVGFsw@Ed67#2h zuK}ee6o?m)f?^;IDEX7BPu|Yr%+Aiv%;I5L=xdPbKRAlkT-7j6oF#WZbvU`V{j zNZxs5eAdt?!7Oayu3=Ilfsw?Yq%LtXjW3a^4?=1hnl!(}Fvww*xXh0;`Fg6(4=`Ax zP-JgX2Y+(n&Rd;D*C9xrO_g5`Fjngq8zR33_}FH08l9W4?S@|De(fPsc9bLy!fI|) zN2`L>=A2H*N7;<1nWYGDY<&u2WICn6Ru;r?Kol?CfsY{>kG#l z+ljpf+tH*$`18JG&ecvZ9p+k?rV)5b``7^mB5k}?m?GV+^&?di^_Lh}g36K|weLXd zEY3Fa^|u{w$I+(7`tJ*4;g{#XNY9^wX;K@QqKo0N^6w=0>DGm?Fs0dgXKGU%m<`kS zn)F-S9AC1FYgz!-3=1Bc780HhtmYdQE*T0Q3BpsrySRYU6lRGb>ce+8)h}bMSbOAV zqYi%=UYqf4v00%tr5!<4i_a}DgjxJBGYjT+I>BLFh3fel*&*P8Qpk5;4r3=sdmRXn z0Z`+bjk<;S>Q=fml(_aFMOT_JgqI_`$2<8oBo zRb%L6lLRFW=}&7Nd_?0XpF($?3PeG^BlbOwu9RF$4%?29=Ll(e)%32Jw6P0Yt4T~Q%xTz z$CGB?u*t+HI>NcZmYC59Gif;Vo|`_8z*$vn6<9$F|03K%7TdDPb9;o8K$1T&LHoem z8VpSr*29%u6hkZOe8_+>vEK*UH|u2E>Op@9e}yofjm;Fsyx^@?eZ|}9s!@cJBw}Xl zj>eisQy|tqY2s5)SQ)z0b(zB7F=EbPQQ{}ir+_9^64yY>!!a|E_V8(e=a;-|rnAYl zS-v7)6^?U{X(WTM z0C)C5qcv8bI5M}Ib?0833&p1>kZ>$)jqQwDqI{P~o1R%%Ghg=8d&!Y|XB*GX3sdG2 z^!q8&oM%(uks&8pmLAQ;EdnVj)hz;xJ5KbDP>)qkbO7`|2S&1$(*88fa3}#}XmPu` z-l?cNBARoW`wVqZXS-jvto2p15Df?_C8+F~8yDg}iN%lq3R@d~Q-DP;w0NZL&L}5L zIeoV&uXwQxvP@#iL1>wKI2rdJhVttN?HMFj;M#x&-+A-&%0>l3l%^szRE5N$>w+M^;QT6$4J&|={x57-bSPg5@7pNV2GK|!H?PN0Us2h{ z->W1DdhB?zGA1Thop+m@Tb+(aPrg1cs6F4cFjE*%`6Y(DrN*Bj@W)eoK`<}GL~kG& z4N{Zne~{cEp&1F?$iYM)8W~d){?Kp5^;Qepo+roCS1yhbCR9(jRvY5rNw{VgBx%pg z9<`yaq#yXDxmI1Ap02E<$~{~gt_WkjdeGWBL7dl^m4BL^fvjn>yjFSuGBkWK_yBe zO4LeF6q}VLiaL$1I9bzJL@m`Ohr{2y0$8uf4pwEC)Mz9PMTGm%p}GcCk+LaPdX|w! z7-RTBIiU8%fQE|$h$LYCpbwSx@cGYSIyr%A0`K6$ARQ#2bOl(a!fXOfPZ(0of&FV$HlxWsJxvEpFg-GiWsKwRk zmrN$a>-<9;X$GZpy0s-QzxjSfeTpo7Ww6L|f-uWT`L>n724O7L?RV6ItgW~d`7l-DPkAS;uM+Hd4gX(C1` z`{*D}YQvWXDLbKwc?AvJ{M|K#Fnk2x=BkKCT4&q5oEm6jWB_mdqH-AguBdevlM_?e-eWh z;bcmr7U@?`63mjC_Gdr5Ip)h9$SM|k@hG!!yJAQRVcbI=E)Nw@kollQvRj*7?b}$A zGeQBl7Yy-81Zc?pkzt4%gBfVfa0ZRWJOQ+T*Y*1=&ZcfhD_$8DS8-R6IMq<`R5wuZ zK2Kj_!W}%C1zyBg=sa+w-!Vi2HrVReH;TXm<;U(}zuk0E!%~isUJQ9a7~PRutbM9^ z?(aBW=>85+Y9I7W#{b&-oP0^A{_|v|WNvM2>-_)A`6MYxD$dJ&c@JeYk%0LV3Eu#P z8iYxp+=SgKW%lMXDcscAkx3gu7KbGiM!s@x)Y_j71y4b+aqPigi?U}sVnb=u7i2hI zv9}(1W@hX^<=}UJliIBY&}vQSYY9RXhxfM(>@bEv!l^QII48L-KaV)Wu`)~8-d?J} zDY9>%$?Xv|b<}IReh)8lw(Mubt~*O}*!C$c6D-q!=H^7{nUPTp$~ah5RHqDN zOjwGfqdNMK6%yq!2sy4YSRm1bvXb0v5lnj|E+4kMA*NSv1n!)WOQkZ%=sgZc#Bx1W zl@^C=!CyOL-wEa<%U4Sz{sDx?jDGRw9~hihXrG8 zhQnWO60Y*+3!^GTsh%m?(|Z}kFLN2ibIubli*GU;9nh3TmYId-=NQE)9T7b7FlA)2 z4H>3?97sJIidXWq-VV|Oa}jY0*!a}NvM@D5B5@)1eke>Y;ubdNVxTY%ZKKr>U86bZ zlJ?n$gN!J2zy!Cn+b6S;mAZfi-a}^VkrWzpg(>=NFm%Uqs>Bv|@vpJI_9DG3sKkV#9<1)#V`49MnzxQ^U1uV%yrc_0%I;v{qD2Zon0#Me$JhAEp5 zo~{K1+M`xDR+P39)K@1xpSA0^me#Ooy_^YWeaPiqke z6?_t$TpEA5YqI@xV{u)&R6&l7;FeJK&Z4ywnc!-MX!iGSRLn7qle>^%K5a2Y-QH-R zlxPgecBymFvrNw^OBm@Iy61wUB;*ty!10IRVK=~#`96zzv79q6E;h$f+|9F1=@2Vt8N&D;4A#gX-1U2#J`jtW`AWBi$q25F= zPOw3(rG1O0c|I<@K?)!|+1LQ??&sZM;yGRb_x0l)v$xe~Ea1|^ck!J5y~*v#GWtJ& zQ?*_VIQEHs`2lHb6UUZdc91*u4Zu%71w7*ohFU$nxIEuUc<;uk*d_^2m^9N_&R%+> zx4ab_+@C>}oKb$U0l2L)wMSyQIqiBPxX%pz;TIyJ8<6jSc{{h`7Ws)y@{K2MJZN`n z5?c!1&=*TY)&hF8cBgXsec8gA0YIW=-EghVYRFWbV|w9tfg6yb^mo!U4e;kA?J_cS z_w69O8j6z;9brXNA+rwTTVkEfRW@f~#TR+8Dlj9~w4FX{a>-$ifLcllr$TqMkBcdK zHO1&RpK)`tzSt$0R*kR5VCBA1j<~ac?gW_ZmL8TmZM(&C7cUuhgVo#<9z$drv#&=G zIp#W5zpZ)6A_li+MTKgv#LgpB+z)AHln87 znOON_0b5$0QA(|7>&#ua&lw~s+uu_Ute{MmU(B*`O7~@VkgS2YhDqz=W$18TyZvM7 zw|gAdT)Yj~8&$|_c#0h62e#ocvVzF|_)+aK|0y^l$L!e;i~BX>6ViollvJIctNa}H zU!DfKFVHLMNL@lryg()NLQCgbJ@g_Yrt&>ztS=yQBe8VJKi0*Hf-p82t0V{6)?jn||M{OI1W>!|&49rg#vV-&q$6C12w2B8Z zLKcZNBwsXg8C82&mT_opdKe^gx>kA))Uxf?*rx5d!=v=Vq;~n}7zt}ApWPs(LJtYV z2gGv;#fXq$m;FMH8Rf;_k~&-{tV9Aq<^a_AFw3-+@d3lMmh9H30|+X$s2ToewC>-0 zL1p31e?A^D+msDALb>)tPvl19^>;pv@gdYTo+9!R${b)Aytc%$6=Nhtz0a+>x{y^) z%7L`K0|0sU$BSia4-ge-0*@fVnOwxYtx?P9H8go;bw=8#^oY$`eYzI1viC*gLqrU9@-&6^5MN!KSkUbvdl7n1JvH`pCr!Q zPf8&!fpaJp+%l@Tlk6!eqcep`l`t-&eu}YN2%rb01P*AmF)r3c7G;bMpx7AHJ94{1 zC+U`L&{WAlvk0x_sGyundK!#z$^Y=6xYm4dH#P+S(htV@GwjqiR1*TR2c4wWcX~^& zKfkBwQ2n~pbwx2={VU0LUt}meFYUy!%4E4BPrFo0DV%hAy;^y=xVBHXbRQRPc3T&? z(g0mrXVt10Ok+YO%9gR&(kr4>aqs8h`cIuB?Sgv19-3)1n?ljuIq`9S{Q+E!b#xEj z7mFsvHS0=xWr#aE=xux|%l7X9P>5eKDfm?yhW?)bLI09p6Vx{}GyXSxT}e~+FJsqY z^d{|;h*DG()Y>KBMN}ZV29(ACGd^hvW*(X4x=NeoNf$|y4_JJ!TUNdNUP%M5zJV>H zNK+G4lrr@ERimScG{=`N$HR#dI@>Lf)B$JQEVc@L0nzWK3H0=3`VzzJnaha7!Q3sO z<}c$v%r#@XF=2&af5CW!X;K+XJ#_vA+iN?6s@cCbQDny4P3AHbqvP4H*sywOGSqNh zws6n3^ZwO9N_!)cO{m^fLHneM*UI$*og$#OXV+|z>^<#L@giKI!_;c1>K2?q+k7g0 z@~5ZzOVFYUN*2^A-MD?pE=VBzBf7hmD}`=uct*Zfd!3F^=ohgohC$J*ci%#%S^KU@ zg$m+t#u~Q56YWaPjn;l{%}YV!3EjG|_kqhgxx-y6@1CN0-Q63j>Q%JKWtYT=rU*hD7oFongJ#w$`+Q!G! zZyO#$%VgAMz8M~|=5l`Jx#7lZYLVyrG6j8hwOLgHIW!Z}S5A~o6?r<<&0LZb>qxrO z@J=$4h9GbDesX{G>CxOAgVnH(dvySP-H9^&q#!Bw!X~ulEf(7lhcJ=)zk7Zb!cyy{ z>U%9yglovsyVQz1$Dz~@23#LhdIVF`ycTgvj-&@;j0;sS_lz_k|3y9ChkTPqSw2N zm@*1zP6M#wK9*}}xp=-coVFad6K&8g3kPko(6isi7D@o2v=%4TfY92yi-lHK0E!9Z=_v=K$6EviTCmi4~{X+XD zL|uRAwp7z7MHneMPI6L~+89yG7E&5$4a6ZEGuW;>dSp{nYoiG6g)$Xl*ClOWDh?Md zmX$mC%_a;(ec=7{vA{$|(2rUCxESxH4dQVNAbw1bz^lmgbp41$TGc|z>}6BmgYkou zik~)wYM$E{Hp-j2mW4UbCUOiom!G?<9{?uZ7|LSa@t(s?@$filJ+R%HjMjO7UM zwjJvbVAKjNrkF$C8H7`#rVVWt4t9R$zC-_ePzHjVeV}{=CCXP&^8VwX{MTcl@MR3H z>R|5lRTUck+YLM`{!7814+Zd9hudzC<3QZ7p+Si%U*7`^3Yl0=K#MBoFCne`y+S54 zPwH$S=|X8&K6K^RNih;c7$|&?AmLO?!9r+Hz+@(S%FC4R*Boxzb_=M%elj>pQW(W< zwdf#Rqnbm_sdhl`2Zih~B#5WXR65S6Q&z85XKTM6cQjZ)-dqy#jRV(tgj>dwVE972 zd`~|vp5(z0!+3}s+qkGO9F`iHuzEDB4!?diB7m0yy<{15rr-K_tI885j zjX@d|5uOu)LrGUd@<_X=y~vWaH>hQru3l!WX^$eq*I!3XoiD|C)qr#)N7x=o zX^~zJ%QXHo%)p1Qm&>N}1EznCG}~DUk_lu960|Zl=!|3s3`=d&KLbl^`cyrRgSnWa z*(pRMq6Jy)M+q#LhF!LA#_K$lZSx0is0+c#qD`PmNTYWI7q>>F>7o(v zM!8nU61IBfTjvv+?P^$Cb6xCms`@z2`8eL9O)=HD_+ zw!uoN{$4t;9RAFhcdd9?R1#++AkdZU`cSUzaOfrY&R9((N3!u5;X>8Po7I9a`;Aw zA$y>Cf3GmWwgQ7@h=_|+)=Q%+OW`^)d|tsvWzbbAvh2A!{HpA^D;&R+tzefOb-Lm? zFC5?9FHnx5dbcv%k&;ZQBX_&Q&o>8;30xr1gOOCOmWo7fW3#@|R&)Hp8+S(rXqHS4 zNn$`T8L!#pw61|)6#`=77|ylH$;I^N!6`phNRz9L`TCkDzBaHiF6-&ry`EHzXrQ*r zT%>5m_l~L^TD-lJ6Da8CKFy{e!A-4;%T2Y2tJYZ_))S3vdI<}9wwg{Ae0&50%a zlSA`rWX2L0mMY!4c!r!o4?^my{!rA^y))F>-qArg( z9s`Q;#HUjie&|7r2sM&qw|&x#-k9VGb5w7Q(XebAj=K#0VMKMPGPNuV>4*RAsidQZ z3rJoB3=;Jrsg!@8zWIckp$M0SeL>;)9IAP%codMHditp z>C{xU5cSA8V~AY^>1cz=#hB{HDrT)F*yG7f=q%b+)-j#|N$^ff5)R_b+O9n@X81{2 zBH?t7M-P%_gpLH=4Us$jPYnO?GA<0vDTh3Yob|()V0+KcD3Jk+HNIxcVhvvbPEfk~ zDAZIa9VGHo#sd3*93y7S3f?3^NS8Y4WE1m*bY*@A^`J9aw?^jW}>8i90MM$5u5K1maPf?c#d=?Cil4;gZ9ab*k!( zqY&in-i0G?gxa}`C2{JbCt8~$e83`H@i>@Gk^U;T6`KTVq^rOj#2)pzGG|KrRFM;u z^qrvM1EU@d>LLowNc&EsiA1Zes8@2jK?Pld@%>%a>g1Xd>lq#2??Xx7^o!F@>8ZPH zWSi3E6Hb4=l>THMpdGiPR8$I4>L_NBJVi!-+DHa>!t|UM>aV4vqKis>J3lpkA#0Gu z$79*;Kt8>L{gh13G%3!rAg#x#D76{)wP*I~QxPWvL>2xdLMASh?_Vpvf;X-yeHpkm z+`Y~yn+iH0$iu3aY=cQpGP!Gv=r1a!SgdzeVp1Imr#M{&9VB2e= zN0l*^LY4uuRh%A1I<7lODKGf(r*xr#x6Tc>7+_fcu6jVlpY55n6`1s{0lI%gcEqxE zsL##9r$@X6T^r^QA^BU1J!mP@3-q8?vbv~akaSt`_i21!VvX}C6-9IFzH%b(UOe{8 z1I4~|{}D^|_ZO;XO*Kcf-N>rB(UNH$Ex!vd3rx`S9@7_15<2|hXLSqDm-hU_pC}$* zZpHF5=jy!Ow_I_rXZ7Gio!M?68PEN&$I=}T@|YMbK&P0hUY#cbqJESbh>QlY=vAy zGF*9!T&1{{AwNwvQ0`yt9&MkMcGhP5Pw|F@uYp!zcOLw9m(8EybQ$TF`#ea4Y3yTJ z4NxEOrDdqueA3FCrBZ}A+%5%zuP#00Z z;M;zPlZZ@C7;wstlGT%ccm0$cPJAT4;fbc9KFVfd=QzY>lKrJC4D*>d&fAL$IqQvEQ z$SIG$Ul9*X>aCpWzxsnLB2lr9PS1jFXaW+e*mrtU&R@q^H_3i^ogHcV|3TZy7zSI1 zZ*<~^{7j+l|7J|*{D);9p!n8){`1Rwqx+mK-62-j2hY*tSJ{N~9`}{;=sBMr3aLVg zRhL%!gf(6obawG|q{6ufE?6BP&01(;kvF4d{#33nBA|_tvz*+UzC6I!L7J3Mr#!6( z*dJ1hc1E7lKNxs;@R!$4$|99oL)CeB8zeQ_fcdDs(2Gw|PsMKZ#5k3jhRY&bIp-N& zX#oV=B88?2x^b%JEK$SMA9+{aZWQloKW zHL~TeA5&9VVrL3CIH;iNcO2$ADp&R8_LbMw>y&ao!&!fcj9VAz@f6I@M@1V)sjP@l z-C?TFM-izPfUTP;^Atqc6x1&ksAd1uFvR}Z7U@+&2Gp)`nccSHJVaYnIG``{jUX&o z%-%pVv&~%Q!8;R;HSU~vC4$ZoVpEDSTJGsv^e!5ge;`|w<_)k-za`ti^yK;t-ephs zDgpks&CW2l0m~(-q+O0$Sib@BCAu{mk%zs~`4C87U*PUHJfx7DTDR}R0~mOS$Zk>{ zp~H?<4d^MW%t{#2*ya}TKG1`Z8=-`&61$`Wak-bZO!JJMo{pa4Aw8;wL*O$gg*-y- zz>@s0MDJcub^FB8%rODp8~bo&ohCm&fv*HTb8N^wZ^_=OSEp$)MjsA+0L15S1DBI) zTDB&yHr7q3q&u07mbVYPqgGLDCltseHEJFX7~ML3(RN7Vz$j}t(Y zN$Aj?-2PqJI<~o8CC&7;9VN@?YRh+AUblQZZRF^TNi{2w-bvDQ!?D|&*W{1S;UCa{ zZ$g4(1WBd87MbW@iVOc-ELYUQ*4a+d*!|zA3l&K_MP-Z+868&0GI2wYh6c6pU>0)- zC5<{dGYNkIteHdupx%sqELv$B1Bd<|`n@szi#}Ld95B=KpDjVOe8xv7+RXba~5=(~uKMD zzX7jAYyz);fHL~Yci{DCj*zQCY*V9wu!S^(eA)GVqun<6cC{VPxApqbY9LQlI(TA{ zr!xoR_~;>1k?OIEV744(S*YK&Jm#X_&OjDNH!k-ZmJf6t(SrxBc#b!-VF*!W?~~yL z->u}AYGY<$fJT`anENU>{jWITv(1>MTV={5*mZHoKk5{}<~(S$SxhBS6J&_1Qth*~ zS;i~Gonabyn1m-fj>}|h zF|#TKouP#;ZEiJ!6|3_vyr(1uCwyatUj598^`sW-<}zj3H(k*7!gqsMp7U;*pM3^# z+s#u08EZ{VJQ?-G=3i$vl4jjbn954N<0*!RafrMfCkDX5AaYE7dz_UISgS=FmZt6EV?lZ_U?K^ zj%CkUYrKFQF3jZ`iz4`?oOG2D!;TG6xm_K)p4?#la!k0EY&CE#3Hv<^W&hnfs0;c* zGEv}Ou-R;v@+_Z~8AtvympC!f?JAdMiFyu7MD>EWsk7UB>jjvX>Y7QXHTs%r8m@ls zqPcDm$`O?31<$eW{zFy=V($fPhxAC!WE6Fpx|LHq?Lo$yFCE0Tw%(AWmo29EdqApz zD_jDCsM>@1Bh_dQ5>qC-gf-gmbIuUtFd_50?XIg-fhGT!15n4Z2p>S>A5VbK;vuZxXVsgiUFID53V%^D?ml-5#ZY+To_W5isc*Y_U$BVb)-E6>c1YsS)8mH#0zx zI;g{vY_;jIF0BEYP|-T%4HAcojGJgg>Un1%)tM&p6ZG%t*$}|cul+S6y8QBV;rque z`+u~|NtA8AKL6!|{_o9#^8XBpxD!I8kyvRdf}Yy>;*;G15r~vogvEjjs~~7fsr8Tm z+q)}Y6QTg_PY@(jBxoMLuhk)DJF~ss?04b1E1XTw%U1X(-;dW1kRI)YyOCWJILwXs zn01bF4hxvzn8)85pf)VY* zyN?toJ(V07%&1r`!)3t8QjV?_lUCU<8L4!#2J~93R;%H|we|T9wZjn>B`@zyu{>G3 zNB2rSPZgt~Hfim;Q3m7*cJjCcisYBo-n!+(dxnhikV0qaBmHV9T|wWOI(A5+TpWF{ zkoIGukzo)c(N4u^Us(Ex;g0trTU^7_Tm@HJUXZi|6K@kSPL|*2{5^9OCfc+S(<+$K zX5|lrJPyWu40b5DU?0*T+nwqZTsp+DaiNL5sXa@4{M%^`a}Kqv%csLmtKf}BGDRoc zM+qH6rZj=ymoo00TA%Fj#4BFr>LjbUS^W)6MU#WCyvfV&9z9@=eD;@65MM_2*@%81 zIZGYi$RasRi5yrWYEeS6RAL`yeH6xQBC0sM*buANa8PjK~>mN)trTpGhdv1p>3TfhxV``#vCl4_*FS zLZ02P(DnSPF8=wnNyym2;D4B{{~5X~tt%k&BXA1>WA_;l1>)O>v>pQQ)CO{T-8@wQvD$m~b!e3`lk7rAxEXbXXOUcU0=J0HqK8-ia<^WA> z>!UD`a3Ts*hBGtDYxTD1kmc9f{R|j|C~jc4)*}nBTR?!>rsb1piebf7 zMKRo1NFI^01g0t>7Q^T?!I@ofNgotnMgy>0@|AEmU>`<)S+fxzA);#)=zn8zZEkV8 zZ#{vjz%3c0Px|#oJEC1CET!eZe!WJc>5AKNOhtLbn-Jufjl#U+q@5zD(s^aFIKucjaL0H)1{NeB)4(NqGx3^x%wog;LPOEhWP- znb+GOR?YWFm<@x_iFKP_KV}1T6PncQnO9fzUy!i|2PiUG?2){|4y7XXva>TBhS%7E;Cu&R`7 zMLNva7<18xjA9au;usd*_I_jj^Ti<32z+9*)y-?BVNa~mV+KJ__18wI{<3|G@w$ii zOT%M@kHa0c*La#OOa&z^8^xZvI^mC^XIO7yi5So}YE1@hb3 z$>{%mS*4`yxUPi2Jr+X4=@3t;+mJX1W`-HIS5ZF$T09a0ZyIzP3ilN{{2 zwS5DA4;oW<%nf0XDA~yCpdP-!EvUwr#F%RSYo0mXO&u0F?l{_HGiq&8Pa zs}_06mdSk5m?GpJ`lgRqv!*%djG;*mWi~j zs!&y4yRfG7>7ym#W<*cvv1DMW1*@!^Pl_SPY!*P(a{gc=`peJM}JwQVYa zUvhQ6)}|Fuiu;Yh!#OIcV5xN$+_+-C`m6$=d7PAcA5@{(%giGe%ctcJXbF1x+yY5n zX2{7{l1wPDa(?(BrO{7LPQF_g)Z3qKybg6qG!>7U*i$F#W|WW3YTu)Qcwf�Jl?!le7 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%0DqXGmuRgW^>D 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

s?&O<`E~|MVkQm|BJwK1#k! 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

{(duo3s%v^;xdgr<%OHh@$w}@>hjgWWwHe4N; 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 z⪙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

=FedFSbxiS|FdSSrQ&-s z3aRqT!2FMdE%)Qm}M76j2`$EM1w=8AJP4eu&$W>c*|IWeisNKdog8V zAp&HKXMr+2K<&>2jGkdAUv+{ZOwpJF@Xk*-rFBsqrTX?WBd|uy_w^gQA4BxY@pK4mY8 zY`dun6a%iFS95DNq*CX-%J71pQs5RA#*GI)7_5yMB-@dtOJDE->A z^|$ zg@vi~fw^rBJR}%+F(^AViC%2s+V9du5J0h3ATS<4Ae_j{GT`bpsKdWp=*l6XP*~ln zt^d2Q%9@CsdKn@kPCr%eU{Lng-wV7s`i}xqh^J+?0HO&xaDgQTS&O52K3?JgL;6NZ zkbxz&8>>K;Ko5iv-5~@L4BBm;3@-zD@dzzt=BWy@k+?)qqN9~zFn_zBKGcck*{_2B_0VMw}h7&*< z8N?}oiUt6OKrS)JmyvqM29g=@WRc4FnG6_n$frS727%c_GUp}c@EMR3zoCAdB{~TB8D^A-<5v65`afha=NrA zz%3rnE24ZS5{k_ymVhc!T&0BQm9?vg&~n9aaMp70&|bv~ zv7ccoIZ3E32ymhF(-D*M)R6*_4YTA{VQWa3@|YJtTFiPQ_2I!LCS??bg91wthpB<- z&}l$5$-{;)wr8E88~XnA1FEZH?#>)336nH0ZONKUlyVpbp(P%LJr0FEo~tzxg|}!r z6E-2~G$ART1btZQHp6y`i(Q~LQ3jMW74VJn=KG~-}QtuIEo$@m`5cIDX+6Z0J z7Z6%~c_c|AG7QNzma4!e-i3|(ub640?vQpl!HVlKCyFREULe{{gpgrghS7YrnR%=O z*iRgbD-Wr5J%TCR{H0S-dkA{Wx<$;o+2g_@4e-EgYrBh?8x<{0c6iddA-suD-%YeaA=CBqZcDnY>BjXO@&FWFEC@l@Y#{76^f9?!snITCRL3FkzTvMGeo1=K`pkYTiVBcy4aqXO{VBpLuQQ)kqKyVh#$nP~J+RCB% ztN!qr;{y&Sq2)>d9*z|gU}|$6T@t9SjlCH;2*#p571Y9^{;U4py}ZYopn@Jh>}(25 zTjfJdc@-_Wbt0CT&f&3`%-HLdL#E zl~NAes>BRy6RdVD`vBN_2C4#5XLyeKKKyRyeOE}%&P2j4+Utj!=Z^3U_i1~`I=jiC zKHPQ*&)to99VIn*=mGAy6Ue37`Ur(YLp|{A&5FXS@4vtMx^U%n0lq1QFDwuc+kgA+ zEBrr$`ToB?<7#znb!2svPq=p2M8bXz7Nstfa*)}e$cK<6r~uLZXbl#v;>1G)@z8V* z=KPWiqn)?oD{~iG`iq8(+ww~OJm0+D{92tYGt*H}VkC8Zjz8z#kF8I9Zz+2-zP{fX zCq*yn0|L5nj3GmI+BFC|$u^vRRZIf_@;j-+xTpiJo=6={kgZ5us=f4p4Wyn_8}VLE z5Gp3`vlO6`semF(Sy4#x96(cPNEvyQqrp@+LVdIp!XWwF8V=`W%x$IG5m>#29 zR%40<^sCGv$8^-%!ddme^Au1&YO~Q)Qwf^QOme)zP`aVj-8aU(v{x)mQkn8{yEvPv z@3{Y*A~(tF*ruq(pf<%hSZ_%i&#{5nu;m12vs^dyE!fK|ZAG#!eOXoWtHyIFLDuJ< z0N+v3SC<()rZxTjt!a@f-Gqsrvf{F%8@O>()1eMXz~igN%y0@JjKk72g_zDDWkQ~@ z1nULpP+xm?n@kl{&{w9Andf3UUs|Y~C)Q}Hu6%D$Qy7+WP0XU60jA1v5zR2{I8)^& zrr0!0n`So+c~wpwmtqUcCpk!2mTzGlqY2QBmYNlH7JCiGFE|k<;0hsgHd>C=Fm}o* z`K6QD$3-$FVqEf(&K+fM;o+=GKDsU{A=#~sPfISWg_UBQiB2?A6v#r;>8h2Z!DJ!Z zB^sr{bpb{kHM`1LiVVT>5{8XXzdsY)SWIXyxVWBQ*~zG43!|e{5E$h-T8_({Ba`%-b&Nko+ zpDsJ8IGU|C)2!wt4d*z;WsL3(F?s^A^K2T3y=-1a3a`LY>TN5MZ@@tBUe_#sEkxhFs56Et2p_z$i*|si+(* z-aQwAd-ixl{@b`1ui^{45`krR2|=(T=uV#^Lx_P=6OCiuZk;}Ue_cQmhslryAd4(W z#eEust*Pa&FxzrvXJr~T|4kB-eH+C-=v#Kopk`YM*vt7Cs%-?dh zE#J^2uR*FBy6L#~n&8EWC-up@|w*$-?2pII?ex0}`%I0ut}Dk5YjK zB_DM@6X>d$7~zC?#Cmkf(02)MAW|;`-aY|6=!pdyr%5O#2bV^C-m9gt&(7cBJ$a6oykZxDP4Apg|?&-DAz@ zRuL|rg5EN#AE2yyUg1w`R6qPeG0Y2nYD@VR5w`z8UfnG{LG67Aef)sGQ6zq3MsZRo zA5E&_Agzcs=WG_AYw7T;jP(YOu2@caF=BF-6i|{jr$(hSp^^LIc!6$A80gHgSw{z>El@UnJ5gAP|%Y-~uR;f!HF#=z>%Q64v5>SObsD>xnlao74+; zfpDN01t}==Fk-(>KIU5ad$;+407gptMMG^vl=)3rSI)~pk*DYVLF(U<0N6@d7|z9u z$PBmiN}TN0)}Z{|Cq}wN(yVZU>YXObrdG?)D7Vq&bO>Thm1@Q;k^9m{a!l3y=n(W8 zgMk;~QrYWpb%*VaEg+4=Lm1tc4gnqpfSGX3f;!B zpoy=XmL!Sw%YR(A$d^)msi1`Xf!h(lD12Y{YViz7K=vf2@nU-aa3By1Ud5YUk@HFE?SDj{9%lVQaAq?XgFeh6I_E02)?6j7=R@gM?R$#DeIO;%K_^f zEs2Es1~~V&spzPu&;h|WEisq{tE(!7hlKUHVIxT11p^(7@rI%#hDyR%BEfZR$z7f# zR^5Z1egBwufl3LnLlX11?@-Eyk0!fg_q)=0`Vj$76rc7SEpnI(W@s|uMlgpqycy&9 zZb_&%1xMS#9vvFS36vN7ll@L$a(4eVk{h-nUX?|tqf0e4=lv1^v)gS?c0t;i&ilN4 zIPQ46UGo0%P5E`%{?udE>v^IGl;)?$m51@St!!ol3}>oY3~?lkWBEtBMsDcAGiOdD zBtXVl08Vb-HqoPRj3|d_9|auXuZ&w40-lv2&o4I-YMM3OY-jI;i_VP0fo#T^2Vr*i z%n7jCUkB7=|IYs7P@NvR(9RJUiH66P`$nrz1>LSOG@K5gIW~kumu{b6s-gX3K#juy zKeN9s^|@zVlRen%)b5Ih{6V&&=CJWX)PZBqw9H+Hx&>%*ApB#*?aHAKR&%T#8)oIc zsbzcPIH&2ych5XShq%J2Pxp=OBQPA}o(<@hnPXvTHpK8c!Xu&Ep3%_J9dB&NZgJ`8 z3~A7vY#PH-IrKr7?F8G+dGh=t2;QbqOaIH(4wz6IPjvg+dB}W zYqzyY4rz;Yq4v+6K~6o4ZnrR2BGh3Lwi55cyUj^kOkk~esu!*t{WS-yc8Ix#mJl5_ zwF}X`)^`kFTv?xAzj1dt8maf;-?oNqV4K-MjY$jrh^-CmKpVvtZm6wZTe&R#AuJ0% z>E=Q?S^n!2Nj`K26$;!qh_l<3ZwW}|AZ3#&TLR5>G@sLP7WdjY_}w^pLt=B4J7Dqr zZp?p8SDk?Z98qj#G2=EG7BVJkDZIzKr8jyOt=Zk{Ho)Gj5=Z0A@7qY z!jU2Z%fMZ>krOx&O-lRSHr1`2de=Y-i}ROxbLe$=;{cvrrcB>AxCiLUS5_`9ojA3B z^ozCbpx=W?9$d;sH_#tK+E@Z;I@i%A{th@Yuqa_m(>QuVsVL1P#7%Ukq*+;0MU@Q_ z+D7@~8$K&qWSqKA^ylfJY7Si?J|4OTSx_cp9muOz}^^V(ALhs3UnJ7|tBvu7J6B8(*daf3CdWv2MSKjb%veB9o;8wV~f z9P=y+wJ)LKAu68Y`XCCc%0co)`ewsIEoS1p{nU?+Lw0ix8%M-AaT8WpZNtLAv zS%eo^zq063lrJj|apob4n+73lTKFg1(Ltft-I5aUgy>@F&Cm60P5CpzTAFXkmV~3a zr3*gM;5@pbyekr}-9U}m!L5SE!f|OPSlt-~ADqW0cm?6dSQh@=g#scL?sy_$!yOJ> zXyEYc3ws=7p@Fp=L+u;B>3xqClTi^{@~9&#V!aDfVF8J(%%p@f;uV5NO$sTHUI*9i zj=N;<5anbxvOnqw`-`mECjto9tm#Ju?`j6*65 zVoFyXSuxi!Ij#u&2`?+}Pgp(^Ph^->k8`F+Eh4i_(x3y69P@C}U@+2dDWEPQ+`eUY z*CD!1x3~DF=bEcQ9Cq5@moiUa-rw+EJ_#+=VR;6-;2YjU8(6SivNR^o)1`73&9U`K z*4vHofwsWq508foakc+Ofs*6hfA4XuRiP1iH;`hi#$>>}&-l_skT7j|?B%#iY|ma& ze;f^KYUa$5@jUpl{BDlnqf~XxT6EI5;w>M^k})-E7~F}r-}}-a+#DpZ)VV4kyXV_` z?v||Jg-HG22b~1zI;a+H4^q6r*0s@!aE}dpx;-ZT*tDo}l%lo9LFRRnaB?1Z>OIJ@ zHj8ng8OUMr$jR_fVDnH zczygNTpD>~aA2nC&%?Cc-7D_Q000s_n*4_W1brlMp<*(bU$4%FUmx5zmwZ zC-*-=1}HIS91;12?X`MWm)yU{I7%9DC7MfXx@1@+1|v$U3w#*0sL9ziby^lL9oSjx znui$-hfiQ!Y#+o>io9nz`mr=PBYsI*_ywPf4f!gLn=m#b+(e>OoR}1gVPGQLvFRz% zU5BOwb#}b}XowetKA6`7sTMn1t0xOmoKs#<735QOu4Re?ESWMGczfbg9Cmbc80%pR z1r{51tTt#2=Ta4Ya?&5hhEOaZYmEboJ&`GOjtw!+oK*RcF+|<=*bBtG(SAxZcex{~LMB9c;P|4~{(5|-`7+Px`B4mL9MLJY=rLmSOLAs(Eqp;tdH5(7Vcs!H z3G&ANSyR)tXr+ITK*&da5ZQCmP}vcG_~>S{A1k-G0!ew*K|5SA#uF;X@d?W|RUnj3 z?rtrbnd5j|uBU{VBlA`ZE_bUYk6Nex7Dw@efY0A_(ql+GprZ%~6G zgw?MO?VRA64bLx!@0xmsPNS5^B2m&?NQxIm+JK=d6uRt4dr?VL{<9GuNSmD(k*tH@y!Ue@jLT{3pG?x;p>y>q&7`(*wm({n1Y&1Kt099D;*LVHS9v zu^3?m_$JbF>xpFG)EOOz~ZnY$7n;2 z*rYfB;M6TRN)SPhwe5jklhKmV#Pf=@6&<49F9`N=ck{>-Qx`9>JpAFyS(NThqJ61J zpNpsGKST2-J%GmH`~5z+hLsHA+Mv$|PInPngdi{36lhr$x^)XXg0?|KDP4FO>eL&a z1mWUo2^xyqR`Mc0JLp~qVeN?##rP;^F=!U_)sfBxsrNDJaETaJF&9RGMhV5<2*5k@ zf#4Ae1B;%8!7!;b7@8*cZ8eP1uYVR%&)raO2Ih-4n7`2`m>D;Th zp!<)fbU>)sgm!fdG8}5?wEh#`lf>uzgv=#N}tcs zRXYsn?dq^lp=myxm!WCc10h7VvasQtL8W$g+;5N}i;9ZuW^Qd_e?z@5z#qzS-!=HukWb`7;XamXOM z3wtRW$>UJWw8L&nFST+a-z8bw%s=WK!kMA#s%q)-FvMTGn z-$Kx;I22>)x-7X`9<(+PztX?xeGkfb6?6XoqwJl6L5cjn;;2wi~h?vUgd; z#>Da;xRN_6ZlJ@GAfQXt9FP}o&iI#O2Ha7xH_OLCAf%7mBoWekfc(n$*kZllfiU+V zT#smu`HJHq27f_&^c8ElOc)pb5oC#d z;sQ+zK>s3V*DIU*JB5g{wMIJb zmo0#}Mm8PP8Khp7x$!#l$)i_Oc;!~C%u9AekB#pERhYbmmm%f?*|pjw=ayc*DSQ^& zRWPx;xC9asNc@HoNAM&iVY;n8CS^n9VciFZJ*HvqJGKd9%+#HEn4m4AvuBN8!|bdu(47tn zYxDw-GS}cuYHmlD3@)MPR~OCg#tsEHJNr`{EdL$7z#ZVN7JRbnA<~HOzQ6>mi;n>< zH4BfRTl|u?YXY-n!kjv$d~w<;KoP_NZ8q(;jMVBmx||(8BeJRqk%bi*!b*;`Zcslb z@XGCZOYvKfC0~8zi7aPCP$-E!RdJUQS}Gk04R8sa*sES73^d53q6mQ}R)a!_hbbIf-rk67|(5=fNPNt8@9*6Aj;J72b5 z5>$jefr7XQtX~A+5)1oEh2<*Q2TP~?whipg!rzgK?2E(S$y2<8u-}m_d36v~6&>Ld zkNnRtE_4r|bN|;43B`Q(k@WhI2MQL_H&maWwPSdyk_Z<>&MinBlcCRSvRMDT_$=L5 z{Nv_=i^V)01F0AySD<9jd<#E)5(-Ye4*QjD`6OM#FuyAo|D0Q#{6Vp>$<)lr10}o1 z0hB5Vgu3pXoOY%U?+bEc0hwJ5p*?P40E~(kK$0CjyzxZ>v?jQ9-52`8LU>~CS{L5b zC0TzBE@BZ<2)RAL6Vf(*X@@nfQ;^jK=$pho>kEY!4}7(^DqP90Di=^fSos!Y2_QVuf2I12K}OYaTS|>9KVlp) zXVr8Ijl8{sM);QH`vKyer@vVk{Pj3ZKU}CxZ@i_UJWgqhox5Bz{L1%;FcYEj=0wb_ zSkNtN2FWxl@#3-n?&AL4rp^B^@t)wn#Cy13@m~5@yqA08;1g<6<)gvi0Hi`dH0z%E zQ&{7VF9EvowCMA~6*IV$1+H3mY!gAS=87nx3KV4BLce(&oMi0+ z3bcH_@b4T}y{bA=ka=7jWa%BmyJDv5fq4sc|q@# zv!W5RVn?>7ob0Bpj(NRXtz?-ysh|6=cAvE@dLz`u>RJ6?+C75$zm5OW?w#;E|D)Y| zbmPSIzxBk-F8*rw+Dx~!R=aKm=B%Cn)=zUNgx$1|e4vg=jsy|RFKp~%dELX#^w$>j z@6p6izZYUa)|;cyy0!vW8)Cu)#TkR<4PZu5si(Dlx+qL0H*H+g8(XVC_p3>(&djHh zT8O(QG&7Hkuk!vG(@a@5W=7dMG`bpj?EFW%k8il?cf~emY+qR4t@&TleN0eeW|gU+ zR(92v`n+0Y-L&YF%3Arhb-lthB~Ft>xbUdE03>6uobDi-83 z*jU5n^=!Nm=c~_y1?1usl92Ts< z|IQBg#g9y*tjG{VO7n|L)q`3l7a_7vJ3?CxuWzyC`K`hW4@nh@?-V=lfxfa-wSxcdZIfwUL(;_-+T zi;W@*dlUksBpGS7<4cIziShjYps1-RWfqyGGV7!@NzD?*Weo?duD_r>*r-Bk7Ke3G zo2^H2&pe5BP8prDn#Cy#owA>4SX3!}fj`MLHwTx0FS~!fZf3GF*noN-kD>JN3vsO1 znI;}zTZ&3kMz7B>mKd8-DL`H z-p+a+Zy>+I1b@!NPJZ@B{2umQ_CGrC-?p{*RvNn98RF0_KeWPhuZ~A`p|noO z^*lxnVj?e(i=Ro06drg6CSXR6JPNBROOZYi7gZMLhMUhL@FYYJ8x0lMieBOu-PgKP zTbMH#2}hMW!%g@_r@FX7yF@>SdcJpx!NI(^Jwx;3D-ZTD+(%o5vQC=Y=&|!|F=E8Y zi9V%f2yceR{breP&SJgiCxj1^zR*{mVW6MlZT0~~6t(xO$PvFMCG}Taa~1LYHaoVg z8c*#tFnO-}8(;0(tEtWI>c^Tx6fGE2VlO92j5i`hpO-$JxgYAhyOU!?ia@VUP`xfg z40U;Va)o|`iVB5+hH=8WJkeVsG|yW|V=ZbLYO?2ALkz(s6c>yQo@hO$BQX4JgFcEXAk@{#)*sP-`Q?XnumdPFP=~V;~^9frUNr za)ItRGdK3Jhh?LPx7I5#I+Qz#AbMT<${w!rEMoXxu=JRoi@q>g$ob;O9lbgSPf$K3 z+Qxt)uuE=q7H&zSN>+3P6)-znJkW*~@elQoc2%YNH=0dLccFi(G2NGzc#x->sv6=k z)TpAE*OwT<1AQMI(?*l6y&?#N%29N6@f3M}JNb0le8;AcsFKXZh~1SHl@IMA=5*cx zdZ{#2R7~BgO(5riJj}i=7n+QaNtC;wekS@egR_XnBc9PG5sUE#KpQ0@Kvg>GdIhGS zOlbOVJBA+QMj-r@jaf5W93hz8VWd#qAk2W`u(=LyF^E+H+?LmHX3)Qq0bXHMv=wyj ziA1P0;tMMY!94#DP#7BTR=uo*TA3*O=TQ-;(QbZ%_%jdU>REL4k0eN|k@vq75i|iz7{UbX zq4YONh5P^TBrO!^>#W9OOl+kjyf2|!1KSx&$m*qx6ml05m5vb)j_d4Sq4lmjk?t%+ zdk{%cBcc?}q-CVTBNQ(+FLBX`bWgy`>T9BL9aWD`t8&Hi!|Wn}-ie(_|GpUTr}kTB zSAfSv(t4)kHUZYh-&-xPly|A)c+gjYy{<}k3`Gj$_Q*5 znB^i;xzWrt6@8)BaBC5FAZ=D&5;yaXZbju9UkE40Tm9$32u=0E*KHnFV*JTH!BkSi zUNhSw<*T#`D_Ul272h;sY?r0=aFo8rgVGAMvGWUMxoi=r>vOSt)NFF6dqk&uH&-@} zw?UyuzerHk#ot)fZ01gdmMIRwYHhPc!V-39P*BgUH>b=dtq(#%r_JQI6+Cs`mY`aj zNU^3CQHICko!rMU+Q9-eny%&DU6n1@`if+D{btl)-m~5 zRc{eajkk z)|D=I&N)`$l*yE2yBj4v1BnLD+7}Tnv3ew=n>!+TXDmu3G-GMZA6&+{3= zN!?dv#jdxz$Q3YP-vxo{gW$((Ib8e=-$XgC9tfN{4Mk~H?6HRbLPq;PbWEC5;3EI)#EKyL> zor4HFwcmb(>><|-3KF6$pnGk-B{g00og%QEc{ya>+%`$E9G(ea4pV>`GyD4xl%cUT zAMdrN+|OGpoXE4t1UhPNB)}%H+B2Mz)Lpth2jBVhJytF~UhEdp6QZjUf_)F1|0WH3 z$9^1LM&KOS#v$8Sy&5vR@bY==qkRdpax&SBNzd8^ zx%{e_a_rRK`KEc+&7P3}D|a8o09$O8zJCq+r-|^VAwa>X*NZ7^$@G+_{ngQbOQC-z zIcW7%%j@kh-=L#i&+&Cm;qoeB@kVa{(2dzpnr77}mR*Y^E+A@?;)t)2Ta(*(9*y{| zrB2gbE!n8PmA#9wHu>J^bxte)fW|q(PE$^L((3|81ef#h?RFYbZeL2V^%xb4uBe|7 z^dzCpgtj?l@)RJJn&5sB^1R5m`V24>!03AYayhTFZe7+&*5?sAWmV9sY? z#TUVcoi@xBEAC#qOVR00cp}#4a3@n{L++3$h#@fLz^&t+3X)Zuz;@axIZ5)pL7yX_ zA@J$8PkAqo9Go_)ozZ~IOT0uPe{zn?AM?^dxo)h#RXTTz7L~2ej{VuaUFn&=Cf({pqhmW{=vlu z{T}$;nLu#mu4({7ACf{lCPE`_P#ebg7L1wWGtaIcym1)+GyAD&HMd2~7&taBe$8V- zR@~VAx{0}aATP<)2NcHYSZ3htEk3__8jmb*FKS(uh;Z6d(3R(O?~_yW0CYUZdieV& zM<V13= z4)vO0t~Aa9Brluu8bVQ_+9U6LGJOSPo4gKj)qFEFgH|l6pzuxBpzhVIt%Ny7_tI{q zX9LWDH=7V^mHq}m!mc>yw5G7{`TQGg65PLQn>CcyK)pZ7j<9tjes7^J9O4k>%L_Y& z6)W^h6>)Y)C~W#G?8b@sRYhGmdj$WL!Y%B^f%v70I)8#n@Lq-JQAeyfns9QK3sQgV z`pr1p8-wz21hVla(rH}u0rAIEBM>*3H!|W&XSdsus76xxyEUG9tS>R{ zu?P0HPTvN)s=Mj_x`gBL;o^5+kg4jdA9;Ki9Ko2l^vQ%QfUUKi?7fQ^ zS-{pS@s?JilwRRJSmJHFOkbdqINzk+?5wCZGmaS-Se`z?J`%B=jHWSf+aO1ALsYAUZk4{OCeik(12 zpI#gs)zM|%gSb+!nML+)27_#8aJFJiN%jGmdWC$>@YfW|uU1khq}kqmv>{z4l_y6N zIVXul%@}LCRE<54V*A!JJKyQw!P+V%k7cU@GQ&KMEsB9MWVOe*Z{DpSl7HeMDgeyW z(fz-%*UFIOCHDBoK<4xeFJ?d?0mx6ZlkrZI0p6|Nv#{m(^5W#y7Xd*B{iJr{n;40r zTc+3MF$}yoA7rr2dQEgxtWmfl&JT44Q7roedfYesLNw_#E`ro^v?cDla7Q+FAYA<7 z7U>8I9tnUaZ>z;PXMR!^h@aDgZ1H66!N@~UPPVEsPD(wqGhlb8mE)Qp0DR`F7H%4^ zoaZizcFefm9{z8CXq9qB;~F{uK!z#+0N?-A)cD_!TmRh;rUmg!a{2n{X-krB%*d{f z4+;kOlPDt??(Z1k2pmqz-$AI`EmV_nrMY3H@78TWI;#>BK;zSHgTv3>LMg>&=b`(Wz*y(oqUTUJ3fL>SKQc%)LI`+VM?SpMI0-}l5oM+jPasgi1vcmRjd4{bXnEXrf2}y(gooT z@ebjPv@s_n;_|de=wt5wO3Y*}w2y3;LL)ax{?6xs)xkKm(H_@Ip?jsBfe@4=U zO)UF@^v0S17LHALkAKH4eMk_vELKBA$YmJ@yDZIyBit)=Xpr~`o&XPXMaIZ~h@K!8 zflYR=L%2h9kDh=ej7xS8oFI_EL(*7=v8uH-aAdo-$m_%ev^d;&R(tXM5!kz&8{0|J6?EVE zAMDF8hQ+|v79(uSN2f_2)#S(P=a1FgvROXqE3H6sgRl9 z*0pnEX#29*EiQw1QQ7v9(jMD+t{4IJ^6MQuHfw5C)pAz;9sjnCy>4 z-5S_(q49N-*QK(%NdOvvv|*eSf1y;L=e-E5ZM7lSNm8;7-a;z=3;wP+6eqc|-^$7X ze_O#Bb@>6#+nYCV22tH9_#1sNel^3s{*S^gTLpnHXO7m{YimFR+B!uAOXL}Qa9LU7 z;J&C3`dCF11)jx0;GgK>b`1ju3kNRxhYjx9QQT=pwc4mC$b};_KrIERh@@Ls)fkfX zBWNJ4T~_rED;Y)ta7RjU;k_@1zcEbT-Ic1r-Zeu}gV?E}tPWyIa`QVvyx}ivFBxwA&$P zNofG3Pm9{KOZX)SbJGHI<{DseI!6WOKe5YdbQV?GAnxdl7RNT}3pu8<+=Q%Vhoytz zE1NVo0&X=gFX--R+O-`Dx-pUdU2UgwO+tya>H(VM0jaR$f&4DUh?E@6W^1>61SHmD zp#QL75?dJ*E?L?@ZSvI#oL_()Hd1wTprplE5(c-9Mdxh>R?+Om39lY~uVx_D`_thJk|+hM7=sqZ!KP|HKX}c(Tl8$xlE|+mexIwV_zg2)uXE?-{9kaFKR3)jA`>% z;Z+_xHs)OOYGqOt)JcY!MJtLFgWpmu!&>=*N(&8QGNx%byI2`*ZR%CIE_GXU_oD69 zhl_zHixe6uzC#iit0(0ot;?IMa4;x1U08^{gsbS0rc|#e)Xc0Ln zNfFNI^OY*;UOMvK0B~)0>-g#Fk&+7Ap*hpc=%C!iak4~Cu6eE^)!5KeesUCjn1)Ee z`l|zFudJ(dQh)hT=HRizv}C^64P?mN?-ne&Ahs(87T#HLR8i@UaosV(Q-Bs*-Dpl*tRD|@sAF5&0W zVc$_-+JUiKh@k!Ox)w3vFYmB{*VRTHzh9O)j(^I*kYKJqKA}W zA7HW**GCI*-T)cm2aH#iz*qQ_F+H8dkmM!KGc8d3u421%;8a5W&LA#CExsekla9zC zt}036&K}Bj{HoU+)c^tE?BEN@GcT8f=BIAp><|g!2hc~+@VD^c>?IxI2UQC%{yp2X zTf|q;my#hKVwxX8z)-bhVA!fMgkZH|;2&0W2gr~ zt-}u<0mEar4eCR&pG(U7u)MH&mxe*GDH!j`GW!P-5rVqJcZRxzcM!so5y=DrReP8b za)(EVdBVnwni+Bf?uRJl0C|$C>7!**)KRun9wmhT z)94z52K0Py#RT^l(Amp+p;lG&6>i;T{cIL_wG3zlHb}109CINxj2%I@tz!h6wDo;xp7Kl!Uy*eq^D`Z)i%wbDEO0 z&MNN#7oM#xUcUEn{SXZa>ndnd&CC|&g^=^mI3qT&)AmN2ri7DY*B~S-(Ps^@&Z;i0 z=T@fj7H0tTH8Zj~Fx&{g-%W5(V(Re{O)9FBz~!7?gX=h?@LwDisUgSOL0XY-l<#lr zZMgEAvZ;W!m?fTjF$;5@MjyppXkm{QP52Ldpg@P(cE`X)EWolc#=e6MBOI~Nz3{Y_ zsHPLCp3S;WWDlk3%&!`^l)A}5Tt9$Law>Fe>j^q z(6GS`gdFIk1@UJOv|E8Z$pC}~42!1;8KQCMw#V}`#lTjwY&W7$Ad1roZiP$K#dS4Xm ze#3)@^~br>N@{Z6Gn(B?p?~)JMTfFIGmCa|5M9cOL##6#MU07blIh9UM=b|zQAVUybBx4jOk)6;5&M#MYcBU5aUCbF9cd<)3=hfF?`v{OcI1BRTsE{*a1tH|k&>^a~Owg{`l^YI}n=m_q4biZ? z%y)lejx?1!icQe(4*$VR+lyXuVKCNr057~Mj_Ck0wX>MiaY@( z<&;Q|&qVoXKW1@U#nrngVRf4<1 zr~m#TjF{=m1KkYs?*Mje#>B2dCcU!SJHk!x>(s}46$E_bN4O1P_Ug1=} zl6KT1;|{Bc%{!>ar7AH8nc>H0juFr;pK?Kq&d$Yr!(;zDt`oK(p1rQFJqy!B`i)(e zUwayF8FJe-2&uxs9k7-x7o4jz18{*bSwPG*7<7&su*l$Cl#Zb&G7?}?bs?>;mFYk4 zy5$M^XJjvE)B;N`XHe*%Dp!6LmO(mQtCY_1&w#UuT4#;gUEASLi@1%Xvm7zKX%EB? z77dmYeD2aph-JXwIT^kip7`JMF#~euz!fOl_Y^s&vtC4tG9srBKyxNgXLiA>Qhnx*J%9COQ>@Z#@qMj!TzKUKa zMwy*)`i4xvP@1=$^o+O8lRD@9A_?0}jru1t%?K{osfT1b_JVB`&V1bwS@e7>cj1$5KJmXJ^1rnTgTebD zN7j-_03z>h0P~08>O~-Q*M-QL0JKS|&qJ<^Cs0mXbWi6pV|Cf%GN~N6&O%r;?F{Ic z&1VXA)Af9iF@@|^Wx)UXVrL$gRd~rbDQJSLB53$PFR$j8pxx7N;t2A2+wv6`^w0jq zk9!gvs9cAy=3?N>v5i`g%ZIZuk5k)&8J1aTgWtotwK}3CPu+l0nq!m;=+7Iy{Pr2& zn-%!uhx>30WzXw}@b!w={z|obTo)MD7uxHM<9g3FAIBF)^`>=e@@@4>=?7-J*B4Uv zkYvyG!?PK(67&gYAN+$5yY~eAg9LrwHyHH^`iUB2lX*hF4SDp32#@S8o7nW10ir-B#oh;VyE*u9NED91D>Zj2uqh~5Lb zD0l;EEa73vXrnHZj=g*n){u_H%3L(XTI;x6IA!%wZ{%ZqM=la6GfYSVM65-MN})mj zmsB8v221kS)BQXpmfzQ3m~oH@zn6AOn1yJ#ch!RI8{#op-;)}7Dh}Eg(8l7dcA%Z9 zR9mzG1_EpfpqZJ&5?&KpZxcSE8on9{uf?EhqYk}MkKUR>(Cf(K6g%Q@L%w>-8(mI} zst^%*s`FYCTCO8yeNY7h^;e^&gh?nABkZz2)U;lOC?3PSnA3jM6q9k-eQWA~!JrRC zqU3OU=Pc_1u_k%S$&hk{*b>>KJk-XiK{5x7qxCH`Iiaj9`eoNACQocJf4KZl>6FuS zGkIy}PAhVYdZ;F~m{YAV4d#5d83r@OJPU<@%(JkS;{x+C_Hn~8eO!yn>Fg7@K2T-@ zh|v}H;}L0e%Y$NU%TCs4<`DIN<}Amq8V@fAjGhgvI~6&!67tF=Hav&z8O<1AT5-)u zaUqP4m>16$rO`HETKP#MTRFuPMmM;!jIOhwTdib{uIGiuw8)rhmN&TaSULb%IuK<( zm@e(3GN06_8ePqHvRyROu*6JWrvpy9ru}ivg#Do7ybKP-v$K2+0)O)j_6CRf!58Gs zp1WnR|H&M`efWKS=$M#|79XZ>|I#g9I&F*KLy4++?^15RJ+81x?(Y~ad4>+XZ)#u4 zmGY?gnsKf`$)x$utY=EY4+O&xhS5>0_9fl1)mMsrFQ$o-=a;=S&4P-t9f7#MDE@6B zqMkThJ`0zMFQSAoG)xf;p6@@NpLVBreOaELc|)`8GSFkL9z? z`k`LFIx_&EJY0p2U+(PQAu2Q9GhAyg_`^)ITNTmKYgQZh&~tBAu4o$X-9CRwo75UuCkje@H@fQjnd* zIpA-zd0Ep=K7Wtd;x8EZkV_ndA-1LJtv4a>mc zZ|(SVuk<$aO@caWnDpT0?QyLJgDMW9Di3Ca(vHDLva%twqCv7Osj8&mq^1MZudK@3 z{#p28O()fK(QRV=(vyZ%*oizNeEDWBvRdq6t;f#v|xFi3-^!Ns3-HGvP zYqcv>y2Vi4;-4AT`I?G&Bz07AGg4Z(3H0({&d<%ZjmMdi^k{G|5dfi+lXIq*-+)xwTytY%Oq}@oP|7 z+Ru}+lr778{_!P!@HZn7s5H?{BgYz*0hJ7{kxBH|?nHXiI%M4tYFL~!gua@{?Z2_c z2m?d|R9k-r<~y7mqgfuZrXR&pfAnaGu~t2|O1+pHx=?X!bnLxk$*yyf^cOSv#;Cjn zkpmH|h1tf~jAEr}kIH>3GR{EHaJE0K0Q|nbzXzi3V>Rj3Sp|4!_#)>F@p11)?DiX7 z7jNXk_Oef6+*tNG(lKX3HzaF;Y0dlD=%_RNOZZH$5`RLUO@MYbc>f3Jzk4YO(2`wPxXt>_D6zVFwR2}$ z(=)cGYAk5C!5EOgwCGmeKKj^%>#%%9u`0Ht{;tv>9e+$zUZ7=qJc8PQ{-WxX-4!ya z7#6jvBb`RA3n|8+xbP3#*c^BFDZXsGF&U=sc%Oh&p{u~r;YOIV!dVU}AeWMaXhOUv zM>Ot9VE-$malmp-g?l;<*Bogqj4!Z(HYvIByb`j7jHgN1*r9uiENDsr9v3*S>O2K( zC^NbZQSY2~#gBCtlc}?5c-T8;PJdU24o?Wx_K9HC!;X-tn{q(3W5ED|( zk^@D2C~l}0q2dQg#ifJ&(`fZU!^Y{O&V|hFf<-T507UJgj6oM;VJ8w;enny8IE8k_ zd>FlkyG#pU5FXJi;k=kM3D*adzYqvwZXxI9-xceOU=w)E;piOm~JO6z( z2bp#Vmi_W!=zoK^{>K{N|AB<~zcDe28?qbx@Hr&Rqy_T%5NWCR@+vC#3qBRfl<oWU*nKfsm>wVYj?$N({Bv$w2 zAp~rPWsi`M6oltFRQZ!~tAlx}B8`ZD zV#yLFq%=HdDN_v35mi=P%>D5V$QvXNspRsl8KX_ve12L^6uU+lfhM1xv%pz%ZYc`9 ztM}&OM9k{vq?e0{E{V+maVc-Jy=frQ8 z=VjCBW`^zOYgb6PIr`_EB#Ek|oKm=fKQcs7d8$i9_k2&}zFpl?3ew$zK<3BToJjP!pDreyAj`cL)d(iVvZn=hpX{)%oqbMPtbNbG1+?ugV3k7TQ^?X3 zR(E&8m!h`naM}ZDP*yi{R@%5wQ~3sU3u@5LZi%BVp@lj2;jHTLm7*$Vq zjvIJS&iyszn`aC2j>>S?TP7i_eHStgsGH~7el4Nq$d>N)UjEXvxJ?~$&qAZzoFE`F z>a8!`+vR#oAs=<}5FsLJ2*MlulVkJ&AsSjjd$}!2NBj7Qh^-#N%?XeqcJh8aa#)Fb z5wabk&5DFW53*hAK8<3xN+g!>SWKW}($e;?-@~^H`6hnf)Z;~#!Zu-F2efZPN~e2x z_XYh^m$Zl%_wuTlP`Z>4xsmX~6KK91h2>SXv?2z~P_=v!?;Mg%T_?cZu9^Wk3VRd1 z6)QSQGeJN97nv3TI#f{e4NBS@Z86=l)|GZnKWGidKFN6Wm$F)^^jtX~-gdfOWop4$6{Z$|3EM z6QB-IV`_U2{-WX*Hni2F>f%R?4b?W*^=lFvtzK3qMn4A~JshRlz|6w>oVj3w6PPri zY)tF{*>+azF6IAu&;Pdp(LA`U??w(EB}QEuY7k^$L>CU{wVfU zpby=e0=8O?J8EmLt=HzFv|;P#WTmC^&?#CbPI(;H)9 z(LwbM3Pp<^u8||7%8Ys1+DemC^wnhg%}P4kX-_t-(@lZin0erHrCLlgw`~h&TrGO??qA!hvsfcEj6`jP8ox6B0(eBI7(q1t$O*uuwh< z1q_+xM2~(c{xy@vP5GtcFhLZ+{zO5Mlx3g(gOLEM%h& z93)v$Fa?Z1GX_CRnt}Q`eTW%9@=aSbDmiq1O+ z+z3g6KS~koE+T?om}Z=?@YxcL0)x^NpgBk9SMeZ5t68IULcF4rSxTLpxR>$b{!BtX zRsdwJXIkuy$0Q)JeH}HNDr2wfIy##bB0cFD({0#b4yXa+BEx- z!M5IJ2WOL2?lO^*O43@XRXZ#uKACTWToAy3KZ-7zrs=9JT|&0q2-FQW;6mMba}27> z;jbIfz2H_5?wzL{8u<`!jvcPh7wG?D1m4}%(lnbz6A(N&uhfqs&2P7)8Qg4YTUB7G z-fmH=uq=td*akL4#jLwiVn>uY086B8u5qu!SBnT;zdQ`|tQM=ucQp7aLpit-q`>Ch zTTIh$<=dnA4#7!^1}33Gl}|HHAv5l0o8jtQ(4>}vt?NC5eELtD&5mOY0?$FP40T;s zrP)j-_F3`<#aCTO`*0~RTj8XCJI=x!FU7kl#7pJh#x-=}p9M`y($B>WsH^$VwasqB z>i5shh~HC-H4+kR-7Z7XL>c<@tn?T-kEE;Ugnc5`v&t{Y8&r%mStA)%bRs6%bhKpE!XV11K$ynk6|BRXQD;wCh?7?r8_5rN_WQAvYo->uv*|< zv7MQAjuf{oz$kVFMM!_M#od;byhcy_h~$CjeOFJ2y*aH~$GJ){yght^tWxE` zp@!_u*xfV8?;dy$9)6sSf%56!OW@MKA@c;&v`X-mF#$;Iv5t9pX$_u_lUjf$$t^aK z`efiTzCrViGgFb=++4ME0`<5gT)X4FmaWe@1paM$44%+Cq{E1Ag?k_(<(rJlcr#*+E2<>wxdW0bL9^T+&5mN_z+%EQ8?33g$wZ}H>F!lObD|f9$2HHlTM38_HiOUJCq?ZW&PBdA55r; zkhY>d^eXtrjyNE@Idh&D@*!}vry)YUjvTrG2bRLAjBN*Kr6!o1KV2~(A!vDq-l ze%%fF>CnLaFhjdtDbY1(B$my06Fa(XHfkF(adYDw?XxsS1APnl_HE}{46K$VQnEN! z?ob;4?7&Br4R%`zGOsR&3j0m}i}LC$qg~r3o9@?T$87-h!Sb%{+>lV-!drp%a4>Mg zG##XD#mm6i`wnv4)aRph!U=pZ4US;4_DSS)X@7*|wR(CQgDuTn=``b;C|ZBe!*;2v zA}uW(rWrnR9Eguvu`t^lDp?k#Und_1DEixi^tXw0qsgW(ijaM6vs#m=OiA+zWX3lE?&fj`$w@aH)cT4v2|aT^0g^1 zpDHj-HMG%`sS$QFwLI8oWdCj#iO&PaDadfpgp1Jv{@t)AA@2fGII9*I{uM+;-oQ(s zgx(}G&?7L#tT#~^akdz}z2VV}Q=IuE;m?CaZ@ZqsVuUqB`)Up>!`-&~ewm;vlOERD9cH3#nuf8SMu-s9dY`YT1 zq-xoPf+aPD!(NH^l(O>k68G3@GTSvv<2x*=@nDru7Jw*96x%Y&$kr@LEFf?`{?`k) zEuCy2W)qvfk)!_)W$zT8Nfd31b~+u~Mt5x6wr$&X(y?vZw$ris$F`mPu}=24&pr3- zeP8zdzIt3$4>fDloNKN*#=w=@JFH~o6~ll|&>_$3JQaH8)s2y5R%G!l7SSC7WoE@Y zGK7fchEpOX!|S+JegIpLmA_?pNKG$qaT0h&0ZPz#K*|Z4re8N!42ei)ByE!QigJuh z1KKXlEVw{a;Ss#U^H!Yf9H#UAH3|>3rwj;|FKw4b?vn=uE zf!tI8z6TS?@!Dm`D%ChzXaNM9#Oq818$34e5*WGh&XP5EWhi8DR`GRt+8 zUOL=1;d1mZ&bMl?<@_CPk4=2~HN`H&6g#F=0rB|U4fS3l^g#nZ3Wa^AOEO{fki`=m zTY4Hr+NOApN%YCikCB_N5v71B4J3s)ODj_27B^!VmE~b7RpylyF|%NO_n02QuDgSs znoHJS zEqV6Cs%yzlHDCET#ew&N58?Qy;oGXHM^JCkwM}j&28`C#TvuOfj~1J(S*ob|8q%X8 zrksOnTvB;|CJwhTrZ0&qcojJjG*1GBW|lNzZCQT8-x!NWRxh*XXQ@XsS0^Q%A7i=d#Xa>A`DrC8#KaQS`s*9A+R$kaPEXEy4|+>UBMn7r)4 zgICler?97!g6_#Y7$P!;?9lpA@Sc2pL_B6!ie5Ric{X;@)C1XcKw!>$K1{ ztXM zxp_10!*DKXN)@YVI=x}Yx{XltP;Xhe{On}3r*JyMU50B>@Svi~EAl0rMkt=zku`Nb z{&VYZ$~ZVT8?1cc2dt19g;A}XcWsU0(pp{)9&I=JD)QWy|Hp*=yi?ucznzX+c`PQG zW893H_NF)CR=@bd}<_9=we#PKC zYTDXSGc#mr(WyXG?q6!FVX*wZF)^8XT($wV$ILGfCkvgsEIRW!j81YZ$ zoWgSo(4?H6#UaMdu#f_u!EQ4CjPZ@#9;E&V40tOHsTAW2>Qna@a^6fh4^g|?;Z)t1 zxRgr+&kA`@;QBWCEr0=p;o}Pe>9E3D+L3iKM1eQ-!e3{y&XrVi$ri$2tU)K+Oo*FD zlFl;NbN}FkfCShc(WIKhqot=20(F!q`=2!Kn#Qw;kwHB|leiz%*W9E{}$;F1teoan<596*f$;H0Kq@E}gqmCh)lO#+n3qST~3`a=XBU`Z&F54>JWTWE~v$t|Z4GVMQ?1fVkq+uG0c0 ztbM@}Mq+?E68VKLJ+?ZbziF`=o)$in${lnI7?e9%t|luOm{WDbOk0OFENO?4`I_pJ zZT2M!ZKR!<5}-RB0%d>RlUz>lU9GJ>Uc48X9TVZTPvP^?3TY-V)%^A0Rv}tCF*i|G zzG9c~xC*-XVe(@%gt<*xk>iKV{%H-rP|R;eP&`$BCifC5dD}<+WvaZ$cr-X3^syg> zG&Tcyx7IoP0QNu?0M3ld9QCoC220LJ>WO=trFX`PPnc44cDOPJ8eyPRRwAt``k#z4 z1jg%99kX(n=Bu}I5q%Cc3@17wyDN0z_Lc=YdcivabgP5I{`DdM>)Oopkn0l!b136w~(@*-#zWZOFWv`b8Fm1vA zoebkN2XGnxCc}uR{Qqcz{)fW%f91e%esf?BAFh44#z-@vI0z5^AYK_KBK|DXF2DsT zfFdki08KSUMrZ9ba04CmB;ZNLUjnUAjYPIa^FJdMhlyxe>Rhv2Tw1fFtG21`uCDg6 zGj(-s;L4n|J^9Kd=z8g~`**#0?PJ$tm-9J8GyEyV^SB>=ZRsw1D@l`OSf_|D93*L6XT)}MrU>ahIYJ!fX=jz0%vKLWaEy0 zWil_>jD^YEDL>$nc60z>8J2g9 zgl~=(+f5fvcH26bRNYXpUN0TvGjbrE*}lv(8V2+J)JFGEc?^V z$3VDShdzt%RJa?*tu2Pd#)Lj!pzhKH$gnd(pdI})Y2X_ccP~2vqkEhN z*I@O4Ecaf3tM#rdSD+n(dl&`ZBw@eO8zzv6eS8NAd<4@wv(F6^*UUbkuMigB$Q}^> z{dzhfYo@kt6u-SFGkc&wG7%ZM0{pLN&rn(I9xiSc-nc(wUXwFhDXVuqAOWn!p}rI5 z_dz_sDr;Lf=OwpaKk;~rd#ErWAz0m7m+8)+sI2yew zWMZpms_!;3pN~HthBXZ>Zk@}ckYX-aw&4GfZQv;*roeJ~^n_bv2M@-B1u?b?LD4A) zRtwmvu_HR~B@P-?#S*f;d`Q~Y&!9k4{0_2ESxj*@k`hcbv{7Byhh3-6H!nlB_JPZv23ArhXf6fu zRIi7X#q>;0+PI}b7)h(8`6`E^x3o~^%k!fwhHsPQpo}0*OBYO8qerPGfqx^}?e(~@;IHyUKTFZWhrBJcSNVW`2Y-6#gpzl?` zD5KB873Ad@wk(#~6$hZTQMrJzW>cEoysjtd3?`RW)5KI>$dat&Q_1Ym1G*q4Kb^X&4DOb8P||roaS!UN{xu6)D;c-DTfuLe8G*a zHfT>;pgkg+mzR=t4r-Nvp~Z+JJYw>GRIdtta``j$4lLrKTb3{kvG!-)joUs(-?!l&$s6^_T)s4HMbN^E_|2A_Ckld+-ex4vab~?QY(&dK z!KE<@uG>gk35HumNC)c|B9#I?;|4EE3S3VSm8>yR-E2&rmIglsYn1 zo?OWfTXCtznkP>X{S{Y2StN#1h70a)c)bMih3%jrs^AZb$ObLJMXK>;NY{>;A;#UR z@En}!^11<}vQkpcWIg=Xi<%tPrrwt+`ub!fMiW5&KI5FTK2xhhh~(+s7?7(zVd^f@ z)P|0BzaAN#;&_I;@CCu#8EG2_l`P76DG|$h$*sL=$qD#V2_X%`Y`;vty7}4=hWKss zY>TPJC31@;yY@{`3z-&?2thrXt3AxkIOxJhJ%n)Wr*f}#iSVl!C3THb;Wm~{ws<9( zq1P!Y5=y3vTuosNj@zLkv=AOQ&9?LiK{+e+5gWtfiZ2xd+uUGNu3DkTxkWMs`#ZGM zEXpTI(f)8gY045FP*TS32fx%`$l*3`1fsrwn(yV3c>sbobi*hLWE^hn5AjLjo|X+~ zYz9YdeP)0tl2c)$f`NZg_N!m@g6<&_3mJVP(V09BC#%GZu}C#hbXO!j2QXM@rt6-2%((N(rGQw{%Q(9My}^#TQ9E}Rba_{ z5R3nner3bLL@9#?aG$v)61H_f2lmQ-@0{`5@Qrdn?8YvrA#D+e!LdIHme1a^!D{O; z4iqYv^enDWmaCv@rpjnfX6*6jGrB2>;)5t~;`$T}iQV01>)0k3LIt%`yK9M6V`vW-t23cbpvra21`Ogdey0JB+w%pI?Y=Sg1YR@F{7c+T zv`>$^-n}+?2My%gdt>|z*CL>QX8IHv{mLUM{KlV z6paXR7}nL1ERuVYnA9Pk`p)5Z_xpGOKkB$)5vEA9+1YVQ137ZxsR;Gfka$`jLYJ|^ zq+n8*qDE4`j>JYmEMdU3kXiOxvidbLhsp$L7_re&`+!Nfkwo`@fskd_YbSy#A&IM@T`Tai~6ulHYBY+pt8F5^qN+2CAG;X^)|( zRAe|*$X8jS!`4;!vnQ#WXJu^i+f9I^$Gd$uMo)hNd&XVV2W9Xg`7$oBOEVN3RCZZ` z%n9Yp#bBjL@q!2eR;wThhFkP|nv)2AcNsS|H9~P#MvL$4p(k9{!lJ?T2OozAY7=!Y zv42S>$Ve%3Otrb(XFTro^i1*H2GXS^X2VeH5c9L_+iqE7m!FwLBd0}?hJHvg$u)Ac zu4e7RSDrq`vhymBai`Tk)gW^cwn8s>QVJ7uOAHPxnx=BeR=P*(WH~-KTn~g$`87HF z{Cx{^fRiS%wOaQ0QeQsnUiq6*_9wxT;pDE&GK1NPGkC88wT8c1*N~>iEMhNr=(#X^ zzHMJBIIWthNPzBNL6aOClVeCbQzn;I$V9Tk1LMJzbQJC3l9OVO5B@JF+fuVkz`|;I zb}JD(sP7}f8hF;0ypfq&+laM$K@TCx8M^5-{4<7KJ`((4+E{7kBJXCEtCAVK+b~%; zzEJvkGgoR`;(>APQ#iz2;zd_Rg73*(ONw1fWLvSvjHQWJD_dC=OzRA(gopOO6ssmY z>v}B+p4Kv!)4RVd`O#SK$0sy#oMor}l(BKhZ_XCh$UNrr;_tXenltDUa-+c2(z^wL zFGTuBlT23#{O%b=yAOzs*i(EHrcP96h6z(EqAIS35kwhp294RvZ7iTO9C=ejVJSE$ z6@5>8)x8h%Tf6gk0F``P!fhN=BdvWa^k<&epmphlxpEP`SqT%P18rW@Tqn&7sx7U#aG|wrg?4UaJ ziO7l4S_4^KGad-L!>gEL;W5V~e*+;Ht^=*lpEI#rnf96C-2@5!coBoESAkNhb zJ13}{0``rCViR|5pE=`2cw=VALY?E!#SiY_gyPI9MfIb&O17cmM5dewg|c8c3c#QT zCCQPF`_$`0R@5O_47(*hIkVA%yx>N1OBhj|ybT=RVPvdGj4pjoqV?7h&~B}GQmha# zt$2W_72i*@c9Quud>LGo;akS7;52$OEvN}ykUe<*L&N&_ZA%6-m!epvfUPTmx6sop zb#H85FVuF?=LdMZZ@+L2WM!caqWv%&^K;-aVo zpR@u_@dte}why({BKTe-=TBS1?h;bcXJ$uBL=Z_RDq)weAuq;8@Qu{QaO~0L10-rhrg8XcS3m$umQAo`lok8)9{9uIY13D4V2wTht zDF%F)2*;jxYPYg{%bWf=;6hrX9dg{UqjeJ(u?U8s#A;IWXV%R42Tf1|M^K3d;YZb& z`6@WT8js@6ARDd16Gpi+G4GYtTTH|SSN5cA>BljJB=c1UgNqOS=Fe3%Wn){L41eko zL{g9>+GPFAN1dJP@{EJ=)@I&L8Ttxa20j#|WZui2nOn?M#lg=K4g*=A9hI{MfoEhQy2 zWx&s#h}meR%8}f-t5~K7l#)>t(Sz)u(lRkB5f-dSS6KJfM~P7ma4B;oTkc(T`Fad| zva!@0S~Q6>R^Pv$Tmo-eMIDg6jEgH-BtOPazC?P%3G^e+y1GK`O@FirYR8(pgk16plCM1Ly0J$-{_id%ryIgVF1U^&drw?_iE z2mGIWZbC)-CVf2fJ+=5A$M_ZBU!*+|a#T8nt@q#BJwNepDcy(8cTnu&Xtsm0 z_h=gS>2|Siah|i>A#72v`=<5~>@%N#*kbsFbe?$dzk|U?{_9up%t7=EOx(-8$$CcA zMI;!If`{nZi`!v|7+c1Jv{U?2TllIb5^COY1bl)3?&fb`FR4h9_H&9+3FqMNe{n<1 zBudxLKf~OBvXpJJcpvMy#~TYbKL|Y|X?&P$5-?lW&Qd;B-o}yn{SwzwhLNQGto%eg zKoFpI>5s+9zOh872uBMNhJ109bnB)=mYh~XaUZZOIjD1`iz?Wts|l8F@eS^bk=At! z178{r5TjAV^-wN42)rQA`(r{J>D2AlW9ua+^#vj!qAkvr@XWu_FDh$6kRIqLZ z_MUZ@WZ_k9pYR)LE1=cos;02Hs|2uPi-5|=^ih{Tq$Aa}$Y^)I=TS+#HH>11Qf66b zxFRrAX9Rt#W@0?8zh;eYIk!)yy%XbbngL~bY!^{#eV>3QUm(xYm)YyM-UcaLP3 zJ(!uBghHsdE;|l|?6=G8bJ?BmQ#}e;t|6q-k%-b3lI%#Sa?aM#d-Gw`%d{aid2GfR zUA86GTems2^1}oyvuaA@zpPag57`h8=_(#y5)a`OO>?vl<~;by#EYdiyVM&=F|FKq4FOqurK3dauMzLNVeSr z1utdpqH|IF?2550{jfL}B&lgW@ipF`21nnDiumG(`08*h{bWpUUrZHEBmKnDzc4i3 ziKHUGY)0kZf|5}!%OtP}CDI9{G~(#m^Tfyf6(w4}Z)gQJD_ZGMH3M17!z8=s2KgCK z#f#}RDFYqLaVd);4BpoGsC}vz#+M~&d}J~NyJSeVD#SS!=_M#hVe(;x8 z#i~7|Q{UF7zeSG{6Q+r&XzI?b2uSan!AuoN^%7G8q%^^aiVjnH9&3O5T>hk@VAkV` zEy@ef(UdwXN~N;^Ex-5n>LGn*V!iZ%P(88mA=bF>C+icj!}zeD`+YS;{_W}av(y<1 zYTgo=)U&B@A3r~L?KAY#&w6&H+^SL+O}IGmTop>^onCts6ltXiL$s~=h~!njYY>n4 z7JW3ni?|wLSR#8T!OOCwBXe>ZRhg$V?@n(d)^`L5u={DJ#Wbo33ubk#fLh*8D$rAPj!V- z3qynhCn+TUZ`w=Inh>H-y|SEWk(LBYt3XXtXhOg4yo6kKegUVB$Og6mjX-$;>OFlf zD!Px)yePE!0s5jjyr&P&`CxxzHhY3Qey|AV%+twBWnaK?ie~h2_q!C=2f(3VX@_UH z^(gi&?Aq)53cvoKS3L`+0Qi(77J&zTfoFdy$mcuKNNcN=X~QI+TO$s-P&mlo#X8Ui33pln2T`Tk3Wg-Z=m=l06k`Nz>kwbI(Us2C0&Cl6I;Dyu z`AFkFR!OA1hc)z2&&U7lwmu0GgXaH-JWwy+tEUh!ByrI)IPfiBc%G<^8;f%C^z##Q z2|9V^=i+)`{R=9ejP&di~PAXQ{6(b`8St&iA z4|P7+Rt|HCwU#@a5VWe4N*jpts9mu0NdxfnDg&@{iveg=t2rC+a|!N`1@;dCZX%m) z|2K!0p}qP?bb>nVuKBIKM0PXvdP|a~DRrLkd)ef(V+64WGkCEF)kvEP-&~S)*5uah zgge^K$ZGE4qrF7;rEUdoJ2Jj~#kM$_!q_P?|aOU`16Ec1Y7+VR#X#zBFE>$iHTo~n^;wYwa@ zvR;IP7a@-i8!TVq2|wUKs2?)%7j>gw{OZ5)i*4g)H!NT30l9+#Ij{>p<7YW6U(x}; zv72qi_gHHW4bv|w#M;rjV@9vVSl0IdvtPbq#7wc12mpwd;!lfxu_L!`HJBG zU{#_Ll!Hy5>r+fAnWgeA`IeNTVVeUCTQ1Uwgt7@UsRp>Qjwa;k24onSN9*`Qf*Gk3 z4C-N}jN3HwO`utjy$xupA5c=9L-$HGL-%g;%eFGahv#qoC-u)C8!fuYvZDq=S`blr z(l-*Z_okXR$(r7pm&(v_EH~Ng1rds0oJ1&5pij$D{YpEbm_mR+SspY=QRGv1#eB4? zxLX#1%Wp06gP5`u$x{kJsd-5;_+bIX=zS;B<4q)l^B|4Q__Q82Crf_0M@vuz-$r_5 zsq?Wk^v&W@E+S9nt|@)0oR6AWnn}M;ul}W}0<7rD!hz~vsJ~jO_@)<7C}SZ2 z`#Q4Vf{qkaTGbTl{VXWi`LS`HOnsUqoLY!xY35Bdsp4k!@7b$rij=H6PC`_TlcF5M zte~X=g~<~MtNcW-CgG*Z8=XgUP^xnxyt#r9-aQ7Ly?&rjuxi6UY$Y$kuD(@E*O3|j z)dT|H;>ry+@==Xg5vRVoC#yNw$P+f{?Q{|60(TF|V_qo_J?U5kN>u#^Y^6?5ow`I& zCNz^_uw)#QBLJ~-V=nFjN{4WI`8Y&`n#pq0t0*!0(u_Utwc%rvJ$q>PxRR%%__g$~ z91=WNqh(1XMLDyNHu7=5#4Sn;8yeO?aU(NP!r7kkqyj!iX=rrNB-piq8Ju`JwA&DJ zIx~i%4p;M#gW3odX-34L5yZo9Q$mjxu7n)uND~X2uu8d=QU1X%n;7FxL)^aj8()pk zy}8TuJ^`Lp2ht)kz@*d?Xqr<$v|9s`B~V)evhR=Z(UMp`AwVDOAxHiN#7|u&$VJ$f*pb4&1ObCETDJ(DIgsU&cN(QfFBM zsz|1qX+aVoSo*+n2cR44;Xo>_aPsd#%&YWr+&$l;60-Hx+dn2+*0vp;&J`5`i~S^H z*YX#})V`di#2CIVldJZRIy|q+4eL>p!T}RHb4KS_7IdNOJ%(*A+d2&GlfVZEk-2U^ z>_|CY%Oiw)qwi*-}k%o4uC$`yDHl!i~n+%Mu0q z*qY|Q0Wd-vTsl`OVL^gc&=IH8e_y0iXO%mnhrA8R^ae&}N?n(oR||<3t_-;e9@4)m z#mC8fq(D+1yFhY5n`ap zmbkk;CK5sZS3OwM&@Jx!L}KHH#d9moSmY*puxCHK5`$i!7h!}Mm#>!}O=(jwMQM}2 z4p|vdAgZpHpiXI1?3!#lVvDA;BJ($bYpz;wq*VE$Pd8aNG%TVG7GeLA(x&iolJ-*G zg3P6CL84Q+Bd|kxE!r0i3ZxTZSvjk(EW!y>;g&E&B`ehpo4Bel$D?O+ z6R&yj1D#cwQ_zzUB7Q=Mi2NfR&{EDq>?RNs&i8_%8S>yX5VF9pM9lRBy}G`D%9QNU zJ$6=+yxV!K8-2b0`R6*s;j!)3E0%1(v=P>9TXe5l=Z)GfeTRJ2yJ~coS6$evTt4hP zHL{^fKFtd(l|><*>yOwR83jYou!Do^sLj)sdk0yf_+X+nO6J1%X`Ow)r5YmFuwK3F zu}V2;!0L8asw8yX%9I!@h4rvA6T9 zDP0&!Z%7l%^=5w8NP;$>bhJSv3?IOJb>l1|l=LY8gw!b++0dADaHI{Mq!spiMt;<= zOXV{171bl>>L$&8QEG}2Y!eh{XoP9+?ysX8rc2ED2SH<rw-vXu zwH`Tlh^>#6gCnirawplg1SKkiB zt^(o-#sY2F6{B^a7$u<}K-cR=%ukdyj|a<*@I`+1YFrRwSi_Lc65-)9Isd-XCd^hZ zo#(YO5o5smU<9%md01pX0=KdPm2vUx&^QJ^W-w%|UtL}a&1(E1MLx5*94DiPmeTXQ zV)SB{{>+8Lx56EeiA$fwNKZX>)sQtF3wy;@_v(-lsJIa>r>y$dt&wiTwwB7Yk`Qk75*9Q?< z9Xk;go~U-9Yo_Co7Vv2Q&z9vYiTG$H{SfE#ZZ z!0StkBf4)gjoM|?UKDLmwbRuTs=-Rw8PGWD@68?26`X8+*_e1fnQ1HoZs;{K14dl;PC9N^-wd~vK(xkm!iIvGP^ z&QXvL+WjfkMbYuB#7tpih{IpeIVrjw^6oHSPbeWEM^@epk&s@m#Vh0V-13d+D<^(I z?T!pkMf>1^%l!k=XJA&B%gUS=qtDHr*_}g9^j5ZJ)C3ogw+ki~^Yf$3q*CnG_LI!$ z@!TEZT%)Q5vf>pwZ2rvi?)Bp{HNOW|t~B7umE2tqY|HK>^#G))KuGP zNSjoKP?Y{xo~ePAI<~q9AFD+b-#J#=$v@5c!dFdWj z=vzz2H%I9pxn`uwGt|mn6$~Rvk)AWwN43+EsZQ?OBd}Y>Ji`h?v|?}?F*Q4_cE%2i zV|zJ6H=ZfG(9*-2A-_*b+%G-;<6E=|uPG`Z0k$jmDw zJ4Kyy63~UkH`c}!to5i`>e*Tv5w5Dom#h-l)DqZtK2H)4U1m#r>D*JrgR;p9L10jxlPWUiwia?EfOw*o=Ndr1LCn9%vUUq zNEZug*5h=GIr9EJdsy5P+g1mT8&Hd;5X$jm@+x+TT$U({mMALisG9<=l~> z`MItkTYK=Y+%@U5R+CpEyOzvR>!hG+)He_e)-DCBR~3RCl?K+?us!_&e4$8WN9&sm ze&B_&v#p(hJ+*&NYMsbBrmGcg^I(nEjeB`v*mohjHt}wp+zp^V9YOwOUOGDtZtV(Q z+!k09dd`JMXJ4(%-lhW<-Qbr?cUYms05!>9s}x|BL`~=V9~%n+4^JhSRsZ;k^*`Q| z0v0u#Q~NwY^wRK4<#r;A-(+$9c7AB@!#@WR*@trNz&sC73{@n~(i%N{)5CQtzQ&c6 zzZT2OwxCvu&s@Y>bSSUehz@02du8$Wk)MC|uo`g$?mL)E({3f&)Ge-=_)H?Y1$ioqc@9%cDBEQvB`-wbm~<*KX&S z*4J-AD_l+~^42?Cb>G~Bq(|5)`j|i=^Y&8?R+iEi>c8&uNzh~Pi@&7+ilKh|VEdo$ z^Zze#3x@yXf={XHIIRn#@@P@4iYoACw8SO-uz?zi$%JIHkUB@S7X)N*63ov!?}R6J zsj?=M5RDb@ri*<-)E<(U=!f*&7yj*x$n@mQL3Rnjx`@BJ+FV?9y3XkaxUa z4eF0X9*OK1CMk#Q1{Dh_mqf_oV(g~-cRos-O`(Q4y#7b_pe0O+B;bMFlHpx_H13`J z4)nBXpFDa)c76^Or@3xZ!VRDvp;~-h)lAl;Sx|7(1GG4N&Z|+>pg1}dox~LBSaFNi zd``>5UhlXT>60v7O}bq}k!w-XY`gn|R?GWHxWG|LzlhLK|2t9mx#6k&{=w%~ot@Ir zQmgwDq&U#D&9R}0J}bVK)IUFoNDFr3vMlenQ4FPvY78fAtD~L6lR^OQszmUUxlj`m zk_o5wu6i+=cyp0T0!5$;E*q5OCkE%JB5v5MTg!&e>1j0nnu0GmKvo*(vyM)Ek>uBI z@w#T^t)eXh%{=9j>_RwCdkqi@+lzy}7AxM21{grDkpJ)Ze0N#jZE&JR4 zggwnaOq+$9;%KijrX;6Gz%V!~*7W0CF=?yGK26sq*tE+H7VVc;4wh|C{syM0Yyob_ zUU>1q&H=HI7XJ8kES3s%d!+o#DVF8fN~+kyZRwYQ&qcneS#yC_U-{!43Rz3VF`y)a#*Om~ETX+w7!t#tkn}WO0#hBo>r0&Mh2oN6M{}ao3?iRcor2H_> z#2CUf*Z)H>T8UlgN#K&Xr|(zuWg!%MkvR{ox|TJ~lRwGL0n{oNVz zZPwDsb|F|?!<%+nf<55G)iwRU9LC%}&t1SH1xPw3sjjIh-RyB-iwNvo7%8(H59W41 zvo4#tWp*fK zn4tP`YZX(DVj6-NK~9S9HL~+}OKT+V`7HlaSp4j}``99UnK1}`Nf1%a1YX7RrD%+jPa?CU|R=vQd%ZLqqg$<}@0!ukMsYgP4V z(YRx)sqHq`X6a0~Pls8~`|bJl57YW@_t8dpQ~KkbpEZu!Opi1WtTj#>_Pq=<_4@Cv zcx~zj?xFiSAw6KlDh;Evi4)iKD-#AXj9FFWG|O7i6;ZsXi+}$RCC_5?#e^l@t_yIj zDlr6VEoq8Q_=g!u*w*ib!pZ%rpseVh??*72L2#+s6Snl*PUKV=>v7W>mWdb--{T&z zR}!w@KvgIZuEP$73!!tQkmZ3r_XlPuqy;T5)tEspjd!d{wj_v040|u@QaxGJs0Y8c zRLytI`HGM@^5#Zk-5MqxS}$Xbzv6=|vPNHr_9Ysj!M~`lESuS)*S}`5TgNm6Z+iU-e)@#l&@bXI^YR1kR=n?GnPE z%GpPT)XN}xp9e#T{nQYwl6GrECWLC$Lf9!lh10Hyesvy+s ze5J#;iIWW2F^4eoqm@1jgRBer!wTKQHHEvgQ!JwQ51AK{b^9ul{`eH_aO)C*qo8*G zc#{)~+johP!nLzM=w-iaWhY(cfF^2_-n0&=3zbqXE+3%G7ynUm;tfzX-`Qn~m|VAx z`Fp~b{rF@K7EQA!`Dz_))V zHgpEo7KR3f26VOtMs`kgMs~JN7EaD4wniRw|Jxk&|F!}7?;1c#Hvb`Cl>>Gm0FtjR ze}flp@vlu!n%Po%u;RC5hI~Qz_G8Vw(^$RNRivli6vF2Zza)pNj^f}glFW3oBM(<^?m&l?9`twcd zrB%oiD_?r1iqEiC@FO0vGF1nvn8y>T(N_WG#pC zSYSX+A`P#7Ig|&8SO9j-YB7C=rC!42!c=5M4fEWAm($*Qo3;DXrXJN}Ke`gJ_|Q36 z02cT^*ie+}5?8v-@3f#4)t)@R+Qa5`Vj!)SN{TSV~+4?wrobtLQZn`JUg}wBm zoZSPqc{G>VLUm1rnB^p~0x=G8kkg|?sN0akTe7aEC8dTE1BjwW(YjnAGKQO+`FIDu zHT=rF5=YFd#cu^y^?UXGm;QV};z+@!>|p;`1s6`%fp;g_F|Dio-GhGP*}Dw7^>=E# z<$HdXEl-A}CI8*koTgW%O{7Jj*^O!#pJ9bq?3s0=e9vtce+YA^{B#T`o91+wnnu~gS+$4Z%enAV`deDz$RLy2WY(#78ztZ*2 z?``eWBa0KdM^}oGOuj(7TdNO2yzIH_Pd;DADj%<+GzUf&hZ3cRPh8*9~+ij*2s*t$RrK}@*K{m+$xZWFG}{9DGG-x*iPv5 zO}ru*EL09Z71(#X*yrs{jpSICG!fD0oON9Eu&R{22iU3jXpw{iRgNoQl0)y}odZW{ zu3d+#dyOaTn_E5UvsAvObMj}!(lLdr(SlsiV7^lYp97{X(6{W8C5WXZRr31WW_1#n zAYrScADAbRM=YgC9O#olZz0wlkvLpQcYi&5ucibkF ze5L0GKmOd`r=yG+;d4II$LfkX?Gm5&yY+kru4{~b*-MQ{`{g=;QTtj=5w@|rEb#Ys zBR8gFcSD}h;#sB=CbB-CQTn+g;O6N zerPFpxy7NIJTJ$~V?5)x9wWN3gF`1w+rv+?N9CGxm8|U%7f+j*zIQl4Xa+j)svuq} zCBFG6C*VUo5G1Sk`ZvmfpMJvd^w_Vg0kDQiAj(w1kabosbwsjnfA6%Q!6#-Qf-nCq zYwi)uNL>sAFcXWw=$YUN0E<=ujt68uP6~7Be*<$xV@60dP_Ky!E40vU)ItF8MCJ3Ulf8zpCKW-wW-aS~;>VDA4S>Sd8jQYJMfS-pogp5|iu$5w(C$Z* z=7adJ)#0Z?P-)(Gj-dU;Lb*@V{pW#dS$g2E=Ul(>2dZ&FfSMBn!RC$h6`a=-g4eO`a8i^T^YkK#62sed;rsPO_$sq}K$sc0cOitU#zC>X3UW z1LH9_)8~4I@|0_|HzLXUQ1T6R-9#(gWBc4w9Tr^8v8qsL00`VmoU(DPQLdaonJtO0 zu%E~(!6>jL7H)TY@+{LTN(5H5xPg6+hgpj8skBHrPu~venz?Bcax=RWvb0C1XLrD;)Cn{b^62%JW~VS^c2SBQYNUB@pmNp z^sLTqq1d_Q(da~xziA~=0Xo+{dN`~Ic^h(kOBShFaWOz4lL+fzjax`g7C64t?-g~@ zkE0QLj9iVz@Ja3jiwQf6U4)TIU`YRK;71S#q$2LiFgL0qZg4&7h(Q2z;_ORA6SzKf z36zublJqz^QlN_ykPpVm!W$o*Togr)NhI| zSpf2%Wq~(F*mqgLz%VCl^hXsA2{4Gv`)qT~$&-THncB_s@R>pI4)RI9zu_VU(=El? zI5T;FalzE;_x14!`lEJ-@UI!j1z25d9d6>Ap-j%7Ca%qWm=~c4;WKsEEEP`Q$U0sF zT=W>mAf6JDBgMhtL8$NrY_ooE;_y#LpFj2 zj_R_31vhhynF+d;PAhez!9~5&=7TB8t)JL+!GO&;*ol|(>p*hh;li6RQ0ITc0zG@2 zX_NS?AdNw?i`8B&QlT1pNw%KRo8uv2f2KIW(IG>hKk5Zc7g%UMK&A@BTEPcCt2qRE z3jI(BC;BVDn%@JC`IZC(G*=pXCY{xORbY+ZIM@h^c4`Kxf3kaO-9NKNF7kGqU;nUF zsRq|nZu@R^Q4P1>*lPiD(Zd@7chRoNc)|RgoOJ+U3lRSYERr+uDzAj+9pPWs2?=g9 zB@f28Z}gJ?AM51*#*zP(BltB&PN^U3vt!(P!}ykfT&xBWQCk7XXAs^oiTx6+Ve;wMK zj^i&5>Y04iqKFzFJlg?37<+RS!Yk+1q5d}r)U`7ogX(Y;0c*Ox>M9>33?+S>!?fY} zMuz(GG+f7R^(V9l&v@V3<}C|c?m_><9oMl3kBQd5`*enNm4`bbKs!1epG14xWS_*= zE9f>RjD#&^x;E^}?WKC$)(GFz<^#AeXX5YceOsHh0?9vL$spL7$)nc>x@p(4Q=0~) z*FMVATvB0d2G6yuxM6He$TZcgxxZp~o4M_;W!gf0TREEoecd^iy1Qkp-!ySOQhi@J znlgR0ae2C|JObrAMyuE9lKvvtR|Wb8a$Ex7AM6?Ow)il>s-(N$p?~trC5U=>u4^C) z+&{f**s5o;qs|CIdwmUIeP5_LxO{kG2Ro^Q+Yr}n+Q5g0uYf&5yAjfuIy|?S^&!;l z>YPvv{9B4BN(=KO1gQMAc5ohQ3Lo`}2(4OXrLnkHy{6b%P?2k=-8=JAuhbjc?+>}m z+s$v7<=eMld6#iqescTbUXsGaZmzxEKeur5^3ar`H5#C|nFptk?$ffeumaduhm5ec zS&{;cU33J0DRl$&&fqIIC-}1KauMT{B)|vMC)iFMUS^X)YpkZ81_G9#h$at!s`wK4vT(Y}21%R4m$mW!6HDtQly@f42wTs!8 zmSA<6(8|F}I58h=L2b!x?AQy#!GJ>=!Xd_YjXzy32@B^?u5TR-aKz-M9AA^CPEQgS zD>P?Uw#_Wf%B{3iA{oT$B){_gWo+U%SJ5Dqou(OH1?M6wx~azTAN(OoW#C_WRy3>} zgki3;jMx_|thNO*^dwrAaY$f@nqw7E7Y(PFTo_sh#NIV>wgmKbt(Uu?$0vykoY+mX zqZ-95Qkj)y0{UlHhUyZ)TO_t!Ej+x+8D}<&!8O~{J+X02vqHxM0G3~ctY3KbjMqm%BwL}_>W5EnnS zhJTsJJ7MA3@S+{lwvuQiwD9YnEi3SF7KS8F1123APV;I2)BnW&s_LgNfP$N|+n=QY zjO){4-(rfypVrB#PO&4xgQ0o&9k|hiGcZFb{3c^zMJMkf%FHxYcNi1WA=q`lMlx2xdbQ`q9fFsfmlkk#4RX3sGaJ#Nf^_12NFsbqq zol^6d*4>>lW=Pg`4=15+8!9@E7wm7Q#St0&HV;4duS+EXm|&Oe2O>(i=hK}rHn!6s zUI+HW-pe7;`T;5@@tGWO6!~yXRw$K>P%O-pWIbe|b8^w4USE>d^a1PN1Ea*uMbac@E%J_ zcNbry*W!d3S)?B?E3o2qJx*78hdIQoSFFK_+^owo{E|dG_d~M`ATt~1LxJl8$zl5Y z%4T0Y-s3jQC#UWy(HDDF`>T(=iM8U$!s)%JX3hA2q9nwAlH-;XJ#rAy%(@Pu^$KHB zO#WTmuFoW9K|}W(hJrBk_Ss|jC9+!idsaZuAd{M9W;agfnt{_8Vd&t{WP!`ZD{$5; zo8ukQgwhR@q?01nJ24&VS}&3GIwG9fJ0T7PK%b8zIn3x733f=v-X>7Wf|{gX69yUD!#ybsy9rpoE}!&a%k0_W-6_L zZV}sRXbjskTzG5mRi!2n>%AozFu7~jCd_QNK1ro(@V9E8U-H+5Peg)dzjJSxx;PYw z!lZaCu`2kB2mg?W}i371|&F%c3U>pmg`3@)M*EQ52@NL0)Ag zCxLZ5taQ;6&Qm3{O^*fD2l}5t22!%i~#&Q+s@@YJ1!e)1V9@oWH2=L{WjKQj4oARE^Gz$d?5{iGP5Sj$kE4>fw=yS#%9*6vqEyY z5Dxu^`MFU3>l9Nk{7rNgx+?k~?lpihmCiK=!YD`E;7`^P^!1pzimomK-Grmz<^%&< z@k&-V6#7eF@;v+7A@lkV?<+l;_P&*7Cb~3)_nZadjjf^KkdFMI!91D~nWkb{Crmky zY&SAdh8<@3966e4`u$T*KL$r=fk^HLUjC1Ex->)R>hB(U~Lr@ACZ`$(WNp#-|3W&uN z2}pG1Fw|4rQ^K#Msyw6}0>X-f-f)Tbea-Ir3+3PwwEXV2xyXiXlP?+i#Kp=D^RG`7 zQr=!50U9-r7@;6$yr7Zf=v5B0z~!o<1v^80IvNd3>J3sFXmhcb9X)S(8tZSe5B~1E zX;sFjI>V=3s5XehmE|2w_CrXzIpj8;`fsT{Rq*bLwK(0gLiX^gxZZ3LS(5fI^?H#W zpIS-X;Nfk=cP2pMR6E~T`0ZGtCPhac3D2)7+4E5lsUU=q&vMY3der?8&xhf*=y6@D z+m^)dtZE||Y^e0!x4)kc6+gh4J_Qv&7LPB9zWP79`Xiljd-Sn4iK#c0S#Q)vA7AuX z>G36YQ^L$*@ZJ5L%l9?$YXv^@Q2O-s@EfbDkRHt~HfWo|H0PIKr;AyDnKIuby{7B)y8N;$a$q@4? z8Q@0%Z3IQJNn}tf+nTnWmTjUB^R9?DD~|#n*5A1`=O~$-rpz3tpjx*;sOYy=v4fRF zbSt)tfSAz8fPxfL4wBzcn*~E7D8f+ktKa=w`zLJ-oJNDMdaG0=GejuKm=`@eix_pp zYianA%%&P%2~g|t{q#@9lX|L!7$$hZb_25v@#FYX7($fuD$I8n2j_;HMad6)q8Lg% z1&tc?x&2?av-a#j34@~7zhCsU^*{+RFfN$kc_C3$C50JA7vIVg3v`&q$Sumzaz~Px zO*9wW*ip1%rNu`IEL%g9vHr&Q84gEd9wIV6W8;z&UHV2Xo=gq3EJR$L!Zr2H+SG4& zibSJ~V6Ix}1#+AcC!XSpf`=?gI+_NT0qJKUR-VfY)DtBt#g&lcFA!Nt=Pwm=1@m%W zMbz?nU@kUQ0ZRF?j|owuv*0g(4PDvTeI6yv$?=NMxV0ErCjUVz^^Q7% z`ZS)1`b3NN3GYSExk)_UvEt*<>zIDaMpv8{a~vtd-ZThItO@i+>uZex%93v|XTh5E zRCA0beV_Z=-KlXyU!Xo*W<|Du0&bD2m;RkiUt6%uY~>SVBR-5>(t65(5UtV`R(TQI|VUaMlQ!czsvm$S(((tpAtazD8YFk;ol0(dx z({($$Omcy5{Qm9iogs1LP#M1aEh(|xPfNW^!**MNqK7Lf=sxcljR8ir=eh|xVcT5I z7j7ybe9C)#s~`PpTVg8E3UMG-+A|W97}@(*Pi9yLcL?+`{+l{1Ll4B=Bfzn{t6kXl zQ?+U__}mA((Tba6t+mD+Ha*N)DxHQWcVKG7v~dpFMD(6%h4$`iQDJ;ds4kcb)A5WL zi)+~)JL0N`-2OIYRtIV$ zkyUX08+A1V_7nv9uIN!8-;BdA%WjY+G+$fx06mO=Z9rHT2oK87ZrUp_YyUz!M4i6c zE#V9kg-7TBCG?QR(8uLv0Ua_9T4zY+#x=&f54_*5T4BuEQ7fZ%> zl-0G)Uj@0aHz*ajJye|g^p#~x-41~dEp1j&y<#nBt)`))76kcadFQ}=MBtq(D_AK- z`$(LQ^zpn<6{H zoGpd6={iJh>!kPny4q`WEkW`JSqfQQ=Nm$?Y^OpsZ`s?vUolUafKMm;`(-h7SLA2< zx8?X>#g_;@B*V)tj~i@?&o*OhZp6D8kY07xS|_W#Pq8}#8wrvx2VLG-BAu- z;fzF+Nf1`zr?)`#;Yj`9oLEXmc_jkYKkAK_v1^PXm84Q2Yod}J{$u-WL%plr;i~}X z4G?7@`Pg8qDQz>3$~Ldz>SK((OBdN1l)xK$n(t;n=@nlS)FnC2pKs2)E_(D{i**fW zv62(H-|tNZ)a8+=U!=vQUJoJdwY3Qlo^v1g-TOf}{J+MF_t63?m%#;ut%d01_I@*@ zY4_0Pf7l(H2IQ`rdnTZ52%s!ZBS#v*@7(|m`%{jJ6NK?Y$*C?Zcec|cf-;OH?v8;u zp!8VNxE48un#i7X0=X3cVTV}6^D2@TeIHS6%AgYDXD|tt#OTLfEW4_n+J4oph{_q` z$B^fOZ(`BhFa>xa0=Fbbk`k(Dj*q^Jp!d=mx*J4k?9zG4!6VfiGhva>!{RO)U7bRC zf28v^C8SgMW1}x>_&pQFJHqvCFY6jdmO3P97PG2Wu||xP?`60G92$j2x1k zdFPkzm1u+(;78Z}V=2eFb8VqvTdmI|+1HG6BPuBE%etdANELtk zT8YeLhpD*3M*0)tUuR3T1jUMbO_xjTQ)uzUAey%0-;Y%?lFf|%YF0_ARK&`dv$f`P zB4{iu&~mR?wjW;DP`1Pq%HW}flCq+;3;&QJ0n4v z>L3#sZ$w$!L-d81csIUc#mQb?SS9|XCorNMF1fPcVk^z;Eh!`cq)oT+F#S76Pz4Zdkus|x^P6|>Wr zN)hO>1O-46X>duv100irnNe65HZC9CGd*wPJA_qQRbDqT=jP{~FG>9L)Jgj~(%#cO zAKueE55_M4yuVTZMR}Tze8*H^I2&{oesB643a#%IwiSa9hk3utRKXBJjcFm!gYc`O zW{IQn_mdr5Y*+q#!XABpowE(+g&rUT*R!%rk6^E4U>y$|^!*wHpO%I?8mv43^;8pS6lDoE6+Z zCP#l~vRgEP4(e07%gjm>7n3`U&nPyO=2P(W-si=SSR~@D){5nwo?yAoGmq(b7nEHz z83JrS1p1?0>}N=aFO-R55=?-uR%&k7 zG0p!P!`*$c9j^&^nqi(d1fl%%}j67Jn zVYXaqt+^E|!lig}wyD$^y9%PFOazH`J3~~ zxC2Puxfa~K&<9FtRcMCE8%Rri11yS-Od9$N)tB)nmscgFL}4J{KV|KybObv2H>r-- zWQWU4mJ-;i`od|Lz zJx7Wj1v?HN**j7m{Q(^+S8x_yqmrA~E01jtzWl2SPNJa`;Laan`10J9PL1Fiq31k% zOAergRJ82_D6{PcigdOu&L*<;feiz6h#cyzl|~p+RSTkpDn;ue$3IRW2ND`w#vG1< z?r(T68u!|5Cm3dDvfZnF=8B9YOuFW@6EDkaySdC=vMj@G4#Mu}MtIg)4Ucr~Ak&Ih zIhLJA8^ly4uakSMv#SE}xD!c_RI&uu1lDK4AHY>VNc@i*D)$PSLU-7GOC^43HsPuf zWyX_clI9`Xuu$W*JCYV()R^Ivi(bT@JI)Q#}!`xx5n0b+QrK zerLQPJ2@h1IS9go;EnMV9qh}3pfcWS`m-bj-zSox9o&>h5;wevUK-6R%oe&Zm<^rS4QdkYlS0E5 z8OPL!+HFc=ZJk3(!!vJQb~sSN;V(-d<-%E;ixLx=5-_l{0Bo??~mP8C)K-`1CpqDheI!JZ7O(Q`h2EVcbq6jl|=i9%Y&D!-L56oW;bq0w4$=p2$BYU$i zNuHY#y(GZE!okK`@xNc#|MQqmSJG6RTLc%s#@+rQ?ecYkGxhD|{T$-2dRtfy z+ANiE3L}mP%0Uj$Z&046yG;vyucnA-KCF;xhAM;6uOWd=6|03k;t8TceT{Fbrib<1 zS0tbTZSVoCv7fFn)!bigOx#P(j?Xe+oXB`n1iGBx&30? zr8hGPymTbMPRQj3yKxM6(r)~qW!H>rIw^y}@?Gr~cBE!(GN57N{xQSAWD<{#^2@|N z0s`w9+`exZfA#xfXbRll|DkycR@!|OmR9|?>mcVyp@-kxJ)4h@7SPa0Y2#N`a*Gz~ zzM(JlL!_}NsiH*>Sy}VVZo3V{6T?@rFFC<#0-DMx7Q?42SxT8rl)@~tjMpXH1wG$P zfqxfS&?f@(gg^?g}8*?GbFzNHs#&@MU zW89L_QRfU(Xy>wMo}fMWMQ22|oluzXa!ErzDWQ-SAI3mT1GeP2`~YSriIAqVlpWSU zl?0+6>>03axHoQ!Ho@geS`$cEHBBs$goI5>XiV&IM z<9RPsF^zql?t7HYsshbV|6*#=6yX&TGi*j-2r_+X>b72_C_ z-~!RGO)KaQHu{im8Cp#$YbT>ppF{4tAshO>Z?d>3i3n{rPyay@?eRJ*!@&<8MM*OF z7Oj1l&p)`fxkt%-&qJBG*C>GDUN3BddR}4@*j$fdDE-2m0EW_C7JqRx?9Z8BN>(06 z{yr6%^73zD#=0%7P{l8-bPV(Vw;#p70FxQu|J{!&7XN@v>+DdleFO;pA<8(LgouMw z4HV)qL6W0Fa5>Wp&P-SUhU9E!6r@+Lx8M&SuY8O8Ddh$8&PSU&p-*Ae^A2W01mrm9 zYK}*{iDi>a_sQnuUmwr+?B9H!=t2ydDhW_TARjgDzz}j!5%Ql1LJ+RSyTzdSB683) zP-%xGv!$YAd*rUvy7gfaa*qBM>v4vBN4}CkT_2LlmXeR^G4&>$Z}5pn_sHpz-+~r4 z9yBHcZz)KuFHA{UEE8cp=Pan_pqXL=XjT-eZ}=q8V}qtwY$s`Kcvy2RvaZ*rvwC-! ztp}ma$cU|O%btADTMO-839vQFfJl>8v>6P5izD)+=w5~aC>{lJ*pn>MO4{* zVcQD{;GHz&It`O3VSBERKmUHTY{t`*lzZ3IL|r=Y6J*h$-fa+=R+vilovi@(x(J!0 zE;Y6*za6m{Zcj0ISd$U&Q)R;87}J{Z68xe*U!9D2D34pN>PrqlmU%o7VzPqnBwbLi zkhgoREm^CCiBXW3OmkaTcr0sNhxVDZ{1aNK^Lj}O9ww_m|77@Xm7D36M#u0nuKWZmAzQRm@&Sf@3ao_~49KBI4n-~7owKvZA%9_1&|M8FS}*mXF~PIxS7}FAm%iIUu66nIDS)6}hs>w&JIOj5#>q-eTkUqKZu(b`5e_%ZxB49WDIO^d7NgqOA~ z=whsg!dqKRaJ;C%b175|cc&7=hf6XZ3-nw!aqtmYy}%$$5~AM6{bgj6jnY^wU3+$D z<`Ajkg5~7Bn0D>()9|cTIT=2l8L#JcOcHUQr+`tYA-yh*)VireFK?c9!tkOUvR&_Q zQ09v?cq7`{b*&9GX-2^|4-{B?{0;?SkG7Z#`fP3q8+78TX?J7GBmKYPC%uOHC(AEU zqRJPBqWX`ut&okiv6;y~p;EYlv~17Uh+<{SXT)d3&iev2x`&-^$nBhKzwRZ!*hH&j zHYrJV>qe57S)QlwZ}J2A{Q>;o2;+P06K#)N>6Mp}vfr8lnDHWso~(~}S0250n5*(EFHM%mv& zF7jF1w9g6QVb?`s5CnJN{^;LC#6&;_;ULIw-_X89g8xH4!obE-+Q<-q5C}9sxx{OCk(1%r=BN!w;9YWlPFtN5!x$K3m_`fFY$}Qcskh@8VW) z>^Xhcahb%1X}J=&VU^Nw?3w@Qxj9(L=V?-(KQnbCCWIZQ%X)&*T>T zt{-pQejEWxuz`qO;@|ZdaH=82a2P`z{fL~2?QMzVuJ#~BWQ65>QF`11LQF&v`y7Nn zCJ-}1525Zo)OE6U{0Zx}M3Clothd{Qf9hfj;9a1f?ANprfuc2h11f{v1Faw{dnMF$ z@OyZHLd4enI7Y6qke!@9KhmNaZ4|E`5LLGEs5Xjsw4t$I?j1Llb}_NQS28RYs#<5= z=uGxd=N_>myxK30ps|^ME|*49nx1f$;LoDC4*n(|I?74N<4l`RZ?mG{Q220m*k&v@ z2}F??WUKAf=B1>Loti!P%a=u7<2Euvs-VJVa)3*m%9U|cOFJm3er$F-ZI)v}Ej@3= zR$EZ3EFev@QAx051&0kfJcjLln+(#sQHYQ?9DJun$-7>;TEOEzmc^_;Q#%1pl(pR7 z8!)Sh?RTK&p@IpoeDju8No70RB~QHXIDTO1gojW->lx+MPcm zz}vZx^o<%N3GU4H>@#0es}!(>W*Ii#Jh%%Qn|et2-wz zw@?&nB2@Le?w&#eCx45L&VZ)_Rcv)l#U>}{2-X8*FCCDTO7xUAvXFr9^1N)ogN@Vo zBBm|_3v(`)bnJ)~+B(&wkFEh7jiM|s$fOOk{OHHPjDcj2=puEHioZfaA1l`I)>hW4 z9UCvGUZUH>s1(}^Cir=NamyqdZ1uXqaxWBs`?woo zXfG7NLjml}+a7%i3D5=xtyP*Ibqno$E<%1V!RZdNL*AzXJfyZfH2YmxJTMAbJrD|& zJ#>3}pS%O`p%2As-Y`>(4#)v{EN`g43=TC3CU!h4whuYV_0D@9Zo{bDDMGu*9n^}e zd1H9*t*y!Or4l!T4V~ig!l@MpciA0P7WR#Lz$+XfJ{%|AehB8X*|Ji>8u`b#>Ek zY4@s^h4k>5p=W$z%`Gid7{KiH$nQKjCktgwoRn+ie}$vZfT;^HOTeuk5teAh0z3~C z2fcz8&|kHTAbqNIk5~K4SYw2MreoKf;klU$cT4IPN_sQ?u)=66gn3-`$}V0Vvns^N zjX5Wkaf&>0o@wHh9THW2L$q;x**Y?2JDeaY_cD_$Zs&VE@}a-d|6^40H~G9JEO54lvwt5L0$ss%5z-+9Gk$RdI@8u~QnQsLg|QZPM3cQ({pIHQmNp3#M2iL9 z2kg0EJF#q$0pIILCw`KU;+P5Kyo>2jyClJfR$F8^zd?}2o0Bq7edKLVKBWc_GwIxo z-d(v^F4)$NL3l2eW~(Ly?tA^@50Taz2uS8N4#y7u>CzA*hj2_e7*jg={_`P2=`FV6 zUTvYs!-z)>dR0*_$;tV2S%4@Eo#dU5pu{q+vMJPEoq_XlB>2=`m(Peb878y{H^M?vCo&e&5o`wF2b)TuS+ACjw_VDKd- zat_$tiWN^kDsBQX2qe3en*!ogmi`XzXe@S#TITps;9SKyHLM42k(i_X&XMUxRf;M> zh%*0{7)2A_GwZ_4i2&5nyau*C%)W4i-7;&-ow2iXa%0$(9KOjc3%aXhDnF}?8p1d+lepTp` zfD32}$RY{U1rdbs(t&1M6C7aMyO$8FX`pr2NP-0hZ80F>s#EybinoLY>cKb-w+1+v zat_6HSd!JBtepo+GG%ouLnpRK%qc2wzA2w)Dk}50WEP&t(9>CKGteZy1{m24rud=& z=e#L-T1fn1(1|ZTq#>Da6Pa&O#@>@ToX~gY)T=HOB*>ip&LEu;s|2HP*M3drJJfQ} zd<9Fm{S1N9>XziOE$JDKKqgPMgMn``PQe=NwQgIw=8YFio~bbqS|zF2gJchm4{2ic zE|t{uUj3Gn54S~A@w3vFWunJai2Ktifz=xhi0t^+*)<&K?9QW_&`{qRu*%z8N>-I3 zGk#Ol-j|y%5}7bVoPKG+a5RDw_g$q$nqHJdBn zA&KTu1GD#>E`E@4ZChdR8kJ{0HzT0XeXjP((q>Q_SS{9GCf+`i8?ieN3>Rw$w|W0J zH2TZ^;0o}CM&ZBE=zliP3)xs%0jv#WZH?>!j%Hup+W+G4{s~MyspCO&2+ZG~Kz<<9 zFixZN!30Ank|N!AXtOotSxU5$-c<5n|I;)JjV-iAU|l=QZsWX}D)Vyv`~bg&D@J;z zx7eQn6WOgiDOsSxSa`@;TF?pM`bI%a(EHzSe52GAigx_`T3Sj4T7iAdaW|&w$)^5K``?9Q& z#4C{c$()wHak>Vu?nTjxM*2F9+{S4Wmwua|UV>?Nu%$c*29J=>IvPKr$YE)})cbB! zVuMU4J83kAo(;Xtssv>vD}N62uN8y>U2?YB*FU=i{hy#w1tU8rBL~N?CYiw(<74w* zv}^v?F9T&n^dyFX^dbb!fk3g@>b}p?VIUhg3NAv*J+wBfGPbJLWO<{JCHwggKa)Xg zlk8^VaUK;j1D;!4f@^|1BFsfO44I)rKSkia`=~bp!ku@(&dOa^~e0x5T+I6 zz36MedM$%-35Jdq&imHj;?3bun< zuk_mjlQAOxgsSI8G$cvUvj&*;2Nm4&g?g1d7C%A$ zQcsX#{}5r<;sOQv>h@)=o*rZNb&NWt!NlobTlCe;=mkat*Qv}AzlQC2T-a$4(JiA9 zn&}TW95N2m+$Wabo+oEFziIXKl5p8-cXLayY>9#vGSCGEv!owrUh(lo_15_;lOQKa z`4ZBr;*V?-gZq;xG|>gF+Ii3%y1Lqnb(2G*W1_C3#bfChnWpP(Tksq4L6u=w)=YzL9xdv|pDr}ZpsYtyKk8mtq<3Rp{Hb^~g- zm?5yemUF4^__a`j)Lbd$7{RYl5@-)2@y)BI-oHi zus_&mv|iaw{a1I5{jU6Jgevhsi}~Oifig*^!w+NN{%~qA&FN^LaR+i%@G#2RO;Fd zk}?*|d^WxMr9Sj43}riX7nB5XL@a1RYD#kYP4-Ic%8)eC=QSZlM^q|V%xM*oyG?~S zq<~U2e*wGU;-ap&IbA@LN1r{p>ZyhQ49{+3*6)tUmJ09_(Dvk@mQ{L5g~(1>r=e11 z-xE7hhdnyfcwugv=Dp;UQblap1@t&_@&`u}^K>xjXQCS^c8XDHdkdnTV4-kP;1I); z2iw++Q?Za#~1Iry(5K|+f=YaRl(?Zxi&M-YN5PW@a`7RsJ4@0u^b0W8=syIip(Ob zxlr;Z_)(v#Kh7`bthh#l)pHDGElSca5YmXR)ISaXeW=&z^&wNnwwGcGBVea?!uBKi z4Zz|4#0#rv?l`4e@FUO2A?J?-{ZlK(b?upAT|{gc_P6juQx^zEE^rwW_U;-@Q#I32 zo1AM#{pF8AQ@1_pPDz6lI-e97Sln|pqFp1$*gR&rK?@FqCu%66@gMC?{3ggGhnL<3 zXO%(k$SIZ&{?r{- zwbuA+GMXf6MVw0vKRY6m;L7~_+@~*55=%oduZr0XqK4RG9D|5(t}qKxj_u76%-dBj zDz@?j!<2%qxi&baDieI)6;9tZ3ZDs=pHmP!o@G1fw#RwBKy3VZI`UD9mz4uwAoL?i z?x3L7kAz%igg`cP)JS)WijF}rl(XRdA1lx*|M1sVdd zlidwPW==N*^#L%&{?c{Gl?8Bh`Kx9}g_}QSQaRM|pPVxLoB6p7r}1iz1|Z9^A+7E( zr^ZZ#a&H?w#~IVIpJC5YlCpyw<(nt60*w)L0pSO!^>wa^7r%FSf6uElGTi?gcu}R6 z^#lL91i60vPkftSRN8-Mf&BNu`d`e9(x~-U3$lH-z)k_0*2+6UEW0hvvWma#gaR2l zPFg;f%m^7;OCQ1%-T zJ`#7yX{+Nq0_2<@Y65?&Q~NYeV^ z1F)0wZ3cGh83K--Oa*I8UFv~w`4z+^YrM3n$vNrrAO=xXJ7fQt=Fy4HPNx9R%2bpE zd9p;6rD*rQ<2;;7D!{fra-IEHzu4^Ljot#>W(--CWi3FhH6X=-W0OL_R$?<}owV{iAMy)F}+fpiPCjwSy6 znr2Kg4-4XA|Do?n*lv29Z;=XPVN znFEkon!cC%!+u`q^x_t>$rZ+Q=~FX%T*5v+7^4Jxp;gkL>OB6&3jBbA_Et@%iYSJK zN2xIDFk8MyP%6RN#6W83oKLMGPq`u)72Gm2!Y~q>%dz(cTXRqm*E7J*iwfcb0fl*@ z$zfx+C>pBrD~d1$!R>=HMF(PCld6Gq-7;wjyi%=L04uWhsmd_M;QCT+%ln$(*`Wu} zcdVM!w={!ndeh%LEtkDppItBi%@NFeZ|-9J1&P(Zn%w_6HQ>LO(|=#jBq{()CnE_* zBddQduzY1J8`Q6h`r^X5u=O`>9JyC}S-=)VE|@qZNgYYbkjtOA?PliLeB} zF-DGhll&t`hX7@M+E0D9nb;S8+kDJxO@t^$ZT=Fy=`3qXSg(xg1;CN0S<$o_+l8Jw z{_TJ{YEaL5i<<&R4=fsP7_J+ieW;bUsdhSBp8EQ_LvCx#rg91eZ|5*Z=L587@gHtF z!}&HuvZdJfju#O{3~l~clDEkudXwPZAqAdTgH-5AYhHKV;d;LnTk5mxuQ>Z3$h>3m zgf~2VdSd46EzCO1wG=A~$~lg~Gcu4dF<)%eAddJBj>D+zICpz?4A4p6HxEYO-7(?jKpgxK#+ zB}cJ9@ho4FGwRFke*1L%DZ1f$^SvmCKRlO>+(|zfs%TeXL zhU%=$bJf!~sul6TmptM_$_YHBMsRD6(R!4m+HeJm+DjW}kxPOw^c>y8dl)-RJUxE4 zR+$(4T`R$gHQbLPp%(KyRcFT0f>s+_2MZ{jBrN$u{v{5}lFwc84PEXsFPm-I7vrFCx8;Hb53V|VsLDrT(! zqSts>?1^5`!)lwNS)N1vMOl#LnELlzd&EzN9=v&{w(dVRC9AIZy!T;vuGcIeGm+n| z2*l)w-s4v`lkQy3`aD=PeINR82!XjsT9mq^I}*;NUmu1DiC#ocLL8WLMA0f z`ah8Qk0n}f`h}l?vjVL(Nt_;WQ@b=#lnNP}owyIkyIvI#dVC=!K_-_{|5_w%4q4)qZpxH&pDv@yTDM#-;{qAQOO!H~;)5}(i ztI}dyGY(i*@nuyT00gW~U{=gFtYjQx;xmaHRG+xl_VbK7*(3L?w)&5RBDbST?azSx zDUN@5bUr~=YF7XjU#cLG`03y!JRFOw7om*=l4|#ioO=M=m zjFf;P7w8t2fO9SqQ=a$^CP2NNCHBu?oz9k8tJM0{=2Jd^&HUN|w)T_V3kIbo6dfc% z+707{LC;`buVj_WCO!wfPUOy)&M`YgUXo5}8HzbtR;(P1BB| z(lsL^*?W(yl941kt29t5{zti8zA5+j|9U*v^SI~zyz9K@eBbk)a~L@M6>a74c6ZDB zlMsng)7lu{q)@u4BWIPl*P3&LO)=n9>0@}w73>Pu87u9akTUw-Sv9%`-lyiRG-Lxj zR?h3exM&K7&uEGl1 zsL^V}%_C~oPqYbM%Xl(q*kHaw8h)DG+aWyeavE-&^NH8_2ZZ(wB6&<|iaySPDbM|S zW4`dXl#uwZWNS~?YJB}FE@9mo5vY@_Qw`Ru?Fuw&J3deN{EDxj1=l%bwh2Q;-oYy0 zy;s%rPBNU#A#@==aCfTJ>6W7g_x_eFeIbzvM-g_1hvxCFOD#R+Z$D-To}8I73^Ddf z^C0NxRIG7X(|%=iE}P>$>8n|feMcq|8q^jHN*f5ro;@+2mU_;$3e%Yr?2|nZ_)x1E z%uB~*nMNj07h@y3)Zx*uXs4KZJYRLy9as>>Pzotd0(Z*8%km!aHBgviXQ@t8tV$8)H(R9c z(7e>3Y6$A(pT3c{3#VN>uR*{n&zv7ddnJ%zF!T9hPXC?<84>J@A83(=b{|Epcr`I2K9fAqb%T0feX+MHc$on5=VtJ*3Z z2nt>wXL%?>{pw|-QBJ6VW3Q+86hZixJWra-#&PtgviR)$OFVqZ#)YI_R~vU!E2N*! zs-&n6(0sakmN7r8IPOX!KHn?9Zco{>iDqRnZZn}yXUYKh$&xe<&_@ z{Yw2AH~G=(^~t@aT(S|VxsPYlEW`V$zHj)Kt>>aet}SxRD2eaR6znVU`0;28Piy%Z zAu}SS_i|Fp^?lQWP7e&8$x;{>t3*B3wmL$60~xdj(NMiuQFVp(5UxWdjK<^k>iiED zqjFeZQ7*T($3?&7p@LjN5uZ#-+m79-%S%!?L01ZRarp&fns0ZDL?5{)5?gXzJh@oG zbmEJIiO3CpDoF>W>8@1cAnM3O?PxpCdLjcm8_J6Q?x=ZH1sPEfK?~zc8Hv|DxN`Jg zBai4vwYJCRg@#v;TuN}iU3IB+55B1AoM3EE)RDe@i#Jc%dy8l$UQd#aKWQD@^RjKF zzk#|Fo9|xDIXp8JyVfycOZ2=phu!{>3}TGHE%1k<}tkUrmY zHHanuQkI{`g|t!11Sv@vuuUyElW&!WP)fBh`p&yaIy)QUYZH znoK^2mT>un;ptIS2;JF%pv!OvpM4q_$v($#Ii#SrVLi8mFr4&rJ~}ljRH#vuqftT24)q_d5>t zzx>e$!`oGugU{aSJ?%)V<5!w|nZAqV5oe-}RG7Ze4;B9KvCkTe8E;}H&p544#3y}1 z7`&==ie+rWyV9mhC;5X+Ht5(`-;>v=mdR-~R#ZOeU2LJUwgjZ|GhK7I*ZhqJVWFM+ zStFzw3Y=Y+g9P<6GADUnHOMeBXz$139k+2w8H%@diqBP$DPy>wR7Qkjw49g3qUEBK zYyLpdqT2a`F`&6^hRV0H(yJt(_+m{*8?MvsDokMShS9Sz5H=lx;piUKxTI< zYr|=ItK+K*BYBcaqt&|>2&D0Nxwz_|HX`|ul$7D(Qc|mvMZ?zX;huOFnyj53taZ(({uKDu*s3h_66T1fQm$H=T zIK~||7eBT}N#G^+ay7l6W9+T}HO5$$W&w6x`&9YU72dY9BUMSyr*nOkg38a?)mdt+ zPKSRcJ>n5^#W-zJl|P^;+ZfNL$w}FSIXx|5s^q}AqsM)p;n2DT)CrQFV{T=BM{sAg za{;$Cj_yK4PzGyyi-Nv3(uH_0&7|8k!#Gb^G3jl0cSW}_{u^g$3SPb@7<~{Spyy$a zd&ts~cz?9uRVCvF&0Q&juBdvhJ+{k8{nQ`p!`~EmhqWGHqOHIG(G>^LY&zr znYtcBFU~pMc-?fst_qrGHaLS9?yJ1RX=DybHMG! z&hax`PY&OGr+q4Wj$nxMNw?!yog8W27j3pj?sCm|g=(ay`S5zrs76RniE6Hi4NYB7 zkGDyUS!U#rej4yNaN3h!{edh@s z5sV}8a#HG@WKxVCKKF=yDhlo6S5^Bt$!ae25M?rIrPR$Z9=cGWJ2A#0$yTM#6mlaJQ6V@ zs)-8MjAn5DZiG$JH^_gka)JTgJu-gMx5@S4#aVK4_^?~xg#A}e_pq|TK=OZN8d@BzriP>4~{U8D7PZ~PQ@-pdiyM!i}+KS;DM;c0LF8bDQz=P8fe-3?#+&- zsA@;-8K!D`QWCB%c)B@c+&A-iR~t`0cXOQXtL|fTHt4i0fkSyCywfwCBFy`?-f8Uuf2a2=`bnjZCbfi& zyl>T3%EY|dET{_9Uu7oLvbZn?XZ5NE*PQxZMS7e4M3Lrl(qxH!EXj$k#&_g)9r|Q- z{nOqDl*yTs*ZhLdxj&rVZ-F!AO87&kG}`s6iYVoR(e*D6u`kVsR*|+;DfE=pSIO_z zSxLQweLKldL6>a&7796tuR z!VoX0HHun`6>Qs&N%7ALeR%wZT&0m)R8^==tl3bRDPd*Lk8k^3D28wOU8`r4E9T>t zIM$RO`U&yUI#T-nv7o&d;@z)`v%cXRpqr`EAj3YWPA#QzCCQSk`^JqAs{7{@-|V6H zC5CejtT6^u`BxA%O1u=mKYT#fn|eG+?pmc=q+#A3xw@5t7YOEQ-{8&z=-N^&EG?Lh z0f?fvapk-r>*nv?D?NxX8-fc;4p2Wjl;BsejTQbn%Vu?Tnv-u zKZyu#K9L(mkN`^)FyF3_;1CbuYdGM1{gn*D{Ga^%NzfJW?B(RxZaC~Rc!=Du)548v zDHl7!hWBKIS0=HrrlEC)Sbap7;85%k- z>t*xN&SZR{I(kyKoODG;7>g%eqomm!zes{^M0LT=>!vSVFh15=b-aL4_?h!~D`{zI zBRV;ka30+0Y`$9UqGrfl9#vuxtRAIo*pP9`y*1EopFW2z(NmTH9aX;7uZap@9#3K& z*CF%Eyv=RjDWti)yNu@W zb4KcKW^O@lorcHMkjgD2gi|)yy4Wq$buyfSi$SA!pF9anJKFvECg+f5ObusZ23m&_ z_;~K^sh*?2t~pCIW{*{MJ#}pQ{^O69zMtOBEa4r!`Y7jk)a?&nsUJNWnREE)=_^*5 z@MZ=_IqJs3H?NONvN4d?99Mt;uJgD-kNd8%b1RNg#KWOSSeQW*UpIY zsxa6UChDt|E{7N-Q%&M^Q#Y;qj$mU|`tg=8jLp<AB<#PcPz z$kS!CZ@yJsq*7%4&K<_mGo#PXw(?o3J+zIhP`<3>X!22qsw|^(msntD#~N!+K1w=3 z#7L`EbU5{pVS^f133n!8qhN5meBb;%E>@1Z+oyXE#~VnW;1t}iG*EK)m4ZZZUi7J3 zrTr)EqM~C+ZY1AhlD&5J#qLk9oL>zyDzP^>t9yC|5B5rC#xI(TK0Pt&J^g9vmJQuG z0b`F7tf3idce)d!2Xjelh1L3a;v>Ufw`gUam(2VyIy-KEy#3)=TuOp!{DeR)IQ_`5 zUFvX--2HYK@29c!HGXfo$>o?gsbw?{if25*+LnaB<;(9)se)WT>NU?Zd6BS+HB?4+ zQ%OBorL!q%F7Z+=&0h3=Rub{H+cAvpn$I2aV5V-NxOlxT+ zYk1r4oQdJMk-;lu?=cQ5aM2)jXs(ul9}>&Eut3tq={)+0#}?1U!}rSbJ8$am!cr@X z&y~+xww3IspykoyUW_V?n8#saGE+9J6C)PO^0daz5FhTGDt4-h>8OZ5xnFwd>AdP_ zX?L74ylCP%Jd;gD!B_HY&QdBnzjdSYN{$Qh>59y>6LU=`J}EM>e&1BbvmULR8?ukM zf($X;~~eIUzZLY z&(Y0(1^yuCJsNJ{3nAc_di|Rl4-&x({`x%(Xv%4+Dl6&f3u!8&DS-b&#yv_@bF6jX z*3A@Pw(g$xAe#UNLNw#h_Fx3sc-GsmfWN`W^UoF}s0Kd~nL)N=y#?wbihp5kBB+KmKI`zAYp#>_`&$(8h-5e^K2kch!zmL4x^Tm#QB;qJoko&nS2E;877ic?ej(rwtpq(V>h7>5~z$X%s2$teEV{h9$X{dl{ z7<^q7h$y_JIW6Gg-_D|HbKKT>y|5KkBMIeA{kmIu6p%*(aI(G&2=yQl@?h`nzls0W zl(MBY0NBV%LlJ0ZNkt5S^c6ry>vL+<10o@q6#pCHcYoBiwY0I_DD#8@2uKB0Tm=AY z0AQ>6JAk$^1kiA?wscgsceGv4vj57)LUF*Ea@b!0_fx-7_;2Z_iB5gtPvy^RP1 zS(t@l?Oik{nFKP?0<&yY8XhgiSU*p5|BKQzghP6s0tteFFzahUqM3HW*$AZQ zdoi{*JKhP71393Fl!4LzFp56-L?U9rJv;w4`!?4zq3+v(N>X%|PgnwM#T!@om5D%Du!MoDYx)=04|6JMtrF)N?V@85Chet{|yAa7a4_xL=1n&5NMNkY+Qf`jT+D^SkWK@ zSlF0Fjo;Gz1p<24BO2oQZVVwdcc~rR40=N#8jTnqL$q}l_=_yiJIT=0mx(Z>j<(4T zl0fgkLSua*!4L~bvI7Y80wpvE6B&jen~k%5w}c)Fi3Z8y*$D(xk!*8BB-D+eN1LG$ zR0MWHK<5Sia?lwR40>)88mwO!bFjah;sgbQ9y)>s3q80K7?_>>K7s^F7kV%Tny$3O zPIQ0TWYg}p?X3>opo&JIJ+>2q!uH!$p+Z3SQ=%bS<#vLAzI|;k1a#XU8X-twCj_XP zAe#W8!a(=LprM|t>;$!G9*RQUULNT72sDVG`c5Dy%75D|0Tl>Z$c@H&ueB4_Hf7yV z^3VcWH2Gegoyc!fP75UutusZFC)LA%Jk-5@SDiv}pcRs6oN|2(aQ>*5gwluB@uBH^ zf->42-V0EbdplS4L1Ce#UTD}>W6WVU`8A~Q3yKG=@j>Iso!klUcZ%T7Ehr~haS%<;$4{ol!<-+ literal 0 HcmV?d00001 diff --git a/ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-core-2.1.2.jar b/ruoyi-visual/ruoyi-nacos/src/main/resources/lib/nacos-core-2.1.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..bc2b5019b449235ef23687a74d5a51bbf0756813 GIT binary patch literal 351012 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%0DL$ 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 z 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�+N)uY@POnPF`fHRB)hy-jf`R@{R{__zn(D9<{L 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%0AOny(@g+bm@Rxx~@afvfeYn;t|WfvECN~ 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

@OJG4Yc{RBLTxrs8l&BKk%`@0m} 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�>W{ItA-(t( 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%0A6-dmQ~Y`!d36wWu)w~d|8`bp>ql^oJS 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%0DL@+>AXg!qD;w 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

u;StjOo{t?C4mU$ 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

qX2Oham77ozhzDP^E)o~Bht8}voGr2lhX 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�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 z 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 z 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

vWoW;|cm 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­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