Spring Cloud Gateway 와 Spring Eureka 를 통해 MSA 환경 구축
·
devops
목표Spring Cloud Gateway 와 Spring Eureka 를 통해 MSA 환경 구축한다.과정Spring Cloud Gateway 리소스(프로퍼티) 설정 변경... routes: - id: user-route uri: lb://user-service predicates: - Path=/userseureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: ${EUREKA_SERVICE_URL}docker compose 파일 변경 scg-proxy: image: lgcns-sc-gateway:1.2.4 ports: -..
SPRING GATEWAY 를 이용한 MSA( 멀티 서비스, 멀티 서버 구현하기)
·
devops
목표스프링 게이트웨이를 활용한 MSA 환경을 구축해본다.과정nginx 서버를 유지한 상태로 spring 서버 두기스프링 서버 도커 이미지 준비도커파일FROM amazoncorretto:17-alpine AS builderWORKDIR /appCOPY gradlew ./COPY gradle ./gradleCOPY build.gradle settings.gradle ./RUN ./gradlew dependencies --no-daemon || trueCOPY src ./srcRUN ./gradlew clean bootJar -x test --no-daemonFROM amazoncorretto:17-alpineWORKDIR /appCOPY --from=builder /app/build/libs/*.jar ap..
GW LB 를 이용한 무중단 배포(업데이트)
·
devops
목표게이트웨이(GW) 와 로드밸런서(LB)를 활용하여 무중단 배포(업데이트)를 실습한다.과정초기 구성 변경nginx-proxy 직접 배포 실습에서 뒷 단의 서버를 한 대에서 두 대로 늘린 후 해당 실습을 진행한다.nginx 설정 파일 변경upstream blog\_servs{ server awsgoo-blog-1:80; server awsgoo-blog-2:80; # 이 부분 추가 }도커 컴포즈 파일 변경deploy: mode: replicated replicas: 2 # 1에서 2로 변경현재 아키텍처 구성$ docker container lsCONTAINER ID IMAGE COMMAND CREATED STATUS ..
nginx-proxy 이미지 없이 docker compose 를 활용하여 직접 MSA 구성
·
devops
목표nginx-proxy 이미지 없이 docker compose 를 활용하여 직접 MSA 구성한다.과정docker compose 구성기존 docker compose 을 복사하기cp compose.yaml ../manual_lb/docker compose 파일 수정version: '3.8'name: awsgooservices:nginx-proxy: # image: nginx/nginx-proxy: 기존 이미지 제거 build: ../../docker_file/nginx # volumes: 도커 데몬과 통신할 수 있는 소켓 마운트 X -> 내가 직접 만든 이미지는 docker gen 의 프로그램이 없기 때문에 필요 없음 # - /var/run/docker.sock:/tmp/docker.sock:ro po..
docker 를 활용하여 직접 msa 구성
·
devops
목표docker 를 활용하여 직접 msa 를 구성해본다.과정1. nginx 이미지 준비DockerfileFROM nginxCOPY default.conf /etc/nginx/conf.d/default.confdefault.confupstream blog_servs{ server myblog-1:80; server myblog-2:80; # server myblog-3:80;}server{ listen 80; location /{ proxy_pass http://blog_servs; }}2. blog 서비스 구동어제 실습 과 똑같기 때문에 패스한다.3. nginx 컨테이너 구동docker run -d -p 9050:80 --name nginx_lb_1 --lin..
docker compose 를 이용한 서비스 디스커버리 및 scale out - in
·
devops
목표docker compose 를 이용한 서비스 디스커버리 및 scale out - in 을 진행한다.과정웹 서버 설정웹 서버를 위한 Dockerfile 작성# https://docs.docker.com/engine/reference/builder/FROM httpd:2.4.57 # 아파치 기본 웹 서버RUN ["apt-get", "update"] # 참고로, RUN 과 CMD 의 차이는 RUN 는 도커 빌드 과정에서 실행되는 명령, CMD는 도커 이미지 실행 시 실행되는 명령# codeRUN ["apt-get", "install", "-y", "git"]RUN ["git", "clone", "https://github.com/dMario24/dMario24.github.io.git", "/usr/lo..