& http://www.aliyun.com/zixun/aggregation/37954.html "> nbsp; 때 11545.html "> 우리 Memcached 나 Redis의 많은 수는, 그것은 일반적으로 (예: 일관 된 해시) 일부 클라이언트 데이터 할당 알고리즘을 통해만 클러스터 스토리지 특성을 구현할 수. Redis 2.6 버전 되었습니다 Redis 클러스터를 발표, 정식 생산 환경에 적용 하는 매우 성숙 아니다. Redis의 클러스터 계획 하지 아직 정식으로 출시 되었습니다, 그리고 프록시를 사용 하 여 클러스터 저장소를 달성 하는 우리가.
지 저 귀 다, 하나는 세계에서 가장 큰 redis 클러스터 사용자에 게 일정 데이터를 제공 하는 트위터에 배포 됩니다. 트위터 오픈 소스과 Twemproxy을 제공합니다.
Twemproxy, 일컬어 Nutcraker twtter 오픈 소스 Redis 그리고 Memcache 프록시 서버가입니다. 효율적인 캐싱 서버, Redis 훌륭한 응용 프로그램 값입니다. 하지만 더 사용 될 때 그것은 기대는 관리 어떤 방법으로 통합 될 수 있습니다. 각 응용 프로그램에 대 한 각 클라이언트 관리 연결의 느슨한 본질을 하지 마십시오. 동시에 그것은 어느 정도 제어 된다.
Twemproxy는 Memcached ASCII 프로토콜 업데이트 Redis 프로토콜을 지 원하는 빠른 단일 스레드 에이전트:
모든 그것은 아파치 2.0 라이센스 권한 부여를 사용 하 여 C에서 작성 됩니다. 프로젝트는 리눅스에서 작동 하 고 Epoll API에 의존 하기 때문에 OS X에서 컴파일할 수 없습니다.
Twemproxy 프록시 계층을 도입 하 여 백 엔드에 여러 Redis 또는 Memcached 인스턴스 관리 및 수 응용 프로그램 실제 Redis 또는 Memcached의 수에 대 한 배려 없이 twemproxy에서 작동 해야 하므로 균일 하 게 분산 Storage。
2, Twemproxy 특성:
실패 한 노드 자동 삭제 지원
다시 연결 시간을 설정할 수 있습니다 노드 설정할 수 연결의 수는 노드 삭제 후이 메서드는 캐시 저장소
에 적합
지원 설정 hashtag
hashtag 동일한 인스턴스를 두 개의 keyhash를 설정할 수 있습니다.
Redis 직접 연결의 수를 줄일
는 에이전트와 배경
사이의 Redis 연결의 수를 설정 하려면 Redis 긴 연결을 유지
자동 조각화를 백 엔드 다중 인스턴스 Redis
여러 해시 알고리즘: 다른 정책을 사용 하 여 일관 된 해시를 지원 하기 위해 함수를 해시 하는 기능. 백 엔드 인스턴스
의 무게를 설정할 수 있습니다.
단일 지점에서 문제를 피하기 위해
는 여러 에이전트 계층을 배포할 수 있습니다 병렬. 클라이언트가 자동으로 사용 가능한
선택
Redis 요청 파이프라인을 지원합니다
스트리밍 및 요청, 앞뒤로 소비 감소의 일괄 처리 지원
상태 모니터링 지원
상태 모니터링 IP를 설정할 수 있습니다 및 액세스 IP, 포트, 포트 JSON 포맷을 얻을 수 있는 상태 정보 문자열 정보 새로 고침 간격
모니터링을 설정할 수 있습니다
높은 처리량
연결 멀티플렉싱, 메모리 재사용입니다. Reids 파이프라인의 요청은 구성 하는 여러 연결 Redis 요청을 통합.
또한, 첫 번째 중간 에이전트 레이어로 Redis의 절반을 추출 하는 Redis의 소스 코드를 수정할 수 있습니다. 결국, 리눅스에서 Epoll 이벤트 메커니즘은 자체 Nutcraker epoll 이벤트 메커니즘은 동시성 효율성을 개선 하는 데 사용 됩니다. 그리고 성능 테스트에 잘.
3, Twemproxy 문제 및 부족
Twemproxy 그것의 자신의 원리 제한으로 인해 일부 결함이 있는, 같은:
여러 값에 대 한 작업을 지원 하지 않습니다., 그리고 설정 (Mget 및 제외 델) 직교 보완 등 Redis 트랜잭션 작업 오류 안내 완벽 하지 않다 또는 선택 작업
지원 지원 하지 않습니다.
4, 설치 및 구성의 특정 설치 단계 본된 Github:https://github.com/twitter/twemproxytwemproxy 설치 수, 주요 명령어는 다음과 같습니다: 쉽다-설치 얻을 Automakeapt get Libtoolgit 복제 GIT://GITHUB.COM/TWITTER/TWEMPROXY.GITCD twemproxyautoreconf 설치-fvi. / 구성-설정-디버그 logmakesrc/호두 까 기 인형-h
=
경우에도 위의 명령을 통해
설치 하 고 특정 구성, 다음은 일반적인 구성 redis1:listen:127.0.0.1:6379 #使用哪个端口启动Twemproxy redis: 진정한 #是否是Redis的proxy 해시: fnv1a_64 메일: ketama #具体的hash算法 auto_eject_hosts:true #是否在结点无法响应的时候临时摘除结点 timeout:400 #超时时间 #指定具体的hash函数 (밀리초) server_retry_timeout:2000 #重试的时间 (밀리초) server_failure_limit:1 #结点故障多少次就算摘除掉 서버: #下面表示所有的Redis节点 (IP: 포트 번호: 무게)- 127.0.0.1:6380:1-127.0.0.1:6381:1-127.0.0.1:6382:1redis2:listen:0.0.0.0:10000 redis: true 해시: fnv1a_64 Distributi 에: ketama auto_eject_hosts:false timeout:400 서버:-127.0.0.1:6379:1-127.0.0.1:6380:1-127.0.0.1:6381:1-127.0. 0.1:6382:1
는 동시에 여러 개의 Twemproxy 인스턴스를 열 수 있습니다, 그들은 수 모두 읽기 및 쓰기, 그래서 응용 프로그램 완전히 소위 단일 지점 오류를 피할 수 있다.
이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이
페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.
커뮤니티에서 표절 사례를 발견한 경우
info-contact@alibabacloud.com
으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.