본문 바로가기

반응형

분류 전체보기

(482)
[spring boot 설정하기-22] spring cloud sleuth와 zipkin 설정 및 테스트 소스 1. 개요 MSA는 잘게 쪼개어 개발되면서 서비스간에 연결이 많아지고 복잡해지게 됩니다. 분산 된 서비스의 상태를 한 곳에서 실시간으로 체크하는 이슈만큼이나 로그를 한 곳에서 실시간으로 체크하는 이슈도 중요합니다. 시스템 내에서 여러 서비스간에 많은 호출이 발생하면서 한번의 트래픽이 어디서부터 어디까지 가는지에 대한 트래킹이 필요합니다. 로그 중앙집중식 외부화가 필요한 이유는 디스크에 기록된 로그는 컨테이너가 재기동되면서 사라지므로 로그 파일을 로컬 장비 디스크에 기록하는 방식을 취해서는 안됩니다. 컴포넌트 로그 스트림 : 로그 생산자가 만들어내는 로그 메시지의 스트림 로그 적재기 : 서로 다른 로그 생산자나 종단점에서 나오는 로그 메시지 수집하여 DB, 대시보드, 스트림 처리기로 보내는 등 다른 종단점..
[spring boot 설정하기-21] spring cloud gateway(2) 설정 및 테스트 소스 지난번 포스팅에서는 이론에 관한 정리를 했고 이번 포스팅에는 구현에 관해 포스팅 하도록 하겠습니다. 1. Cloud Config Server 및 설정 아래 설정은 예시이며 search-path 구성파일 찾을 경로에 gatewayserver를 추가합니다. search-paths: member-service, eurekaserver, gatewayserver # 구성파일 찾을 폴더 경로 bootstrap.yml #bootstrap.yml spring: application: name: configserver cloud: config: server: encrypt: enabled: false # Config Server에서 복호화 비화성화 git: ignore-local-ssh-settings: true ur..
[spring boot 설정하기-20] spring cloud gateway(1) 설정 및 테스트 소스 1. 개요 Spring Cloud Gateway(SCG) spring cloud gateway(scg)는 API Gateway 중 하나로 API 라우팅 및 보안, 모니터링/매트릭 등의 기능을 제공합니다. 유입되는 모든 요청과 응답에 대한 인증과 보안을 적용 URI에 따라 서비스 엔드포인트를 다르게 하는 동적 라우팅이 가능 : 도메인을 유지하고 레거시를 신규 시스템으로 교체 모든 트래픽에 대한 모니터링 시스템 구성 : 로깅 동적 라우팅이 가능하여 신규 스팩을 서비스 일부에만 적용하거나 점진적으로 확장하여 테스트 가능 Spring Cloud LoadBalancer가 포함되어 있다. Spring Cloud Zuul과의 차이점 Zuul은 zuul1과 zuul2로 구분됩니다. zuul1는 서블릿 프레임워크 기반으..
[git] commit 한 author 변경(작성자 변경) 방법 git으로 버전과리를 하고 커밋 단위별로 관리되기 때문에 누가 작성했는지는 굉장히 중요합니다. git을 사용하다보면 작성 내용이나 작성자를 변경하고 싶은경우가 있거나 커밋 이력을 제거하고 싶을 때 사용하는 방법입니다. 커밋만 했을 경우와 푸시까지 했을 경우에는 차이가 있습니다. commit만 했을 경우 아래 명령어로 변경할 수 있습니다. > git commit --amend --author="otrodevym@gmail.com" push까지 했을 경우 로컬과 원격지에 이미 반영되어 있고 잘못 커밋한 내역도 없애고 싶은 경우에는 rebase를 이용합니다. 1. 변경할 커밋 바로 이전의 커밋 해시값 찾기 git log로 커밋 내용과 해시값을 확인합니다. 예를 들어 commit 2f69a1daebea2dfab..
[Lombok] gradle(+spring test)에서 사용하는 방법 상황 lombok이 추가된 상태인데 '@RequiredArgsConstructor'를 찾을 수가 없다는 오류가 발생했습니다. 문제 파악 테스트 환경에서는 추가되도록 gradle이 설정되어 있지 않았습니다. 해결 방법 테스트 환경에서도 추가될 수 있도록 수정했습니다. testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok'
[spring boot 설정하기-19] spring properties(+jasypt) 암호화 설정 및 테스트 소스 개발 환경 정보와 같은 노출되면 안되는 민감한 정보를 암호화하고 OS 환경변수로 등록하는 방법을 포스팅합니다. 관련 정보는 아래 사이트에서 확인할 수 있습니다. github.com/ulisesbocchio/jasypt-spring-boot 1. 의존성 추가 버전을 명시하지 않으면 의존 주입이 안되어서 implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.3' 2. JasyptConifg.java spring 구동 시 암복호화 설정 주입을 합니다. package com.otrodevym.dm.config; import org.jasypt.encryption.StringEncryptor; import org.jasypt.encrypt..
[spring boot 설정하기-18] spring cloud eureka(2) 설정 및 테스트 소스 지난번 포스팅에서는 이론에 관한 정리를 했고 이번 포스팅에는 구현에 관해 포스팅 하도록 하겠습니다. 1. Eureka Server 패키지 구조는 아래와 같습니다. 1-1. 의존성 추가 이전에 작성한 cloud config와 연동하기 위해서 추가적으로 의존성을 넣었습니다. dependencies { // cloud config implementation 'org.springframework.boot:spring-boot-starter-amqp' implementation 'org.springframework.cloud:spring-cloud-bus' implementation 'org.springframework.security:spring-security-rsa' implementation 'org.sp..
[spring boot 설정하기-17] spring cloud eureka(1) 설정 및 테스트 소스 동적으로 변하는 클라우드 환경에서 클라이언트가 여러개의 서비스 인터스턴스 중에서 원하는 인스턴스를 호출할 수 있도록 IP / Port / Instance ID를 보유하는 REST 기반 미들웨어 서버로 Service Registry입니다. 개요 AWS ELB(Elastic load Balancer)가 서버 사이드 디스커버리 패턴의 좋은 예입니다. 용어 Service Registration : 서비스가 자신의 정보를 Eureka 서버에 등록 Service Registry : 등록된 서비스들의 정보 목록 Service Discovery : 클라이언트가 요청을 보내려는 대상을 Service Registry를 통해 발견 구성 https://github.com/Netflix/eureka/wiki/Understand..

반응형