Enterprise Gate Server Introduction


엔터프라이즈 게이트 서버

엔터프라이즈 게이트 서버는 클러스터를 지원하지 않는 일반 레디스 클라이언트로 레디스 클러스터를 사용할 수 있게 해주는 서버 소프트웨어입니다.
레디스 게이트에서 설계하고 개발했습니다.   Made in redisGate

I. 일반 레디스 클라이언트로 레디스 클러스터를 사용할 수 있습니다.

  • 많은 프로그래밍 언어가 레디스를 지원하지만, 레디스 클러스터(Redis Cluster)를 제대로 지원하는 언어는 많지 않습니다.
  • C 언어만 해도 공식 C 클라이언트인 hiredis는 클러스터를 지원하지 않습니다. 그래서 C 언어로 개발할 경우 어려움이 따릅니다.
  • 클러스터를 지원하는 경우에도 기능이 부족하여 제대로 사용하기 어려운 경우가 많습니다.
  • 레디스 게이트는 일반 클라이언트로 레디스 클러스터를 사용할 수 있습니다.

II. 레디스 클러스터에서 멀티 키 명령을 사용할 수 있습니다.

  • 레디스 클러스터에서 MSET, MGET, DEL 같은 멀티 키 명령을 사용할 수 있습니다.
  • 집합 명령에 많이 사용되는 SUNION, SINTER, ZUNIONSTORE 같은 명령도 사용할 수 있습니다.
  • 두 키 사이에 값을 이동하는 SMOVE, RPOPLPUSH 같은 명령도 사용할 수 있습니다.
  • RENAME 명령을 사용할 수 있습니다.
  • 비트 연산에 사용되는 BITOP 명령도 사용할 수 있습니다.
  • HyperLogLog 명령인 PFMERGE, PFCOUNT 명령도 사용할 수 있습니다.
  • 레디스 게이트는 레디스 클러스터에서 불가능했던 멀티 키 명령을 사용할 수 있습니다.

III. 서브쿼리(subquery)를 사용할 수 있습니다.

  • SET key (GET key2) -> GET, LPOP/RPOP, LRANGE, HGET 같은 명령을 스브쿼리로 사용할 수 있습니다.
  • LPUSH mylist (LRANGE mylist2 0 9) -> GET, LRANGE, SUNION, ZRANGE, HGETALL 등 명령을 스브쿼리로 사용할 수 있습니다.
  • SADD myset (SUNION myset1 myset2) -> GET, LRANGE, SUNION, ZRANGE, HGETALL 등 명령을 스브쿼리로 사용할 수 있습니다.
  • ZADD myzset (ZRANGE myzset1 0 -1 withscores)
  • HSET myhash (HMGET myhash1 field1 field2)
  • 서브쿼리를 여러 개 사용할 수 있습니다. LPUSH mylist (LRANGE mylist2 0 9) (SMEMBERS myset)

일반 레디스 서버에서 클러스터로 변경해야 할 경우

  • 단독(standalone) 서버를 사용하다가 사용량이 늘어서 클러스터로 변경해야 될 경우
    ① 적정한 클라이언트를 선정하고
    ② 애플리케이션을 재개발해서
    ③ 클러스터 상황에 맞게 테스트를 거쳐야 합니다.
    이렇게 할 수 없을 경우 레디스 게이트 서버는 좋은 대안이 될 수 있습니다.
    서버 쪽은 클러스터로 변경하지만 애플리케이션은 전혀 변경없이 사용할 수 있습니다.
  • 단독 서버로 개발했는데 마지막 단계에서 클러스터로 변경할 경우
    일반 레디스 클라이언트를 사용해서 단독 서버로 개발을 완료했는데 오픈 직전 성능을 고려해서 클러스터로 변경하고자 할 경우에도 레디스 게이트 서버는 현명한 선택이 될 수 있습니다.
  • 멀티 키 명령을 꼭 사용해야 하는 경우 → 레디스 게이트 서버가 유일한 해답입니다.

Enterprise Gate Server Architecture

Redis Gate Server Architecture
Enterprise Gate Server Architecture

기능

  • 레디스 클러스터 노드의 추가, 삭제(다운), 슬롯 이동을 자동으로 감지해서 처리합니다.
    레디스 게이트 서버에 어떠한 추가 조치도 필요하지 않습니다.
  • 조회 명령은 복제 노드에서 처리합니다. Load balancing
    복제 노드가 여러대 있을 경우 골고루(라운드 로빈 Round Robin 방식) 사용합니다.

조회수 :

Email 返事がかかってなれば、メールでお知らせします。