Background Image
제품 여행
2019.11.02 01:23

CUBRID Network Diagram (CUBRID Version 9.3, 10.1)

조회 수 1084 추천 수 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)

 

 


마치며..

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


  1. CUBRID에서 Java SP를 사용해서 양방향 암호화 함수 사용하기

  2. 논리모델/물리모델을 다루는 eXERD가 CUBRID를 지원합니다.

  3. CUBRID를 사용하면서 하지 말아야 할 것 10가지

  4. 와탭(whatap)을 이용한 CUBRID 모니터링

  5. 리소스해커로 CUBRID 매니저 아이콘 변경하기

  6. SQLGate for CUBRID로 데이터베이스를 다뤄보자

  7. CUBRID Network Diagram (CUBRID Version 9.3, 10.1)

  8. Doxygen으로 소스코드 문서화 해보기

  9. DB2, Informix, Sybase ASE, Postgres DBMS 데이터를 CUBRID로 이관하는 방안에 대하여...

  10. CUBRID GRANT ALL TABLES

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