-
MSA 와 Log - Sleuth, Open Zipkin 을 이용한 분산추적편
이전 글인 MSA 와 Log - 중앙 집중식 로깅 ELK stack 편 에서 중앙 집중형 로깅 솔루션에 대해 알아보았다. 중앙 집중형 로깅 솔루션을 사용하면 모든 로그를 중앙 저장소에 보관할 수 있지만 여전히 트랜잭션의 전 구간을 추적하는 것은 거의 불가능하다. 이 포스팅에선 위의 문제점을 해결해줄 수 있는 Spring Cloud Sleuth 의 사용법과 로그 시각화를 위한 Open Zipkin 에 대해 알아보도록 한다. Spring Cloud Sleuth 와 Open Zipkin Sleuth 마이크로서비스에 Sleuth 추가 Spring Cloud Sleuth 와 Open...
MSA centralized-log sleuth open-zipkin
juhyun10's profile imagejuhyun10
2021-04-08 13:00
-
MSA 와 Log - 중앙 집중식 로깅 ELK stack 편
이 글은 MSA 에서의 로그 생태계와 중앙 집중식 로깅 솔루션 중 하나인 ELK stack 에 대해 설명합니다. 로그 관리의 난제 중앙 집중식 로깅 로깅 솔루션 종류 클라우드 서비스 내장 가능 (=사내 구축형)한 로깅 솔루션 컴포넌트들의 조합 ELK Stack 이란? Elastic Stack 이란? ElasticSearch, Kibana, Logstash 설치 ElasticSearch 설치 Kibana 설치 Logstash 설치 Springboot에 Logging 설정 Kibana 를 통해 여러 마이크로서비스의 로그를 통합하여 조회 Index 생성 로그 조회 시작하며 MSA 는 복잡한 모놀리식 시스템을 더 작고...
MSA centralized-log elk elasticsearch logstash kibana
juhyun10's profile imagejuhyun10
2021-01-28 13:00
-
GitLab CI/CD Pipeline 구성과 .gitlab-ci.yml
이 글은 GitLab CI/CD Pipeline 과 구성파일인 .gitlab-ci.yml 에 대해 설명합니다. GitLab CI/CD Pipeline 구성 CI/CD 파이프라인 수동 배포 설정 수동 job 실행 시 변수 설정 CI/CD 파이프라인 그룹화 파이프라인 아키텍처 파이프라인 아키텍처 - Basic 파이프라인 아키텍처 - DAG (Directed Acyclic Graph) 파이프라인 아키텍처 - Child/Parent Pipelines 효율적인 파이프라인 구성 파이프라인 스케쥴링 .gitlab-ci.yml 에 대하여 .gitlab-ci.yml job 구성 요소 전역 파라미터 stages include include:local script script: before_script, after_script script: Multi-line commands stage extends rules needs...
devops gitlab gitlab-runner ci cd
juhyun10's profile imagejuhyun10
2020-11-09 10:00
-
Spring Cloud(2) - Spring Cloud Eureka
시작하며 이 포스트는 MSA를 보다 편하게 도입할 수 있도록 해주는 스프링 클라우드 프로젝트 중 Spring Cloud Eureka 에 대해 기술한다. 관련 소스는 github/juhyun10 를 참고바란다. 1.Spring Cloud Config Server - 환경설정 외부화 및 중앙 집중화 2.Eureka - Service Registry & Discovery Service Registry & Discovery (서비스 등록 및 발견) 서비스 동적 등록 및 정보 공유 서비스 동적 발견 상태 모니터링 Eureka 유레카 구축 유레카 서버 구축 유레카 클라이언트 구축 (유레카 서버에 서비스 동적 등록) 서비스...
juhyun10's profile imagejuhyun10
2020-08-26 10:00
-
Spring Cloud(1) - Spring Cloud Config Server
시작하며 이 포스트는 MSA를 보다 편하게 도입할 수 있도록 해주는 스프링 클라우드 프로젝트 중 Spring Cloud Config Server 에 대해 기술한다. 관련 소스는 github/juhyun10 를 참고바란다. 앞으로 연재 방식으로 아래 컴포넌트들에 대해 포스팅을 할 예정이다. 1.Spring Cloud Config Server - 환경설정 외부화 및 중앙 집중화 Spring Cloud Config Server 컨피그 서버 구축 컨피그 서버 셋업 저장소(Git or File) 구현 - File 클라이언트에서 컨피그 서버 접근 컨피그 서버에서 환경설정 변경값 갱신 환경설정 변경 전파 RabbitMQ 설치...
MSA spring-cloud-config-server spring-cloud-bus rabbitmq
juhyun10's profile imagejuhyun10
2020-08-16 10:00
-
Spring Cloud Feign
SpringCloud Feign 이란 MSA (MicroService Architecture) 대해 검토를 하다 보면 분산 시스템에 최적화된 여러 가지 라이브러리들이 소개가 되는데 그 중 하나인 Feign 에 대해 다룹니다. Feign 은 REST 기반 서비스 호출을 추상화해주는 Spring cloud Netflix 라이브러리 Feign을 사용하면 웹 서비스 클라이언트를 보다 쉽게 작성 가능 (코드의 복잡성이 낮아짐) 선언적 방식으로 동작 (아래 예제를 통해 Feign 클라이언트 인터페이스 작성 및 호출 방법을 알 수 있습니다.) 선언적 REST 서비스 인터페이스를 클라이언트 측에 작성 이 인터페이스를 통해 REST...
juhyun10's profile imagejuhyun10
2020-06-18 14:00
-
Springboot Actuator
Springboot Actuator란? 스프링부트 액추에이터란 스프링부트 애플리케이션에서 제공하는 여러가지 정보를 모니터링하기 쉽게 정리해주는 스프링부트 기능이다. 각 인스턴스에 대한 CPU, Memoty, Heap 등을 개별 모니터링하려면 앞이 참 갑갑하다. (저는 그래요..) 하지만 스프링부트 액추에이터는 이러한 정보들을 종합적으로 정리하여 제공해준다. 즉, 스프링부트 애플리케이션을 운영하고 관리하는데 필요한 기능들을 쓰기 쉬운 형태로 제공을 해주는데 어떠한 정보를 제공해주는지 한번 알아보도록 하자. Actuator 설정 스프링부트 액추에이터는 메이븐과 application.properties 추가만으로 간단히 설정이 가능하다. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> management.endpoints.web.exposure.include=* management.endpoint.shutdown.enabled=true 물론 aplication.properties 는 추가로 설정가능한...
springboot-actuator spring-monitoring actuator spring-admin-ui
juhyun10's profile imagejuhyun10
2020-03-26 14:00
-
Java Code Convention
본 code convention 은 Oracle Code Convention을 참고로 하되 약간 변형된 부분이 있음을 알려드립니다. 예) 한 줄 주석과 꼬리주석의 사용법 WHY Code Conventions(코딩 규약)? 1인 개발보다는 여러 명이서 협력하는 경우가 더 많다. 소프트웨어를 직접 개발한 개발자가 해당 소프트웨어의 서비스가 종료될때까지 유지보수를 담당하는 경우는 드물다. 코딩 규약을 지키면 다른 개발자가 소스 코드를 보았을 때 더 빠른 시간안에 이해할 수 있도록 도와준다. 1. 들여쓰기 한 줄의 길이 줄 나누기 2. 주석 블록 주석 한 줄 주석 꼬리...
java coding-guide code-convention
juhyun10's profile imagejuhyun10
2020-01-16 14:00
-
OAuth 2.0
1. 들어가며 이 글은 아래의 순서로 진행됩니다. Oauth의 개념 OAuth 2.0 의 필요성 OAuth 2.0 Roles & Protocol 흐름 OAuth 2.0 많이 들어봤지만 생소하기도 하고… 하지만 생각보다 우리는 OAuth 2.0 를 많이 사용하고 있습니다. 읭?? 난 OAuth인지뭔지 사용한다고 요청한 적도 없고! 본 적도 없는데 !이게 무슨 소리야!! 휴… That’s NONO.. 웹을 사랑하고 게임을 사랑하는 당신은 이미 수도없이 OAuth 2.0을 사용해왔고, 앞으로도 사용할꺼에요. (확신) 그럼 이제 OAuth 2.0이 무엇인지 같이 천천히 알아가봐요. 2. OAuth의 개념 전...
juhyun10's profile imagejuhyun10
2019-10-25 00:00