일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Cluster
- fastcampus
- redash
- 머신러닝
- SpringBoot
- 자바
- config
- 레디스
- 예제
- java
- ec2
- 자동
- 젠킨스
- 로그인
- 설정
- 간단
- gradle
- Kafka
- spring
- Redis
- hive
- Zeppelin
- 클러스터
- aws
- EMR
- login
- Mac
- Jenkins
- vue
- Docker
- Today
- Total
목록자바 (6)
코알못
서버의 메모리와 CPU를 모니터링 할일이 생겨 모니터링 툴이 필요했다. 여러 모니터링툴중 오픈 소스인 visualVM 을 사용해보자! java 프로세스 띄울시 jvm 옵션에 설정을 주어 해당 자바 어플리케이션의 자원 사용량을 볼 수 있으며 어떤 클래스에서 얼마나 사용하는지도 볼수 있어서 자바 소스 코드의 메모리 누수를 찾는데도 용이하다. (저자는 이전에 푸시 서비스를 구현하였으나 메모리 누수가 있어 해당 서비스로 누수 원인을 찾았다. 궁금하다면 아래 TMI 부분을 보면 된다.) 자 그럼 설치부터 진행해보자! (저자는 ec2 인스턴스에 자바 프로세스를 띄우고 모니터링을 로컬에서 띄우는 실습을 진행한다.) - 설치 : https://visualvm.github.io/download.html VisualVM:..
Predixy 란? - 프록시 중 하나 - redis cluster에서 key 가 분산돼서 저장될 때, 클라이언트가 키가 어디 있는지 찾을 필요 없이 Predixy 가 전부 해줌. - master, slave 읽기 처리 비율 조정 가능 저자가 redis cluster 를 위한 기능이 탑재되어 있는 프록시를 찾아봤을 때(2021.06.01 기준) predixy 뿐이었으므로 해당 프록시와 연동해본다! 아래와 같은 구조가 베스트 이지만.. 테스트를 위한 구성으로 아래와 같이 하나의 서버에서 포트별로 다르게 프로세스를 띄워 구성한다. 1. 설치 $ git clone https://github.com/joyieldInc/predixy.git $ cd predixy $ make $ cp src/predixy /us..
이전 글에서 [5분 안에 구축하는 Redis(레디스)] 레디스에 대해 알아 보았습니다 이번 시간에는 Redis Sentinel 에 대해 알아 봅시다! Redis Sentinel 은 장애 발생시 운영 서비스에 영향 없도록(=고가용성) 레디스 마스터 모니터링 및 자동 장애 극복 조치 (=Fail-over) 해주는 서비스 입니다. 아래와 같은 아키텍쳐로 구성 합니다. 위와 같은 아키텍쳐로 구성시 한대 서버 장애가 나도 정상적인 운영이 가능합니다. 장애 감지시 sentinel 끼리 투표를 하는데 일정 투표수(=쿼럼::quorum) 이상이 장애 서버라고 동의하면 fail over 작업을(마스터 승격) 진행합니다 (쿼럼이 3일시, fail over 불가) 만약, 죽은 서버를 복구하여 서비스 투입시 아래와 같습니다...
# 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 이라는 문구를 출력하는 스..
# oepnjdk 최신 버전 설치 $brew install --cask adoptopenjdk # 특정 버전 설치 1. 아래 페이지에서 버전 확인 - github.com/AdoptOpenJDK/homebrew-openjdk AdoptOpenJDK/homebrew-openjdk AdoptOpenJDK HomeBrew Tap. Contribute to AdoptOpenJDK/homebrew-openjdk development by creating an account on GitHub. github.com - 위 페이지 접속 대신 아래 표 봐도 됩니다 ㅎ (귀찮 귀찮) 2. 저장소 연결 $brew tap AdoptOpenJDK/openjdk 3. 특정 버전 설치 $brew install --cask adopt..
# Ehcache 란? - 캐시 시스템 - 많은 업데이트가 필요없는 데이터를 메모리에 캐싱하여 서버요청 없이 데이터를 로딩하여, 서버 부담을 줄어주고 빠른 응답을 제공 - spring 에서 제공 하고 있어 빠른 캐싱 시스템 구축 가능 # 어노테이션 - @EnableCaching // EnableCaching : 캐싱을 사용하겠다는 의미 @EnableCaching @SpringBootApplication public class EhcacheApplication { public static void main(String[] args) { SpringApplication.run(EhcacheApplication.class, args); } } - @Cacheable - 해당 키값이 존재할 경우, 메서드 수행하..