Background Image
제품 여행
2019.11.02 01:23

CUBRID Network Diagram (CUBRID Version 9.3, 10.1)

조회 수 1079 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

CUBRID Network Diagram 

큐브리드를 사용하다 보면 네트워크 연결 구성에 대해 궁금할 수 있습니다.

이런 궁금증에 대해 간단한 이미지와 설명으로 큐브리드 네트워크 연결 구성에 쉽게 다가 올 수 있도록 기술 하였습니다.

 

 

들어가기에 앞서

큐브리드 네트워크 연결 구성에 대해 이해하기에 OS 환경 및 CUBRID 버전에 따른 약간의 차이점이 있습니다.

아래의 2가지 기능 차이에 대해서 숙지 하시면 큐브리드 네트워크 다이어그램에 대해 쉽게 이해하실 수 있습니다.

  • - Windows 큐브리드 버전에서는 SHARD Broker 기능과 HA 환경을 제공 하지 않습니다. (SINGLE 구성만 제공)
  • - Linux 큐브리드 버전 9.3에서는 SHARD Broker기능을 제공 하지만 10.1버전에서는 SHARD Broker 기능을 제공 하지 않습니다.

 

 

큐브리드 네트워크 다이어그램 세부 정보

  • < Master / Slave / Replica Node >
    HA 환경의 데이터 베이스를 구성하는 서버
      - cub_master : 실제 데이터 베이스 프로세스와 연결을 담당하는 프로세스
      - cub_manger : CUBRID Manger 프로그램의 관리모드 사용을 위한 프로세스

     
  • < SINGLE >
    HA환경이 아닌 싱글로 운영 되는 데이터 베이스 서버
      - cub_master : 실제 데이터 베이스 프로세스와 연결을 담당하는 프로세스
      - cub_manager : CUBRID Manger 프로그램의 관리모드 사용을 위한 프로세스

     
  • < Broker >
    Application과 데이터 베이스 서버의 연결을 관리하는 서버
      - CAS : 데이터 베이스와 실질적인 커넥션을 맺는 프로세스

     
  • < SHARD Broker >
    CUBRID 부하 분산을 위한 분할 구조를 사용하기 위한 서버
       - Proxy : SHARD Broker로 부터 연결을 받은 분할 분배 프로세스
       - CAS : 데이터 베이스와 실질적인 커넥션을 맺는 프로세스

     
  • < CUBRID Manager >
    CUBRID SQL 개발 프로그램
       - 질의 모드 : 단순히 데이터 베이스로 SQL을 수행하기 위한 목적
       - 관리 모드 : 데이터 베이스의 전체적인 관리(기동/중지/삭제 등)와 같은 기능을 위한 목적

     
  • < Driver / Application >
       - Driver : CUBRID 데이터 베이스 사용을 위한 Application과 Broker 연결 담당
       - Application : 웹 또는 응용 프로그램

     
  • < Ping Hosts >
       - HA 환경에서 스플릿 브레인 (두개의 Master Node) 현상 방지를 위한 제 3자 통신 체크용 ICMP 테스트를 위한 임의의 서버

 

 

CUBRID 포트 정보 확인

  • $CUBRID/conf/cubrid.conf
    - cub_master Port를 설정할 수 있습니다. 기본 값은 TCP_1523
    - 파라미터 : cubrid_port_id

     
  • $CUBRID/conf/cubrid_ha.conf
    - HA 환경에 사용 되는 하트비트 체크 관련 포트 설정을 할 수 있습니다. 기본 값은 UDP_59901
    - 파라미터 : ha_port_id

     
  • $CUBRID/conf/cm.conf
    - CUBRID Manager 관리자 모드를 사용하기 위한 포트 설정을 할 수 있습니다. 기본 값은 TCP_8001
    - 파라미터 : cm_port

     
  • $CUBRID/conf/cubrid_broker.conf
    - 브로커 포트를 설정 할 수 있습니다. 기본 값은 query_editor(개발용 브로커)  TCP_30000, broker1(서비스용 브로커) TCP_33000
    - BROKER_PORT

     
  • $CUBRID/conf/shard.conf
    - 샤드 브로커 포트를 설정 할 수 있습니다. 기본 값은 TCP_45000
    - BROKER_PORT

 

CUBRID 방화벽 오픈

  • - CUBRID에서 사용 되는 프로세스들은 단방향 포트로 목적지에 인바우드(INPUT) 포트만 오픈 되어 있으면 통신을 수행할 수 있습니다.
  • - Windows의 경우 CAS 개수(커넥션 수)에 따라 PORT의 범위가 변경 될 수 있습니다.
      CAS 개수 100개 Broker Port 30000 일 때 TCP_30000-30100과 같이 범위 오픈을 하여야 됩니다.
  • - Linux의 경우 내부 소켓 통신으로 CAS 개수(세션) 상관 없이 Broker Port만 오픈 하시면 됩니다.
  • - 하기의 이미지들에 사용 된 포트 정보는 기본 설정 값으로 운영 환경에 따라 변경 될 수 있습니다.
  • - SHARD Broker의 경우 기본적으로 기동 되게 설정되어 있지 않습니다. 필요에 따라 설정하여 기동 하여야 합니다.
     
  • < Windows 인바우드 정책 설정 >
    1. 커맨드
    > netsh advfirewall firewall add rule name="(규칙 이름)" dir=in action=allow protocol=tcp remoteip=any localport=(포트 번호)

    2.  GUI
      Win Key + R > WF.msc > 인바운드 규칙 생성 (포트/연결 허용/포트 설정)

     
  • < Linux INPUT 방화벽 설정 >
    1. Centos
     - iptables 
         # iptables -A INPUT -p tcp -m tcp --dport (포트 번호) -j ACCEPT
         # iptables -A INPUT -p udp -m udp --dport (포트 번호) -j ACCEPT

     - firewalld
         # firewall-cmd --permanent --zone=public --add-port=(포트 번호)/tcp
         # firewall-cmd --permanent --zone=public --add-port=(포트 번호)/udp

    2. Ubuntu
         # ufw allow (포트 번호)/tcp
         # ufw allow (포트 번호)/udp

 


Windows 큐브리드 네트워크 다이어그램

cubrid_network_single.jpg

 

 

 

Linux 큐브리드 네트워크 다이어그램

CUBRID Version 9.3 - SINGLE

linux_93_single.jpg

 

CUBRID Version 9.3 - HA

linux_93_ha.jpg

 

CUBRID Version 9.3 - ALL

linux_93_all.jpg

 

 

 

CUBRID Version 10.1 - SINGLE

linux_101_single.jpg

 

CUBRID Version 10.1 - HA

linux_101_ha.jpg

 

CUBRID Version 10.1 - ALL

linux_101_all.jpg

 

 

 

 

큐브리드 Client to CUBRID Databases 연결 구성

CUBRID_CONNECTION.png

 

Certification (인증) 단계 

  1. Client의 요청을 받아 CUBRID Driver는 cub_broker로 연결을 시도 합니다.

  2. cub_broker는 Client과 매칭시킬 cub_cas를 할당 합니다.

  3. cub_cas는 cub_master로 데이터 베이스의 정보를 추가 확인 합니다.

  4. cub_master는 최종적으로 정상 접이면 cub_server를 할당 합니다.

  5. 이 5개의 과정을 거치면 Client와 CUBRID DB와의 인증 단계를 마칩니다.

 

Data recursive (데이터) 단계

  1. 5개의 인증 과정을 마친 연결은 데이터를 주고 받습니다. (prepare, execute, fetch)

  2. 한번 연결 된 연결은 conn_close 또는 Client 비정상 종료 및 파라미터 제한이 아닌 이상 끊어지지 않고 유지 됩니다.

  3. Client > Driver > cub_cas > cub_server (prepare -> execute)

  4. cub_server -> cub_cas -> Driver -> Client (fetch, Result Return)

 

 


마치며..

큐브리드 네트워크 다이어그램을 통해 좀 더 큐브리드에 대한 접근성이 낮아졌으면 합니다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
144 나머지... DBeaver 환경을 새로운PC에 간편하게 복원하기 file HiCLASS 2022.12.26 4638 0
143 제품 여행 CUBRID Flashback file 김주호 2022.10.25 385 0
142 제품 여행 CUBRID to MySQL DBLink smnam 2022.10.25 848 0
141 제품 여행 CUBRID to Oracle DBLink 우수빈 2022.10.25 697 0
140 시장 살펴보기 공공부문 DBMS 정보자원 현황 file 정병주 2022.10.21 555 0
139 제품 여행 [CUBRID INSIDE] External Sort file 박세훈 2022.08.05 700 3
138 제품 여행 CUBRID DBLink 3 file airnet 2022.06.07 1359 0
137 제품 여행 DBeaver Database Tool 큐브리드 사용하기 2 file 정강부 2022.05.02 3583 0
136 제품 여행 [CUBRID INSIDE] 부질의와 QUERY REWRITER (view merging, subquery unnest) 1 file 박세훈 2022.04.22 674 1
135 제품 여행 CUBRID Internal: 큐브리드 데이터의 디스크 저장 (Double Write Buffer) file 김명규 2022.02.23 403 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 16 Next
/ 16

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales