일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- login
- 설정
- Redis
- Kafka
- EMR
- 머신러닝
- SpringBoot
- ec2
- spring
- 예제
- Jenkins
- Zeppelin
- Docker
- 레디스
- 자바
- java
- Cluster
- 자동
- 간단
- Mac
- gradle
- aws
- 젠킨스
- vue
- redash
- config
- 클러스터
- hive
- fastcampus
- 로그인
- Today
- Total
목록spring (13)
코알못
이전 글에서 [5분 안에 구축하는 Redis(레디스)] 레디스에 대해 알아 보았습니다 이번 시간에는 Redis Sentinel 에 대해 알아 봅시다! Redis Sentinel 은 장애 발생시 운영 서비스에 영향 없도록(=고가용성) 레디스 마스터 모니터링 및 자동 장애 극복 조치 (=Fail-over) 해주는 서비스 입니다. 아래와 같은 아키텍쳐로 구성 합니다. 위와 같은 아키텍쳐로 구성시 한대 서버 장애가 나도 정상적인 운영이 가능합니다. 장애 감지시 sentinel 끼리 투표를 하는데 일정 투표수(=쿼럼::quorum) 이상이 장애 서버라고 동의하면 fail over 작업을(마스터 승격) 진행합니다 (쿼럼이 3일시, fail over 불가) 만약, 죽은 서버를 복구하여 서비스 투입시 아래와 같습니다...
레디스(Remote Dictionary Server)가 무엇인가! - 메모리 기반 저장 서비스 - 키-값 구조 - 문자열만 저장할 수 있는 Memcached와 달리 다양한 자료구조(Collection: 목록성 데이터 처리 구조) 지원 -> 다양한 형식으로 저장 가능 (String, Set, Sorted Set, Hash, List 등) - 오픈 소스 (무료) - 원격(Remote) 저장소로 여러 서버에서 같은 데이터를 공유할 수 있음 - 캐시로 사용 가능 - 메모리에만 저장하는 Memcached와 달리 디스크에도 저장하여 데이터 저장소로 사용 가능 (백업 방식으로 2가지가 존재함.) > 개념만 봤을때 아 ~ 그렇구나 정도지 실제 해보지 않으면 알기 어렵다.. (다음번에 테스트 해볼 예정) RDB AOF ..
# Quartz 란? - Job Scheduling 라이브러리 - 스프링에서 지원하고 있어 쉽게 구축 가능 - 전체 예제 코드 :: github.com/works-code/dynamic-schedule works-code/dynamic-schedule dynamic-schedule. Contribute to works-code/dynamic-schedule development by creating an account on GitHub. github.com # 개발 환경 - mac os catalina - java 15 - spring boot 2.4.0 - gradle 6.6.1 # 프로젝트 구조 모듈명 설명 module-01 스케쥴을 동작하는 1번 모듈 - module-01 이라는 문구를 출력하는 스..
# Ehcache 란? - 캐시 시스템 - 많은 업데이트가 필요없는 데이터를 메모리에 캐싱하여 서버요청 없이 데이터를 로딩하여, 서버 부담을 줄어주고 빠른 응답을 제공 - spring 에서 제공 하고 있어 빠른 캐싱 시스템 구축 가능 # 어노테이션 - @EnableCaching // EnableCaching : 캐싱을 사용하겠다는 의미 @EnableCaching @SpringBootApplication public class EhcacheApplication { public static void main(String[] args) { SpringApplication.run(EhcacheApplication.class, args); } } - @Cacheable - 해당 키값이 존재할 경우, 메서드 수행하..
# Rabbitmq 란? - 메세징 큐 시스템 - 얼랭(Erlang)으로 AMQP 를 구현한 메시지 브로커 시스템. * 얼랭 : 범용 병렬 프로그래밍 언어 * AMQP(Advanced Message Queuing Protocol, 어드밴스트 메시지 큐잉 프로토콜) : 메시지 지향 미들웨어를 위한 개방형 표준 응용 계층 프로토콜. # 아키텍쳐 - producer : 메세지를 보내는 아이 - exchange : 메세지를 목적지(큐)에 맞게 전달하는 아이 - queue : 메세지를 쌓는 아이 - consumer : 메세지를 받는 아이 >> Producer(Sender)가 메세지를 보내면, exchange에서 해당하는 키에 맞게 큐에 분배를(바인딩 or 라우팅) 하고, 해당 큐에서 Consumer(Receive..