Spring

· Spring
이 전 블로그 글에서 Spring Boot 프로젝트를 생성하고 Prometheus와 연동까지 해봤다. 이제 Grafana를 연동해 시각화를 해보자. Grafana 설치 및 사용 Grafana 역시 도커로 설치하겠다. docker run -d -p 3000:3000 --name grafana grafana/grafana 설치 후 컨테이너가 실행됫으면 http://localhost:3000에 접속해보면 grafana 홈페이지에 접속될 것 이다. 초기 로그인은 admin/admin으로 접속해 비밀번호를 바꾸면 된다. 이제 Data source를 추가해 Prometheus와 연동해보자 전 블로그 글에서 접속했던 http request들이 확인되면 정상적으로 연동이 된 것이다. 전체 코드는 아래 GitHub에서 ..
· Spring
Prometheus, Grafana에 대한 것은 이전 블로그글에서 확인하면 된다. Spring Boot Project 생성 및 설정 Spring Boot Project(Gradle)를 생성하고 build.gradle에 의존성을 주입해준다. dependencies { ... implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'io.micrometer:micrometer-core' implementation 'io.micrometer:micrometer-registry-prometheus'..
· Spring
프로젝트 중 모니터링 시스템을 구현해보려고 한다. Prometheus + Grafana를 이용해 Spring Boot 애플리케이션을 모니터링 해 볼 것이다. 모니터링 시스템은 너무많은 종류가 있어서 본인이 사용하고 싶은것으로 사용해도 좋을듯하다. 추후에는 cAdviser도 연동해 컨테이너 모니터링까지 해볼 예정이다. 먼저 Prometheus, Grafana가 무엇인지 간단하게 알고 가자. Prometheus Prometheus는 SoundCloud사에서 만든 오픈소스 시스템 모니터링 및 경고 툴킷이다. 지금은 독립형 오픈소스 프로젝트이며 많은 회사들이 사용 하고 있고, 또한 kubernetes에서도 Prometheus를 사용하여 매트릭 수집 및 대시보드 구축하는 방식을 장려하고 있다. Jobs/expor..
· ETC
금융보안원, Apache Log4j2 취약점 긴급 점검 회의 개최 금융보안원(원장 김철웅)은 12월 12일(일) 김철웅 원장이 주재하는 금융권 Apache Log4j2 취약점 긴급 점검 회의를 개최해 금융권에 미치는 영향 등을 분석하고 금융보안원의 대응 상황을 점검했 www.boannews.com 홈페이지 기록 남기는 '로그4j2'서 취약점 발견…과기정통부 "긴급 보안패치 권고" 사진=픽사베이 많은 기업들이 홈페이지를 운영하며 사용하는 아파치(Apache) 로그(Log)4j 2 서비스와 관련된 보안 취약점이 발견된 가운데 정부가 긴급 보 www.bloter.net 애플·아마존도 사용하는 애드온 Log4j, 중대한 보안 결함 사태 발생 - CCTV뉴스 전 세계 주요 인터넷 서비스에서 널리 사용되는 Log4..
· Spring
FCM란? Firebase 클라우드 메시징(FCM)은 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션이다. 간단히 말해서 무료로 웹, 앱에 푸시를 보낼 수 있는 플랫폼이다. 사용법 Firebase console에 접속해 프로젝트를 생성한다. 프로젝트 설정 -> 서비스 계정 -> 새 비공개 키 생성 다운받은 비공개 키를 resources 하위로 이동 Firebase의존성 추가 dependencies { ... // Firebase SDK implementation 'com.google.firebase:firebase-admin:6.8.1' ... } 엔드포인트 확인 프로젝트 설정 -> 일반에 프로젝트 ID를 확인할 수 있을것이다. 요 프로젝트 ID를 서버 엔드포인트에 넣어줄것이다. 엔..
· Spring
@Null / @NotNull 값이 null이거나(@Null) Null이 아닐때(@NotNull)를 검증한다. @NotNull로 설정 시 String의 ""(빈값) 값도 통과된다는 것을 주의하자. @Min(value) / @Max(value) 숫자(정수)를 입력하는 필드에서 입력 가능한 값의 최솟값(@Min)과 최댓값(@Max)을 설정한다. 예) @Min(100), @Max(99999) @DecimalMin(value) / @DecimalMax(value) 이것도 최솟값(@DecimalMin), 최댓값(@DecimalMax)을 설정하지만 정수가 아닌 BigDemical이나 BigInteger 객체 또는 String 값으로 숫자를 설정하는 경우에 사용한다. @Min, @Max도 String 값이나 Deci..
· AWS
Simple Queue Service 소개 및 사용법(1/2) Simple Queue Service(SQS)란 ? 분산 시스템를 구성할때 시스템간 메세지를 주고 받을 수 있는 메세지 큐 SQS는 전송,수신,삭제 3가지 기능을 제공한다. SQS의 기본적인 아키텍처 Producer가 메시지 전송 devbksheen.tistory.com 앞서 AWS Simple Queue Service(SQS)에 대해 알아보았다. 이제 Spring Boot에 적용해보겠다. IAM 권한 추가 AWS 콘솔에 로그인 후 IAM 서비스로 이동한다. 생성된 사용자가 없다면 생성 후 AmazonSQSFullAccess 권한을 추가한다. 해당 사용자의 access key와 secret key를 코드상에 적용해야 하므로 복사해둔다. SQS..
· Spring
사이드 프로젝트를 만들며 소셜 로그인의 OAuth2.0 인증방식을 개발해보려고 한다. 인터넷에 소개되어있는 블로그 글들은 서칭 후 코딩해보고 정리하였다. 카카오, 네이버, 구글만 구현할것인데 나머지 소셜들도 대부분 비슷하다고 보면 된다. OAuth2.0란? 아래글 참조 OAuth2(Open Authentication2) OAuth2란? 다양한 플랫폼 환경에서 인증 및 권한 부여를 위한 표준 프로토콜 OAuth 방식이 등장하기 전에는 다른 서비스의 리소스를 가져오기 위해서는 다른 사이트의 ID와 PW를 직접 입력받아 저장 devbksheen.tistory.com 1. Build Setting build.gradle Spring Boot는 2.3.1.RELEASE 버전을 사용했다. plugins { id '..
· Spring
Spring Cloud Config란? 각 Application의 설정 파일(property, yum...)을 저장하고 Config Server를 통해 전달해주는 구조 분산 시스템에서 설정 파일을 외부로 분리할 수 있도록 해준다. 그림 처럼 설정 파일의 저장소는 Git이 될수도 있고 서버상의 저장할수도 있다. 실행 중인 Application이 Config Server에서 설정 정보를 받아와 갱신하는 방식이다. 즉 실행 중에 설정값 변경이 필요해지면, 설정 서버만 변경하고 애플리케이션은 갱신하도록 해주기만 하면 된다. 따라서 설정이 바뀔 때마다 빌드와 배포가 필요 없는 구조이다. 구현 예제 Config Server를 구축하고 Client Server에서 설정값을 받아와 DB연결까지 구현해 보았다. 이번 예..
· Spring
log4j(Log For JAVA)란? Java 기반 Logging 유틸리티로써 debug용 도구로 주로 사용된다. 애플리케이션에 문제 발생 시 문제의 위치를 빠르고 정확히 파악하기 위해 사용한다. 또한 성능 및 속도에 영향을 미치지 않고 편리하게 사용할 수 있다. log4j의 특징 속도 최적화 thread-safe 하다. 즉, 멀티스레드 환경에서도 안전 properties 파일과 xml 형식으로 실행 중 수정 적용 가능 5단계의 레벨의 장애를 사용(DEBUG < INFO < WARN < ERROR
beekei
'Spring' 태그의 글 목록 (3 Page)