복붙노트

[REDIS] 레디 스 : Elasticache 대 아마존 EC2

REDIS

레디 스 : Elasticache 대 아마존 EC2

나는 나 자신에 의해 레디 스 서버를 호스트 할 수 있습니다. 나는 Elasticache에 EC2를 비교했다. 그리고 EC2의 단점이 무엇인지 알고 싶습니다.

EC2 ELasticache 작은 예를하지만 께서 더 많은 RAM 400MB의만큼 작은 예 비용. 왜 EC2 작은 isntance에 Elasticache하지 설정에게 자신의 레디 스 서버를 사용해야합니까?

해결법

  1. ==============================

    1.TL; DR : Elasticache 하위 최적 레디 스의 단일 인스턴스를 사용하도록 강제합니다.

    TL; DR : Elasticache 하위 최적 레디 스의 단일 인스턴스를 사용하도록 강제합니다.

    긴 버전 :

    나는이 (이년이 글을 쓰는 시점에서) 이전 게시물을 실감하지만 난 그게 내가 여기에 표시되지 않는 점을 유의하는 것이 중요하다고 생각합니다.

    elasticache에 레디 스 배포 아마존에 의해 관리됩니다. 그들이 당신의 레디 스를 실행하도록 선택하지만 나왔습니다 붙어이 방법 당신에게.

    레디 스가 읽기 실행의 단일 스레드를 사용 / 기록합니다. / O w 잠금이 보장하지만 일관성. 그것은 잠금 및 래치를 관리 할 수없는 성능면에서 큰 자산입니다. 불행한 결과는, 그러나, 당신의 EC2 이상의 vCPU 1 개있는 경우가되지 않는 갈 것입니다. 이 이상의 vCPU 한 모든 elasticache 인스턴스의 경우입니다.

    기본 elasticache 인스턴스의 크기는 두 개의 코어를 가지고 cache.r3.large이다.

    사실, 여러 개의 vCPU와 인스턴스 크기가 있습니다. 매니페스트에이 문제에 대한 기회가 많아요.

    아마존은 이미이 문제를 알고 보이지만, 그들은 약간의 경멸을 보인다.

    이 질문이 특히 관련 만드는 부분은 당신의 EC2에 당신이 멀티 테넌시 (multi-tenancy)를 구현하는 방법입니다 수 (이후 자신의 배포를 관리하는) 것입니다. 이 방법은 당신은 레디 스의 여러 인스턴스가 다른 포트에서 수신 같이 처리 할 수 ​​있습니다. 당신이 당신의 개의 vCPU을 모두 활용할 수있는 레코드의 키의 해시를 기반으로 응용 프로그램에서 읽기 / 어떤 포트 / 쓰기를 선택하여.

    사이드 참고로; 멀티 코어 시스템에 elasticache 레디 스를 배포한다 인스턴스 크기 memcached를 elasticache 배치에 비해 항상하에 수행. 멀티 테넌시 (Multi-tenancy) 레디 스로 승자 경향이있다.

    최신 정보:

    아마존은 지금 레디 스 인스턴스 CPU, EngineCPUUtilization에 대해 별도의 측정을 제공합니다. 당신은 더 이상 대충 곱셈으로 CPU를 계산 할 필요가 없지만, 멀티 테넌시 (multi-tenancy)은 아직 구현되지 않습니다.

  2. ==============================

    2.내가 게으른 때문에, 나는 선택할 것 Elasticcache 이상 EC2 그래서 나는 레디 스 인스턴스를 관리하는 운영 측면의 일부를 피할 수있다. EC2에 레디 스, 당신은, 업데이트, 모니터링 및 호스트와 레디 스 인스턴스의 유지, 확장에 대한 책임이 있습니다. 당신이있는 거 잘 레디 스의 운영 측면을 다루는 경우, 그것은 문제가되지 않습니다. 여러분의 많은 이상 레디 스 인스턴스를 실행하는 운영 측면의 비용을 찾습니다. 당신은 레디 스 잘 양념하지 않는 한, 나는 Elasticache을 생각 하는데요. 나는 그것을 사용하고 지금까지 그것으로 꽤 행복했다.

    내가 게으른 때문에, 나는 선택할 것 Elasticcache 이상 EC2 그래서 나는 레디 스 인스턴스를 관리하는 운영 측면의 일부를 피할 수있다. EC2에 레디 스, 당신은, 업데이트, 모니터링 및 호스트와 레디 스 인스턴스의 유지, 확장에 대한 책임이 있습니다. 당신이있는 거 잘 레디 스의 운영 측면을 다루는 경우, 그것은 문제가되지 않습니다. 여러분의 많은 이상 레디 스 인스턴스를 실행하는 운영 측면의 비용을 찾습니다. 당신은 레디 스 잘 양념하지 않는 한, 나는 Elasticache을 생각 하는데요. 나는 그것을 사용하고 지금까지 그것으로 꽤 행복했다.

    당신이 Elasticache에서 지원되지 않는 레디 스의 사용자 정의 구성을 필요로 할 때 이제 EC2는 의미가 있습니다.

    당신은 AWS 환경의 외부로부터 레디 스 인스턴스에 연결해야하는 경우가 그 화장실 밖에서에서 ̶E̶l̶a̶s̶t̶i̶c̶a̶c̶h̶e̶을 실행중인 인스턴스 레디 스에 연결하기 위해 레디 스 CLI를 사용 할 수 없기 때문에 또한, ̶, ̶ ̶E̶l̶a̶s̶t̶i̶c̶a̶c̶h̶e̶ 문제가 될 것인가

    업데이트 : 외부 AWS에서 액세스 ElastiCache 자료

    당신은 레디 스의 출혈 가장자리에있는 계획이라면 마지막으로, 당신의 자신을 실행하는 데 더 의미가 있습니다. 하지만 다시, 당신은 등, 패치, 모니터링, 운영 비트를 소유하고 ..

  3. ==============================

    3.또 다른 점은 성능 인덱스는 녹색에 있다면 당신은 ($$ 및 저장) 근처에도 캐시를 동적으로 사용하는 메모리를 늘리거나 / 줄일 수 있습니다, Elasticache 동적입니다.

    또 다른 점은 성능 인덱스는 녹색에 있다면 당신은 ($$ 및 저장) 근처에도 캐시를 동적으로 사용하는 메모리를 늘리거나 / 줄일 수 있습니다, Elasticache 동적입니다.

  4. ==============================

    4.프로  - 관리 서비스를 AWS; 그래서 그냥 관리의 오버 헤드없이 응용 프로그램에서 레디 스를 사용합니다 (AWS에게 맡겨)  - 메모리 데이터베이스에 적합한 유연한 인스턴스 유형.  - 모든 문제는 노드가있는 경우, AWS는 (등 장애 조치, 노드 교체, 유지 보수) 알아서한다  - HIPAA 준수 서비스를 제공합니다.  - 레디 스 만 - BGSAVE을 허용 할 수없는 메모리 문제가있는 경우> 그들은 자신의 백업 구현이있다.  - 정기적으로 스냅 샷 생성을 허용 할 수 있습니다.  - 쉽게 확장 가능한 수평 및 수직 (클러스터 모드는 250 개 파편 개까지 가질 수 사용).  - (당신이 노드 엔드 포인트를 사용하지 않는 경우)를 구성 엔드 포인트는 결코 따라서 장애의 경우 응용 프로그램에서 변경 아무것도 필요 변경되지 않습니다

    프로  - 관리 서비스를 AWS; 그래서 그냥 관리의 오버 헤드없이 응용 프로그램에서 레디 스를 사용합니다 (AWS에게 맡겨)  - 메모리 데이터베이스에 적합한 유연한 인스턴스 유형.  - 모든 문제는 노드가있는 경우, AWS는 (등 장애 조치, 노드 교체, 유지 보수) 알아서한다  - HIPAA 준수 서비스를 제공합니다.  - 레디 스 만 - BGSAVE을 허용 할 수없는 메모리 문제가있는 경우> 그들은 자신의 백업 구현이있다.  - 정기적으로 스냅 샷 생성을 허용 할 수 있습니다.  - 쉽게 확장 가능한 수평 및 수직 (클러스터 모드는 250 개 파편 개까지 가질 수 사용).  - (당신이 노드 엔드 포인트를 사용하지 않는 경우)를 구성 엔드 포인트는 결코 따라서 장애의 경우 응용 프로그램에서 변경 아무것도 필요 변경되지 않습니다

    단점 :  - 서비스 관리 AWS에 따라, 당신은 OS 수준의 액세스를 얻을하지 않는 한 (파라미터 그룹을 통해) 성능 최적화를위한 아주 작은 범위가 있습니다.  - 등 X1과 같은 인스턴스 유형의 많이 안  - 많은 수 없음 사용자 정의 가능한 예 : 암호 생성되면 (레디 스 AUTH)을 변경할 수 없습니다.  - 정기적 인 유지 보수가 필요할 수 있습니다 여분의 것 때문에 걱정을 생산 중요한시기에있는 캔의 공동는 incide.  - 모든 유지 보수 이벤트는 원치 않는 방해하므로 통지를 가져옵니다.  - 많은 시간이 시작 될 필요 (노드 유형에 따라 달라 노드의 계산)한다.  - 비싼 것을 입증 할 수 있습니다.

    프로  - 최적화 및 사용자 정의에 추가 자유  - 자신의 시간에 유지 관리  - 어떤 자원 사용

    단점  - 장애 및 백업 등의 유지 보수, 확장, 복구를 위해 필요 사용자 정의 로직  - 연산 오버 헤드를 증가.

    목록은 길다 그러나 이들은 유의 한 차이를 포함해야한다.

  5. ==============================

    5.cache.t2.micro 대 t2.micro

    cache.t2.micro 대 t2.micro

    t2.micro - 1GiB cache.t2.micro - 0.555GiB

    그러나 t2.micro에 당신은 OS가 필요합니다! 이들의 대부분은 512MiB의에 대해 필요합니다.

    t2.micro은 네트워크 성능에 어쩌면 이길 수 있습니다. 당신은 실행 벤치 마크를 시도하고 비교할 수 있습니다.

  6. from https://stackoverflow.com/questions/21175941/redis-amazon-ec2-vs-elasticache by cc-by-sa and MIT license