ClusterNode.java 1.0 KB

123456789101112131415161718192021222324252627282930
  1. package com.its.common.cluster.vo;
  2. import lombok.AllArgsConstructor;
  3. import lombok.Data;
  4. import lombok.NoArgsConstructor;
  5. import lombok.extern.slf4j.Slf4j;
  6. @Slf4j
  7. @Data
  8. @NoArgsConstructor
  9. @AllArgsConstructor
  10. public class ClusterNode {
  11. private boolean master = false;
  12. private int id = -1;
  13. private String ip = "";
  14. private int port = 13888; // 포트 1: 데이터 동기화를 위한 포트
  15. private boolean logging = false;
  16. private boolean packetLogging = false;
  17. private boolean witness = false; // Witness 노드인지 여부
  18. private ClusterNetState electionState = new ClusterNetState(); // 서버로 동작하며 클라이언트의 네트워크 상태를 저장
  19. private ClusterNetState syncState = new ClusterNetState(); // 클라이언트로 동작하며 서버와의 네트워크 상태를 저장
  20. private final Object sendLock = new Object(); // 데이터 전송용 락 객체
  21. public String getLogKey() {
  22. return String.valueOf(this.id);
  23. }
  24. }