분류 전체보기202 Spring Cloud Gateway - Load Balancer Eureka 연동 first-service, second-service, Spring Cloud Gateway spring-cloud-starter-netflix-eureka-client 의존성 추가 eureka 서버 등록 application.yml - GatewayService uri 변경 First Service, Second Service를 각각 2개씩 기동 Intellij에서 포트를 변경해서 서버를 기동 하는법 VM Options -> -Dsever.port=[다른포트] ./gradlew bootRun --args='--server.port=[다른포트]' # gradle mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=[다른포.. 2021. 8. 25. API Gateway Service API Gateway Service 서비스로 전달되는 모든 API요청의 관문(Gateway) 역할을 하는 서버 시스템의 아키텍처를 내부로 숨기고 외부의 요청에 대한 응답만을 적절한 형태로 응답 클라이언트는 서비스를 호출하는 게 아닌 API Gateway에 서로 약속한 형태의 요청만 보내면 됨\ 장점 인증 및 권한 부여 단일 작업 서비스(마이크로 서비스) 검색 통합 응답 캐싱 정책, 회로 차단 및 Qos 다시 시도 속도 제한 부하 분산(로드 밸런싱) 로깅, 추적, 상관관계 더보기 클라이언트의 요청을 일괄적으로 처리 전체 시스템의 부하를 분산시키는 로드 밸런서의 역할 동일한 요청에 대한 불필요한 반복 작업을 줄일 수 있는 캐싱 시스템상을 오고 가는 요청과 응답에 대한 모니터링 시스템 내부에 아키텍처를 숨길 .. 2021. 8. 25. Service Discovery ServiceDiscovery 클라우드에서 인스턴스는 동적으로 할당되기 때문에 IP주소나 포트 정보가 정해지지 않은 데다가 오토스케일링도 일어나고 중지되고 복구되면서 네트워크 위치가 계속해서 바뀌게 됨 클라이언트나 API게이트웨이가 호출할 서비스를 찾는 메커니즘이 필요한데 이런 메커니즘을 서비스 디스커버리(Service Discovery)라고 함 서비스 또는 서버의 위치를 파악해줌 등록, 검색을 해줌 Spring Cloud Netflix Eureka Eureka(유레카)란 로드밸런싱과 Midlle-tier server(Client와 Application server 사이) 장애시 장애 조치 처리를 목적으로 한 REST 기반 서비스다.(넥플릭스에서만듬) 서비스 디스커버리의 역할을 하는데 좀 더 자세히 말하.. 2021. 8. 24. 무중단 배포 CI/CD를 구축 하고 자동 배포시 새로운 Jar가 실행 되기 전까지 기존 Jar를 종료 시키기 때문에 서비스가 중단된다. 무중단배포 방식 AWS에서 블루 그린(Blue-Gren) 무중단 배포 도커를 이용한 웹서비스 무중단 배포 엔진엑스(Nginx)를 이용한 무중단 배포 엔진엑스란? 웹 서버, 리버스 프록시, 캐싱, 로드 밸런싱, 미디어 스트리밍 등을 위한 오픈소스 소프트웨어 외부의 요청을 받아 백엔드 서버로 요청을 전달하는 리버스 프록시 리버스 프록시 서버(엔진엑스)는 요청을 전달하고 실제 요청에 대한 처리는 백단의 웹 애플리케이션 서버들이 처리 엔진엑스의 구조 EC2 혹은 리눅스 서버에 엔진엑스 1대와 스프링 부트 Jar를 2대 사용 엔엑스는 80(http), 443(https) 포트를 할당 스프링 .. 2021. 8. 24. Restful API REST란? Resouce의 Representaion(표현)에 의한 상태(자원의 상태를) 전달 HTTP Method(POST, GET, PUT, DELETE)를 통해 Resource를 처리하기 위한 아키텍처 REST 구성 요소 자원(Resource) - HTTP URI 자원에 대한 행위 (Verb) - HTTP Method 자원에 대한 행위의 내용 (Representation) - HTTP Message Pay Load REST의 특징(아키텍처에 적용되는 6가지 제한 조건) Uniform(유니폼 인터페이스) : HTTP 표준에만 따른다면, 안드로이드/IOS 플랫폼이든, 특정 언어나 기술에 종속되지 않고 모든 플랫폼에 사용이 가능하며, URI로 지정한 리소스에 대한 조작이 가능한 아키텍처 스타일 State.. 2021. 8. 23. Travis CI 배포 자동화 CI/CD 란? 코드 버전 관리를 하는 VCS 시스템(Git, SVN 등)에 PUSH가 되면 자동으로 테스트와 빌드가 수행되어 안정적인 배포 파일은 만드는 과정을 CI(Continuous Integration - 지속적 통합)한다 이 빌드 결과를 자동으로 운영 서버에 무중단 배포까지 진행되는 과정을 CD(Continuous Deployment - 지속적 배포)라고 한다 마틴 파울러의 CI에 대한 4가지 규칙 Continuous Integration (original version) A long-form article entitled: "Continuous Integration (original version)" martinfowler.com 모든 소스 코드가 살아 있고(현재 실행되고) 누구든 현재의 소스.. 2021. 8. 23. 이전 1 2 3 4 5 6 7 8 ··· 34 다음