| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- MSA
- 서블릿 컨테이너
- redis
- 스프링 부트
- Spring
- DLQ
- JPQL
- Spring Container
- Web
- kafka
- Dead Letter Queue
- JWT
- docker
- securitycontextholderfilter
- 컨테이너
- Routing Key
- dockerhub
- docker compose
- AWS
- @Transactional
- 지연 로딩
- Spring Data JPA
- @ComponentScan
- mybatis
- CORS
- DI
- 페이징
- 쿠버네티스
- JdbcTemplate
- JPA
- Today
- Total
목록replica (2)
look-forest
kafka의 고가용성(시스템이 장애 상황에서도 멈추지 않고 정상적으로 서비스를 제공할 수 있는 능력)을 확보하는 방법을 이해하려면 아래 용어들을 먼저 알고있어야 한다. 노드, 브로커, 컨트롤러, 클러스터, 레플리케이션노드(node)와 클러스터(cluster)란?Node는 서버 1대라는 의미이고, Cluster는 여러 대의 서버가 연결되어 하나의 시스템처럼 동작하는 서버들의 집합이라는 뜻으로 널리 쓰인다. kafka에서 Node는 카프카가 설치되어 있는 서버를 의미하고, 클러스터는 노드들의 묶음이다.노드(node)가 고장나게 되면 메시지를 전달하는 것 자체가 막히기 때문에, 서비스 장애가 일어나게 된다. 그래서 실무에서는 최소 3대의 노드(node)를 구성한다.3대의 노드로 클러스터를 구성하면, 3대의 노..
데이터베이스 트래픽을 분산하는 방법(Sharding), 고가용성을 확보하는 방법(Replica)을 알아보자.분산 데이터베이스서비스가 활성화 되면서 DB에 저장할 데이터와 트래픽이 많아졌다.먼저 Scale-Up을 적용했으나 얼마 후 서비스가 더욱 활성화되면서 단일 DB로 처리하기엔 부담이 커졌다.Scale-Out을 적용해 DB를 하나 더 늘렸다. 그렇다면, 데이터는 각 DB에 어떻게 분산될 수 있을까?Sharding샤딩을 이용해 데이터를 여러 DB에 분산할 수 있다.Sharding: 데이터를 여러 데이터베이스에 분산하여 저장하는 기술Shard: 샤딩된 각각의 데이터 단위샤딩을 이용하면각 샤드에 데이터가 분산 저장되므로 성능 및 공간 이점이 생긴다.하지만, 데이터의 분리로 인해 조인 및 트랜잭션 관리가 복잡..