본문 바로가기
반응형

DATA42

Redis vm 생성, AWS EC2 설치 계정을 만들고, 카드 등록 후 검색창에 "EC2" 를 검색하고 들어와서 "새 인스턴스 시작" 한다 Ubuntu 환경으로 나머지는 기본 설정을해서 만들고 인스턴스에 연결 기본적으로 사용자명은 ubuntu 다. 생성까지는 조금의 시간이 필요하므로 후에 연결하면 sentinel은 1대만 설치해도 되지만 해당 VM에 장애가 발생되면 정상적인 monitoring과 failover가 불가하기 때문에 3대로 설치한다. 장애여부와 failover 시 다수결 의사 결정을 할 수 있어야하기 때문에 sentinel은 홀수개로 설치해야한다. $ sudo su $ apt-get update $ apt-get install redis-server $ cd /etc/redis # redis.conf가 생성됨을 확인 $ ps -ef.. 2023. 8. 6.
[Line Music 발표영상 공부] 대규모 음악 데이터 검색 기능을 위한 Elasticsearch 구성 및 속도 개선 방법 - 2021 Korean version -LINE MUSIC에서는 음악을 제공하는 음악 레이블에 특화된 음악 정보 전문 검색 기능을 제공하고 있습니다.전문 검색에는 Elasticsearch를 활용하는데요.음악 데이터가 워낙 방대해 응답 성능이 저하되는 것이 실용화하는 데 큰 걸림돌이었습니다.이에 매핑 정의와 데이터 전처리, 검색 쿼리 등 다양한 검색 프로세스를 실용화하기 위한 연구가 필요했습니다.이번 세션에서는 전문 검색 기능을 개발하면서 겪었던 검색 항목 확대에 따른 성능 저하와 API 공개에 따른 부하 증가 등의 문제점을 짚어본 뒤 그 해결 방법을 소개하고, 대규모 데이터를 다루는 Elasticsearch의 성능 개선 연구 결과에 대해 이야기하고자 합니다.  Case 1) search feature .. 2023. 8. 5.
Memcache 와 Redis 비교 일반적으로 Redis는 Memcached의 기능을 대부분 포함하고 있다. Redis 에 저장할 수 있는 자료구조가 다양한 것을 볼 수 있고싱글스레드와 멀티스레드 차이점이 있습니다. (아래에 대용량 데이터처리는 멀티스레드가 더 좋은데 왜 redis 를 사용하는지 적어놨습니다) Memory Policy는 메모리가 풀로 찼을 때 자동적으로 어떤 데이터가 지워지느냐인데, Memcached는 LRU 알고리즘을 사용해서 가장오랫동안 사용하지 않은 키를 삭제합니다.Redis는 다양한 옵션을 제공하고 있어서 데이터 특성에 맞게 설정이 가능합니다. persistence 영속성은 장애를 대비하여 백업할 수 있는가 이며Memcached는 따로 제공하지 않고, Redis 는  AOF 또는 RDB 형식을 제공해줍니다. Redi.. 2023. 8. 4.
usecase 에 기반한 서비스 요구사항 정의하는 방법 패스트캠퍼스 강의 - Part 10. Redis, Kafka를 활용한 대용량 데이터 처리 프로젝트 이 서비스가 왜 개발되는 것인가? 영향 범위 파악, 확장성 고려 이 서비스 런칭 시점이 어떻게 되는가? 개발 우선순위와 완성도에 영향 이 서비스를 개발하기 위한 자원은 어떻게 확보되는가? (투자, 예산, 유휴 서버, 인력) 일을 하기 위한 도구가 준비되어 있지 않으면 기간에 영향을 줌 이 서비스의 주요 client가 어떻게 되는가? 요구사항 합의, 개발 현황 공유, client test, 런칭 후 모니터링, 장애 공유 1. 가용성 - RTO, RPO, 장애, uptime 2. 성능 - ops/sec, TPS, DataIn/s, DataOut/s 3. 비용 - 얼마만큼의 자원을 사용하여 해당 기능을 구축할 것.. 2023. 8. 4.
Redis Kafka 활용방법 패스트캠퍼스 강의 - Part 10. Redis, Kafka를 활용한 대용량 데이터 처리 프로젝트 마이크로서비스 구조의 서비스의 장점 - 서비스의 잦은 변경으로 인한 배포 - 모듈별로 적절한 배포 전략을 세울 수 있으므로 risk가 적다. - 기능별 유연한 scailing: 트래픽을 많이 받는 서비스에 대해서만 수평적 확장을 통해 사용성을 개선 - 여러 코드 언어 사용이 가능하다. - 기간이 한정돼있고, 빠른 반환이 필요할 때 사용한다. 1 장바구니: 로그인과 동시에 캐싱되거나 비로그인 시 임시로 저장 2 temporary user 정보: 로그인과 동시에 캐싱되는 정보 3 할인정보 4 쿠폰정보 5 배송정보 6 토큰정보, 세션정보: 로그인시 로그인 상태 유지를 위함 7 광고: 유저별, 상품별, 셀러별 8 .. 2023. 8. 4.
[공유] (번역) 캐시 시스템 설계할 때 기억해야 할 6가지 캐싱 전략 캐시 시스템의 주요 성능 측정 지표 캐싱 시스템의 효율성과 성능을 향상시키기 위해서는 다양한 지표를 모니터링하는 것이 매우 중요합니다. 이를 통해 캐싱 시스템에 관한 중요한 비즈니스 결정을 내릴 수 있습니다. 캐시 적중률(hit ratio) 요청된 항목이 캐시에서 사용된 비율을 측정합니다. 캐시 적중률이 높을수록 캐시에서 더 많은 데이터가 제공되어, 외부 저장소에 액세스 할 필요성을 줄어들고 성능이 향상됩니다. 아래의 성능 지표를 모니터링한다면, 우리는 캐싱 시스템을 최적화하여 더 높은 처리량과 낮은 대기 시간을 달성할 수 있습니다. 지연 시간(latency) 데이터에 액세스하는 데 걸리는 시간을 의미합니다. 캐싱 시스템에서 낮은 대기 시간은 데이터가 더 빠르게 제공되는 것을 의미하여 전반적인 성능을 향.. 2023. 6. 18.
분산시스템 이해 분산 시스템이 필요한 이유 데이터베이스를 중심으로 여러대의 서버로 scale-out이 가능하면서도 상태와 데이터 공유가 가능하고 유저가 사용하는 기능에는 변화가 없는 소프트웨어가 필요해졌다. 분산 시스템 특징 Concurrency 자원은 공유하면서 리소스 내에서 동시에 여러가지 작업을 수행한다. 동시 실행 자원을 늘려서 처리량을 늘릴 수 있다. No Global Clock 시스템의 각 부분이 비동기식으로 동작한다. 어떤 부분의 상태 때문에 다른곳에 Lock이나 Bottleneck이 걸리면 안된다. Independent Failure 시스템의 한 부분의 장애가 전체 시스템에 장애를 주면 안된다. 분산 시스템 고려 요소 1. Heterogeneity 서로 다른 시스템에 설치 가능해야 한다. OS, HW 관계.. 2023. 3. 18.
Redis 사용시 주의사항 Redis 캐싱을 이용하여 성능을 개선하고자 할 때 캐싱 데이터는 update가 자주 일어나지 않는 데이터가 효과적 너무 많은 update 가 일어나는 데이터일 경우 DB와의 Sync 비용 발생 Redis 사용 시 반드시 failover에 대한 고려 ex) 레디스 장애시 DB에서 조회 / 레디스 이중화 및 백업 2023. 3. 9.
분산 시스템의 특징 분산 시스템이 필요한 이유 데이터베이스를 중심으로 여러대의 서버로 scale-out이 가능하면서도 상태와 데이터 공유가 가능하고 유저가 사용하는 기능에는 변화가 없는 소프트웨어가 필요해졌다. 분산 시스템 특징 Concurrency 자원은 공유하면서 리소스 내에서 동시에 여러가지 작업을 수행한다. 동시 실행 자원을 늘려서 처리량을 늘릴 수 있다. No Global Clock 시스템의 각 부분이 비동기식으로 동작한다. 어떤 부분의 상태 때문에 다른곳에 Lock이나 Bottleneck이 걸리면 안된다. Independent Failure 시스템의 한 부분의 장애가 전체 시스템에 장애를 주면 안된다. 분산 시스템 고려 요소 1. Heterogeneity 서로 다른 시스템에 설치 가능해야 한다. OS, HW 관계.. 2023. 2. 18.
728x90
반응형