API Gateway Service 인증 및 권한 부여 서비스 검색 통합 응답 캐싱 정책, 회로 차단기 및 Qos 속도 제한 부하 분산 로깅, 추적, 상관관계 헤더, 쿼리 문자열 및 청구 변환 IP 허용 목록에 추가 SpringCloud에서의 MSA간 통신 RestTemplate RestTemplate restTemplate = new RestTemplate(); restTemplate.getForObject("http://localhost:8080/", User.class, 200); Feign Client FeignClient라는 마이크로서비스 이름가지고 호출이 가능함. @FeignClient("stores") public interface StoreClient { @RequestMapping(met..
Spring Cloud Netflix Eureka 여러 서버를 띄우기 위해 로컬 환경에서 각자 다른 포트 번호로 실행함 여러 개의 서버를 Service Discovery에 등록 key value 값으로 어떤 서버가 어디에 위치해 있는지 저장해둔다 클라이언트가 요청을 보내면 요청 정보에 따라서 필요한 서비스의 위치를 알려주는 역할 Gradle로 프로젝트 필드 ./gradlew build && java -jar build/libs/user-service-0.0.1-SNAPSHOT.jar User-Service : Load Balancer 인스턴스마다 포트번호를 지정해주기에 한계가 있으므로 랜덤 포트를 사용한다. 랜덤포트로 여러 인스턴스를 띄우면 포트 번호는 각각 여러개가 할당됨 Eureka Applicati..
특징 확장 가능한 아키텍처 시스템의 수평적 확정에 유연 확장된 서버로 시스템의 부하 분산, 가용성 보장 시스템 또는, 서비스 애플리케이션 단위의 패키지(컨테이너 기반 패키지) 탄력적 아키텍처 서비스 생성 - 통합 - 배포, 비즈니스 환경 변화에 대응 시간 단축 분할된 서비스 구조 무상태 통신 프로토콜 장애 격리 특정 서비스에 오류가 발생해도 다른 서비스에 영향을 주지 않음 CI/CD 지속적인 통합 CI 통합 서버, 소스 관리, 빌드 도구, 테스트 도구 지속적 배포 Continuous Delivery Continuous Deployment Pipe line DEVOPS 배포 운영 QA의 교집합 지속적으로 끊임없이 지속배포운영해나가는 것! 서비스 단위를 작은 단위로 나눔으로써, 더 자주 배포 테스트 할 수 ..
안녕하세요? JVM , JRE, JDK의 차이도 설명못하는 자바 개발자가 왔습니다. 스프링부트를 이용해서 프로젝트를 진행하면서 이런것도 모른다고 아빠한테(뻥임) 혼이 났습니다. 며칠간 눈물로 밤을 지새우고 (뻥임) 다시 정신차리고 공부하도록 하겠습니다! 아자자 JAVA 컴파일 언어(번역되는 언어) 개발자가 짠 코드를 미리 번역했다가, 프로그램을 실행할때 번역본을 컴퓨터가 읽는다. JVM (Java Virtual Machine) 각기 다른 OS 마다 실행되는 결과가 다른 문제가 발생 실행할 컴퓨터에 JVM을 설치함으로써, JVM은 해당 컴퓨터 언어의 언어, Java Bytecode를 읽을 수 있다. (Write Once Run Anywhere) 어느 컴퓨터에서 바이트 코드를 돌리려면 JVM이 있다면 가능하..