Microservices 란? 각각의 서비스에 대한 관심사에 따라 하나의 서버는 하나의 관심사를 갖고 서비스들이 모여 하나의 커다란 궁극적 서비스를 이루는 아키텍처 Cloud Native Architecture Cloud Native Architectrue 4가지의
Spring Cloud Netflix Eureka 우리가 만든 Microservice 는 Spring Cloud Netflix Eureka 에 등록을 해야한다. Eureka 가 해주는 역할을 ServiceDiscovery 라고 한다. 일종의 전화번호부 책이라고 생각하면
사용자가 설정한 라우팅 설정에 따라서 각각 엔드포인트로 클라이언트 대신에 요청하고 응답을 받으면 클라이언트에 전달하는 프록시 역할인증 및 권한 부여서비스 검색 통합응답 캐싱속도 제한 , 부하 분산로깅 , 추적 , 상관관계IP 허용 목록에 추가RestTemplateFei
CATALOG-SERVICE(상품조회 , 상품 수량 업데이트) , USER-SERVICE(사용자 조회 , 주문확인) , ORDER-SERVICE (상품 주문 , 주문 조회)\-> 로그인 , 회원가입 모두 해본다.상품 수량 업데이트를 할 때는 kafka 를 이용해본다.\
지금까지는 포트번호를 일일이 확인하고 Postman 에 그 포트번호로 바꾸고 요청을 보냈어야 했다.하지만 API Gateway Service 에 등록을 하면 포트번호에 상관없이 유레카서버의 이름으로 접근할 수 있기 때문에 훨씬 편하다.yml 파일에 routes 에 정보
해당 예제에서 로그인을 하기 위해서 email , password 를 넘긴다.응답으로는 userId , JWT 를 반환하도록 구현RequestLogin - 사용자 로그인 정보를 저장하기 위한 클래스AuthenticationFilter - pringSecurity 를 이
지금까지 E-commerce 에 필요한 서비스들을 만들어봤다.지금부터 각각의 서비스의 application.yml 파일에 내용이 변경될 때 애플리케이션 자체를 빌드 , 배포를 해야하는 단점을 해결해보자.이러한 문제를 해결하기 위해서는 애플리케이션 내에서 구성 파일을 가
Actuator refresh 는 만약 변경 사항이 있을때 모든 MS 가 refresh 를 해야하는 번거로움이 있었다.Spring Cloud Bus 는 그러한 번거로움을 해결할 수 있다.분산 시스템의 노드를 경량 메시지 브로커와 연결여기서 노드는 Microservice
Synchronous HTTP communication\-> 동기 방식 : 요청이 들어오면 이 요청이 끝날때까지는 다른 클라이언트의 요청은 받지 않는다.Asynchronous coomunicatino over AMQP\-> 비동기 방식 : 순차적으로 하는게 아니라 연결
링크드인에서 Kafka 를 개발하던 엔지니어들이 Kafka 개발에 집중하기 위해 Confluent 라는 회사 창립실시간 데이터 피드를 관리하기 위해 통일된 높은 처리량 , 낮은 지연 시간을 지닌 플랫폼 제공Apple , Netflix , kakao , Uber 등 다양
order-service 에서 주문을 하게 되면 catalog-service 에서는 주문 수량이 그만큼 감소를 해야한다.기본적인 Front-Back 방식에서는 공통의 DB 를 사용기 때문에 Table 을 공유해서 상관이 없다.하지만 Microservice 를 사용하면서
Microservice 끼리 통신하기 위해서 RestTemplate , FeignClient 를 사용했었다.user-service 에서 order-service 를 호출할 때, order-service 서버 안에서 문제가 발생한다면 호출 자체가 되지 않아서 오류가 발생
컨테이너 가상화 Virtualization 물리적인 컴퓨터 리소스를 다른 시스템이나 애플리케이션에서 사용할 수 있도록 제공 -> 플랫폼 가상화 -> 리소스 가상화 하이퍼바이저 (Hypervisor) -> Virtual Machine Manager (VMM) -> 다수
그동안 만들었던 Microserivce 나 Microserivce 를 지원하는 시스템들 중에서 어떤 것들이 배포 대상이 되는지, 배포 방법을 알아보고 직접 배포까지 해보자. 애플리케이션 배포 구성 배포 방법 Docker + Local JAR file + Local
zipkin.io 에 들어가보면 quickstart 에서 Docker 부분을 보면 컨테이너로 바로 실행할 수 있는 명령이가 있다.docker run -d -p 9411:9411 openzipkin/zipkin여기에 --network , -name 만 넣어주면 된다.do