'Redis'에 해당되는 글 2건

  1. 2016.03.22 [Redis] Master/Slave, Sentinel 구성 부터 Jedis 예제까지.
  2. 2016.02.12 [Beats] redis/kafka outputs

[Redis] Master/Slave, Sentinel 구성 부터 Jedis 예제까지.

ITWeb/개발일반 2016.03.22 16:17

필요해서 구성해본 내용을 정리 합니다.

복습 차원에서 기록 하는 것이라 별 도움이 안될수 있습니다.


Redis 공식 사이트)


Redis 다운로드)


Redis 설치 on OSX)

# 다운로드 받은 후 tar 압축 해제 후 make 했습니다.

$ make

    LINK redis-check-dump

    CC redis-check-aof.o

    LINK redis-check-aof


Hint: It's a good idea to run 'make test' ;)

# 필요 하신 경우 make install 하시면 됩니다.


Redis Configure 참조)

- maxmemory 설정은 32bits 운영체제에서 최대 3GB 이며, 64bits 에서는 리소스 만큼 가능 하다고 합니다.

- expire 설정을 해주는 것 보다 그냥 LRU 설정을 사용하라고 합니다. (근데 이건 서비스 특성과 성능 테스트 후 결정 하는게 좋아 보입니다.)

- redis LRU 알고리즘이 완벽하지 않다(Redis LRU algorithm is not an exact implementation.)는 공식 문서의 설명이 있습니다. 그래서 maxmemory-samples 라는 설정을 하는 것 같습니다.

(http://redis.io/topics/lru-cache)

- 단순 휘발성 데이터에 대한 cache 용도 일때는 rdb, append 모드를 disable 하는게 좋습니다.

- sentinel 설정은 master, slave 구성 시 failover 지원을 하기 위함 입니다. (client 에서는 JedisSentinelPool 을 사용하세요.)

- master election 시 민주적으로 하기 위해 quorum 구성을 합니다.


Redis Master 설정)

daemonize yes

pidfile /redis-server/master/pidfile/redis.pid

port 6379

tcp-backlog 511

bind 127.0.0.1

loglevel debug

logfile /redis-server/master/log/redis.log

maxmemory 64MB

maxmemory-policy allkeys-lru

maxmemory-samples 5

appendonly no

save ""

requirepass redispassword


Redis Slave 설정)

daemonize yes

pidfile /redis-server/slave/pidfile/redis.pid

port 6479

tcp-backlog 511

bind 127.0.0.1

loglevel debug

logfile /redis-server/slave/log/redis.log

maxmemory 64MB

maxmemory-policy allkeys-lru

maxmemory-samples 5

appendonly no

save ""

slaveof 127.0.0.1 6379

masterauth redispassword


Redis Sentinel Quorum 설정)

Sentinel 1)

port 26379

dir "/tmp"

sentinel monitor redis-master 127.0.0.1 6379 2

sentinel auth-pass redis-master redispassword

sentinel down-after-milliseconds redis-master 30000

sentinel parallel-syncs redis-master 1

daemonize yes

pidfile "/redis-server/sentinel1/pidfile/sentinel.pid"

logfile "/redis-server/sentinel1/log/sentinel.log"


Sentinel 2)

port 26479

dir "/tmp"

sentinel monitor redis-master 127.0.0.1 6379 2

sentinel auth-pass redis-master redispassword

sentinel down-after-milliseconds redis-master 30000

sentinel parallel-syncs redis-master 1

daemonize yes

pidfile "/redis-server/sentinel2/pidfile/sentinel.pid"

logfile "/redis-server/sentinel2/log/sentinel.log"


Sentinel 3)

port 26579

dir "/tmp"

sentinel monitor redis-master 127.0.0.1 6379 2

sentinel auth-pass redis-master redispassword

sentinel down-after-milliseconds redis-master 30000

sentinel parallel-syncs redis-master 1

daemonize yes

pidfile "/redis-server/sentinel3/pidfile/sentinel.pid"

logfile "/redis-server/sentinel3/log/sentinel.log"


Redis Master/Slave/Sentinel 실행)

$ src/redis-server /redis-server/master/conf/redis.conf

$ src/redis-server /redis-server/slave/conf/redis.conf

$ src/redis-server /redis-server/sentinel1/conf/sentinel.conf --sentinel

$ src/redis-server /redis-server/sentinel2/conf/sentinel.conf --sentinel

$ src/redis-server /redis-server/sentinel3/conf/sentinel.conf --sentinel


Jedis 공식 사이트)


Jedis 샘플 코드)

- JedisSentinelPoolTest 참조

더보기



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

[Beats] redis/kafka outputs

Elastic/Beats 2016.02.12 11:08

beats 1.1.0 이 릴리즈 되면서 공지된 내용입니다.


원본링크)


내용요약)

[ASIS]

Beats -> Logstash -> Redis -> Logstash -> Elasticsearch


[TOBE]

Beats -> Redis/Kafka -> Logstash -> Elasticsearch


beats 랑 logstash는 매우 비슷한 기능을 제공하고 있습니다.

아마도 elastic 내부에서도 고민이 될 것 같기도 한데요.

beats 와 logstash 를 다 사용해본 개인적 입장에서는 각각의 특성에 맞춰 사용하면 되지 싶습니다.

단순하게 비교하면 성능은 beats 가 좋은것 같고 다양성과 활용도 측면에서는 logstash가 좋은것 같습니다.


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

티스토리 툴바