본문 바로가기
728x90

전체 글86

Redis Architecture OverView 클러스터 구성 클러스터 - 클러스터는 캐시 노드 모음으로 노드에서 Redis 캐시 엔진이 실행됨. - Redis(클러스터 모드 활성화 상태) 클러스터에서 Clustering은 데이터를 분산시키는 방법 - 즉 한 Node의 자원만 사용하는 것이 아닌 다른 Node 자원 또한 사용하여 전체 computing 자원을 사용함 샤드(노드 그룹) - 샤드에 여러 노드가 있으며 노드 중 하나의 노드는 읽기/쓰기 기본 노드로 사용됨 - 기본 노드 이외에 다른 모든 노드는 기본 노드의 읽기 전용 복제본 역할 복제(Replication) - Master/Slave 구조로 Cluster Node가 장애가 발생하더라도 Redis가 멈추지 않고 동작하여 가용성 보장 * Redis(클러스터 모드 비활성화됨) 클러스터와 Redis.. 2021. 6. 27.
[AWS]ElastiCache ElastiCache AWS 클라우드상의 분산 인 메모리 캐시 환경을 손쉽게 설정 및 관리하고 및 확장할 수있게 해주는 서비스 지원 : Redis, Memcache In-Memory 환경의 Key-Value 저장소 각종 모니터링 및 알림 기능 지원 기대효과 : DB 부하 분산을 통한 DB 비용 감소 및 어플리케이션 지연 감소 Memcached 특징 Memory에만 저장 멀티스레드 방식 데이터의 영속성을 지원하지 않음 수평적 확장 가능 Client Library를 통해 Consistent Hashing 방식으로 노드 별 저장하는 방식 노드 장애 시 복구 불가 내부 메모리 관리가 Redis 보다 간단하여, 보다 작은 메모리 사용 데이터 구조 String Type만 지원 Key 최대 250 bytes, Val.. 2021. 6. 27.
Spring framework 기본 Package 설계 출처 : https://futurecodeblog.wordpress.com/2016/10/12/spring-mvc-%EA%B8%B0%EB%B3%B8-%EA%B5%AC%EC%A1%B0-1/ Controller @Controller 어노테이션을 가집니다. REST API 요청과 서비스를 이어주는 역할을 합니다. Service @Service 어노테이션을 가집니다. 비즈니스 로직이 구현됩니다. 데이타베이스 연결 및 MQ 등의 자원들에 접근하기 위한 추상화 오브젝트를 다룹니다. DAO ReadOnly DAO는 @Repository, @Mapper, @UseReadOnlyDatasource 를 가집니다. 쓰기를 허용할 경우 @Repository, @Mapper, @UseReadWriteData.. 2021. 6. 27.
비동기 통신 비동기 통신 (Asynchronous messaging) 비동기 메시지를 처리하기 위해 Rabbit MQ의 exchange 를 활용할 경우, 업무의 필요성에 따라 다양한 형태의 아키텍처 설계가 가능합니다. exchange 메시지를 목표 큐로 라이팅 하기 위해 사용합니다. 일대일(direct), 일대 그룹(topic), 전체 (fanout) 형태의 라우팅할 수 있습니다. queue 메시지가 일시적으로 잔류하는 메모리 공간 입니다. 데이타베이스 등의 매체에 상기 보존이 필요할 경우 MQ는 별도의 로직을 작성하여야 합니다. 카프카의 경우 기본 적으로 파일에 저장하므로 retention 기간을 따로 줄 필요가 없습니다. binding exchange 가 어느 큐로 갈 지 queue와 엮는 과정입니다. route.. 2021. 6. 27.
728x90