쿠버네티스에 마이크로서비스 배포
16. 쿠버네티스에 마이크로서비스 배포 쿠버네티스는 서비스 객체와 kube-proxy 기반의 검색 기능을 내장 넷플릭스 유레카와 같은 별도의 검색 서비스는 필요 X 쿠버네티스의 검색 서비스를 사용하면 넷플릭스 유레카와 함께 사용한 넷플릭스 리본과 같은 클라이언트 라이브러리가 필요 X 넷플릭스 유레카 기반의 검색 서버를 쿠버네티스로 대체하려면 소...
16. 쿠버네티스에 마이크로서비스 배포 쿠버네티스는 서비스 객체와 kube-proxy 기반의 검색 기능을 내장 넷플릭스 유레카와 같은 별도의 검색 서비스는 필요 X 쿠버네티스의 검색 서비스를 사용하면 넷플릭스 유레카와 함께 사용한 넷플릭스 리본과 같은 클라이언트 라이브러리가 필요 X 넷플릭스 유레카 기반의 검색 서버를 쿠버네티스로 대체하려면 소...
15. 쿠버네티스 소개 쿠버네티스 개념 소개 쿠버네티스는 컨테이너를 실행하는 서버 클러스터를 하나의 커다란 논리 서버로 만드는 컨테이너 오케스트레이션 쿠버네티스 클러스터의 주요 목적 중 하나는 컨테이너를 배포 및 실행하면서 불루/그린 배포나 카나리아 배포 등의 기술을 사용해 무중단 롤링 업그레이드를 지원하는 것 쿠버네티스는 하나 혹은 다수의 컨...
14. 분산 추적 스프링 클라우드 슬루스와 집킨을 사용한 분산 추적 전체 워크플로에 대한 추적 정보는 추적(trace) 혹은 추적 트리(trace tree)라고 부름. 기본 작업 단위라고 할 수 있는 트리의 일부분은 스팬(span) 스프링 클라우드 슬루스는 HTTP를 이용하는 동기 방식이나 RabbitMQ, 카프카 등의 메시지 브로커를 이용하는...
13. Resilience4j를 사용한 탄력성 개선 Resilience4j의 서킷 브레이커와 재시도 메커니즘 소개 재시도와 서킷 브레이커 메커니즘은 마이크로서비스와 같이 동기 방식으로 연결되는 소프트웨어 컴포넌트에 특히 유용함 서킷 브레이커 소개 서킷 브레이커는 다량의 오류를 감지하며 서킷을 열어 새 호출을 받지 않는다 서킷 브레이커는...
12. 구성 중앙화 스프링 클라우드 컨피그 서버 소개 구성 저장소의 저장 유형 선택 깃 저장소 로컬 파일 시스템 하시코프 볼트 JDBC 데이터베이스 클라이언트가 먼저 접속할 서버 결정 기본적으로 클라이언트는 구성 서버에 먼저 접속해 구성을 검색하며, 구성에 따라 검색 서버에 자기 자신을 등록 또한 클라이언트는 검색 서버에 ...
11. API 접근 보안 OAuth 2.0 및 OpenID Connect 소개 인증은 사용자 이름과 암호 같은, 사용자가 제공한 자격 증명을 확인해 사용자를 식별자를 하는 것 권한 부여는 인증된 사용자, 즉 식별된 사용자에게 여러 API에 대한 접근 권한을 부여하는 것 OAuth2.0은 권한 부여를 위한 공개 표준 OpenID Connecti...
10. 스프링 클라우드 게이트웨이를 에지 서버로 사용 시스템 환경에 에지 서버 추가 외부 클라이언트는 모든 요청을 에지 서버로 보냄 서비스를 에지 서버 뒤로 숨기려면 도커 컴포즈 파일에 있는 두 서비스의 포트 선언을 제거해야 함 스프링 클라우드 게이트웨이 설정 스프링 이니셜라이저로 스프링 부트 프로젝트 생성 s...
9. 넷플릭스 유레카와 리본을 사용한 서비스 검색 서비스 검색 소개 DNS 기반 서비스 검색의 문제 라운드 로빈 방식 DNS를 이용해 검색하면 안 되는 이유?? DNS 클라이언트는 보통 리졸브된 IP 주소를 캐시하며, DNS 이름에 대응되는 IP 주소가 여러 개인 경우에는 동작하는 첫 번째 IP 주소를 계속 사용한다. 따라서 DNS 서버와 ...
8. 스프링 클라우드 소개 스프링 클라우드의 진화 하시코프 컨설과 아파치 주키퍼 기반의 서비스 검색 및 구성 중앙화 스프링 클라우드 스트림을 사용한 이벤트 기반 마이크로서비스 대체 방안 넷플릭스 히스트릭스 -> Resillence4j 넷플릭스 히스트릭스 대시보드/넷플릭스 터빈 -> 마이크로미터 및 모니터링 시스템 넷플릭...
7. 리액티브 마이크로서비스 개발 논블로킹 동기 API와 이벤트 기반 비동기 서비스의 선택 기준 일반적으로 견고하고 확장성 있는 마이크로서비스를 만들려먼 가능한 한 자율적으로 만드는 것이 중요 런타임 의존성을 최소화해야 함 -> 느슨한 결합(loose coupling) 따라서 동기 API 방식보다는 이벤트 기반 비동기 메시지 전달 방식을 ...