본문 바로가기

Cloud/MSA

(4)
MSA 교육 정리(4) [1] * Kafka 스케일링: scale in / scale out(축소/확장) -> 아님! 헷갈리지 말기, scale up / scale down(스펙 올리고 / 내리고) * Kafka Partition vs. Consumers - Kafka Topic 생성시, default partition은 1개로 생성된다. - kafka에서 하나의 Partition은 반드시 하나의 Consumer가 매칭되어 메시지를 소비한다. - Partiton 수보다 동일한 Group id를 가진 Consumer 수가 많다면 일부 Consumer들은 partition에 binding되지 못해 message를 Polling 하지 못하는 현상이 일어난다. * Kafka 수동 커밋 - Kafka default 커밋모드는 autoC..
MSA 교육 정리(3) [1], [2] - 서비스 분리에 따른 통합인증을 어떻게 할까? 1. OAuth2.0 1) Authorization Code(권한부여 승인 코드 방식) 2) Implicit(암묵적 승인 방식) 3) ROPC(자원소유자 자격증명 방식) - 실습(1) 4) Client Credentials(클라이언트 자격증명 승인 방식) 2. JWT(Json Web Token) 3parts -> header / payload / signature (ex> aaaaaa.bbbbbb.cccccc) *** Keycloak *** [3] - monolithic micro service 반대되는 개념이다. 1. API를 어떻게 통합 시킬 것인가? - API Gateway -> 진입점 통일 -> URI Path-based Routin..
MSA 교육 정리(2) [1] - 이벤트 스토밍 결과 기반의 Spring-boot 코드의 매핑 관계 Bounded Context --> 단위 마이크로서비스 Event --> Event POJO Command --> RestRepository Aggregate --> Entity (Aggregate Root) Policy --> PolicyHandler 내에 kafka event listener - Read Model(초록): , Issue(보라): 일종의 comment로 반영 안되면 기울이기, 되면 원래대로 Read Model(초록)에 CQRS(Command Query Responsibility Segregation) create, update, delete When~ 에 SET, WHERE 세팅 - Correlation Ke..
MSA 교육 정리(1) [1] - kafka=EDA, eventual transaction=eventual consistency(중요) 잠깐 불일치, but 결국엔 일치 - DDD 이벤트 스토밍(중요) - composition - Keycloak - AKS, ACR / EKS, ECR - polyglot(다형성) - 쿠버네티스의 무정지배포 - Agile - 제프베조스 - CQRS - HTTP/REST vs Asynchronous streaming, message(Kafka) [2] - MSA의 문제점: 분산트랜잭션(데이터 일관성 등) 보장, 여러 서비스의 보안처리, 테스트 복잡도 상승 - cncf.io/projects 졸업한 프로젝트 = 명예의 전당이다 - 장애전파 차단: 1. 서킷브레이커 패턴, 2. EDA(kafka) pu..