개요 서버리스 컨테이너 시대가 도래하면서 애플리케이션의 상태에 대한 관리가 중요해졌다. 과거에는 느슨하게 하드 코딩된 상수들도 이제는 적절하게 환경 변수를 받아 주입하도록 설정해야 안전하고 일관성 있는 컨테이너 관리가 가능하다. 이번 글에서는 Spring Boot에서 헷갈리기 쉬운 환경 변수 적용 우선순위 및 운영체제 환경 변수 관리 방법을 정리했다. Spring Boot 환경 변수 적용 우선순위 Spring Boot 애플리케이션을 기동할 때 전달되는 환경 변수의 적용 우선순위는 아래와 같다. 높은 우선순위의 환경 변수가 전달되면, 아래 순위에서 동일한 환경 변수가 전달되어도 무시된다. 1. JVM 옵션: "-D--spring.profiles.active=local" 2. 운영체제 환경 변수: "SPRI..
개요 Graylog 클러스터를 클라우드 환경에 셋업하기 위해 도커 베이스 이미지를 생성하고, 환경 변수를 작성하는 방법을 정리하였다. 아키텍쳐 MongoDB, OpenSearch, Graylog가 동일한 VPC(또는 VPC 피어링 연결)에 존재해야 한다. 실시간으로 수신되는 로그를 받을 리스너로 TCP_UDP 12201 포트가 내부의 NLB에서 내부의 Graylog 서비스의 TCP_UDP 12201 포트로 로드 밸린성되어야 한다. 외부에서 브라우저로 웹 인터페이스로 접속할 HTTPS 443 포트가 외부의 ALB에서 내부의 Graylog 서비스의 HTTP 9000 포트로 로드 밸런싱되어야 한다. 사전 조건 Graylog 5.2는 MongoDB 5.0 이상 버전을 요구한다. Amazon DocumentDB는..
개요 Spring Boot에서 특정 빈의 메써드에 지정된 @Scheduled는 특정 시간 또는 주기로 애플리케이션 로직이 실행될 수 있도록 해준다. @Scheduled에서 발생할 수 있는 주요 이슈로, 분산 시스템의 개념이 없기 때문에 애플리케이션을 n개의 멀티 노드에 배포하면 같은 스케쥴 작업이 n개 노드에서 동시에 실행된다는 단점이 있다. 어떤 상황에서는 특정 스케쥴 작업이 반드시 1개 노드에서만 실행되어야 하는 경우가 있는데, 이번 글에서 소개할 SchedLock 라이브러리를 이용하면 특정 작업 실행시 락을 생성하여 다른 인스턴스에서는 해당 작업의 실행을 무시하도록 설정할 수 있다. DynamoDB 테이블 생성 ShedLock은 락 정보를 저장할 테이블로 여러 저장소를 지원한다. 이번 글에서는 Dy..
개요 Kotin + Spring Boot + JPA 기반 프로젝트에서 MySQL에 CRUD를 수행하기 위한 기본 설정 방법을 정리했다. Spring Data JPA, Infobip Spring Data Querydsl, AWS JDBC Driver for MySQL을 사용했다. build.gradle.kts 프로젝트의 /build.gradle.kts에 아래 내용을 추가한다. (Spring Initializr에서 Gradle - Kotlin 선택 후 Spring Data JPA 의존성만 추가한 프로젝트를 기준으로 추가 내용만 작성했다.) val springBootVersion by extra { "3.2.1" } buildscript { val kotlinVersion = "1.9.21" dependenc..
- Total
- Today
- Yesterday
- JavaScript
- jsp
- 알뜰폰
- Kendo UI
- 평속
- 자전거
- spring
- graylog
- 로드바이크
- Spring Boot
- DynamoDB
- 로드 바이크
- node.js
- Spring MVC 3
- Tomcat
- CentOS
- 구동계
- Eclipse
- java
- JHipster
- bootstrap
- 태그를 입력해 주세요.
- Docker
- kotlin
- Kendo UI Web Grid
- jpa
- maven
- chrome
- MySQL
- jstl
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |