코틀린 마이크로서비스 개발 - 후안안토니오
- 22 Mar 2019 / 22 Mar 2019
- Microservices, Kotlin, reading, reading 2019
[ Edit ]
links
- Microservices의 이해
- 1.1 Microservices란 무엇인가
- ..
- SoA와 Microservices의 차이점: “Microservices SoA지만 모든 SoA가 Microservices는 아니다.”
- ..
- 1.2. Microservices 원칙
- 설계 원칙 정의
- 비즈니스 역량 중심 모델
- 느슨한 결합
- 단일 책임
- 구현 은닉
- 격리
- 독립적인 배포 가능
- 장애를 고려한 빌드:업스트림, 다운스트림, 로깅, 모니터링, 경고, 복구, 폴백
- 확장성
- 자동화
- 1.3. 도메인 주도 설계
- ..
- Microservices에서 DDD 사용하기
- a.Bounded Context: 하나 이상의 경계된 컨텍스트를 포함하는 Microservice를 만들지 말아야
- b.Ubiquitous Language: Microservices가 사용하는 언어가 유비쿼터스 언어임을 보장해야하므로 노출된 Operation과 Interface는 Context Domain Language로 표현된다.
- c.Context Model:
- d.Context Mapping
- 1.4. Reactive Microservices
- ..
- Reactive 선언문: 응답성, 복원성, 탄력성, 메시지 기반, 배압
- Reactive Frameworks: 리액티브 익스텐션, 프로젝트 리액터, 자바 리액티브 스트림, 아카
- ..
- 1.5. Cloud Native Microservices
- ..
- 배포 모델: Private, Public, Hybrid
- Spring Boot 2.0 시작하기
- RESTful Service 만들기
- Reactive Microservices 만들기
- 4.1. Spring WebFlux 이해
- 4.2. Reactive Services 만들기
- 4.3. Functional Web Programming 사용하기
- Router Function
- Handler
- Reactive Service
- 다중 경로
- JSON 본문 처리
- 4.4. Reactive 오류 처리하기
- ..
- Reactive Spring Data
- 5.1. NoSQL.. Mongo DB
- 5.2. Spring Data
- 5.3. Reactive Repository
- 5.4. RESTful API for CRUD
- Cloud Native Microservices 만들기
- 6.1. Spring Cloud의 이해
- Cloud Native Programming이란 무엇인가
- Spring Cloud Architecture: Config Server, Service 탐색, Load Balancer, Gateway, Circuit Breaker
- Spring Cloud Netflix
- Spring Cloud Microservices 만들기
- 6.2. Config Server
- 6.3. Service Discovery
- 6.4. Gateway: 만들기, Router 정의
-
Docker 만들기
- Microservices 확장
- 8.1. 확장 가능한 Architecture
- 8.2. Cloud 만들기: 스웜 만들기, …
- 8.3. Microservices를 Service로 Publish: Registry 만들기, Microservice 만들기, Docker 만들기, Service 만들기
- 8.4. Service 제어하기
- ..
- Spring Microservices Test
- .. MockMvc 사용하기
- ..
- Fluent Test.. Kluent
- Microservice Monitoring
- ..
- 10.2. Spring Boot Actuator
- 10.3. JMX
- Microservice 배포
- ..
- .. Github upload
- .. 오픈시프트에 게시
- 모범 사례
- 12.1. Kotlin 관용구: 타입추론, 표현식, 기본매개변수, 람다
- 12.2. Spring Context 관리: 생성자 주입, 명시적 컨텍스트 설정, 서비스 분리
- 12.3. Application 계층화
- 12.4. 효과적인 테스트
- 12.5. CI/CD 처리