Bladeren bron

add system health check

shjung 2 weken geleden
bovenliggende
commit
b1e2b1a8d5

+ 1 - 1
its-asn1/install.sh

@@ -11,4 +11,4 @@ mvn install:install-file \
   -DartifactId=its-asn1 \
   -Dversion=0.0.1 \
   -Dpackaging=jar \
-  -DlocalRepositoryPath=C:\java\repository\
+  -DlocalRepositoryPath=/Users/openvalue/Projects/java/repository/

+ 1 - 1
its-cluster/install.sh

@@ -11,5 +11,5 @@ mvn install:install-file \
   -DartifactId=its-cluster \
   -Dversion=0.0.1 \
   -Dpackaging=jar \
-  -DlocalRepositoryPath=C:\java\repository\
+  -DlocalRepositoryPath=/Users/openvalue/Projects/java/repository/
 

+ 6 - 3
its-cluster/src/main/java/com/its/common/cluster/config/AbstractClusterConfig.java

@@ -16,16 +16,17 @@ public abstract class AbstractClusterConfig {
 
     public static final AttributeKey<ClusterNode> CLUSTER_ATTRIBUTE_KEY = AttributeKey.valueOf("clusterInfo");
 
-    private boolean enabled = false;        // 클러스터 기능 사용 여부
+    private boolean enabled = true;        // 클러스터 기능 사용 여부
     // 어플리케이션 클러스터 정보
-    private boolean master = false;
+    private boolean master = true;
     private int id = -1;        // 서버 ID (1부터 시작, 0은 사용하지 않음)
-    private int syncSeconds = -1;           // 데이터 동기화 주기 (초 단위, 최소 5초, 최대 60초)
+    private int syncSeconds = 5;           // 데이터 동기화 주기 (초 단위, 기본 5초, 최소 2초, 최대 60초)
     private String ip = "127.0.0.1";          // 클러스터 서버의 IP 주소
     private int port = 13888;      // 데이터 동기화를 위한 포트
     private boolean logging = false;        // 라이브러리 내 로깅 여부
     private boolean packetLogging = false;  // 패킷 로깅 여부
     private List<ClusterNode> nodes;
+    private ClusterNode myCluster;
 
     private final HashMap<Integer, ClusterNode> clusterMap = new HashMap<>();
 
@@ -75,6 +76,7 @@ public abstract class AbstractClusterConfig {
         masterNode.setLogging(this.logging);
         masterNode.setPacketLogging(this.packetLogging);
         this.nodes.add(masterNode);
+        this.myCluster = masterNode;
         this.enabled = false;
 
         // 나 자신의 네트워크 상태정보를 항상 CONNECT로 지정
@@ -155,6 +157,7 @@ public abstract class AbstractClusterConfig {
         ClusterNode localNode = this.clusterMap.get(this.id);
         localNode.getElectionState().connect(null);
         localNode.getSyncState().connect(null);
+        this.myCluster = localNode;
         return true;
     }
 

+ 3 - 0
its-cluster/src/main/java/com/its/common/cluster/handler/ClusterMasterHandler.java

@@ -43,6 +43,9 @@ public class ClusterMasterHandler extends ChannelInboundHandlerAdapter {
 
             cluster.getElectionState().setLastRecvTime();
             cluster.getSyncState().setLastRecvTime();
+            this.clusterConfig.getMyCluster().getElectionState().setLastRecvTime();
+            this.clusterConfig.getMyCluster().getSyncState().setLastRecvTime();
+
             this.masterService.onClusterMessage(clusterMsg);
         }
     }

+ 5 - 1
its-cluster/src/main/java/com/its/common/cluster/service/AbstractClusterSlaveService.java

@@ -130,6 +130,9 @@ public abstract class AbstractClusterSlaveService {
         // 클러스터별 전송메시지를 작성하는 추상함수를 호출하여 메시지를 작성한다.
         ClusterMessage clusterMsg = getClusterMessage();
 
+        this.clusterConfig.getMyCluster().getElectionState().setLastSendTime();
+        this.clusterConfig.getMyCluster().getSyncState().setLastSendTime();
+
         for (Map.Entry<Integer, ClusterNode> entry : this.clusterConfig.getClusterMap().entrySet()) {
             ClusterNode cluster = entry.getValue();
             if (cluster.getId() == this.clusterConfig.getId()) {
@@ -178,7 +181,8 @@ public abstract class AbstractClusterSlaveService {
                 ChannelFuture future = channel.writeAndFlush(clusterMsg);
                 future.awaitUninterruptibly();
                 if (future.isSuccess()) {
-                    cluster.getSyncState().setLastSendTime();   // sync network 정보에 마지막 전송시각 저장
+                    cluster.getElectionState().setLastSendTime();
+                    cluster.getSyncState().setLastSendTime();
 
                     if (this.clusterConfig.isLogging()) {
                         log.info("ClusterNodeId: {}, ClusterSlaveService.sendSyncData: [{}], [--TO: clusterId: {}, (clusterId: {}, serverTime: {})]",

+ 1 - 1
its-common/install.sh

@@ -11,4 +11,4 @@ mvn install:install-file \
   -DartifactId=its-common \
   -Dversion=0.0.1 \
   -Dpackaging=jar \
-  -DlocalRepositoryPath=C:\java\repository\
+  -DlocalRepositoryPath=/Users/openvalue/Projects/java/repository/

+ 1 - 1
its-network/install.sh

@@ -11,4 +11,4 @@ mvn install:install-file \
   -DartifactId=its-network \
   -Dversion=0.0.1 \
   -Dpackaging=jar \
-  -DlocalRepositoryPath=C:\java\repository\
+  -DlocalRepositoryPath=/Users/openvalue/Projects/java/repository/

+ 1 - 1
its-spring/install.sh

@@ -11,4 +11,4 @@ mvn install:install-file \
   -DartifactId=its-spring \
   -Dversion=0.0.1 \
   -Dpackaging=jar \
-  -DlocalRepositoryPath=C:\java\repository\
+  -DlocalRepositoryPath=/Users/openvalue/Projects/java/repository/