spring을 이용한 MSA 구축 –

쉬운 목차

기술 선택

스프링 클라우드 게이트웨이 대 Zuul

일반적으로 Spring은 다중 게이트웨이를 지원합니다. 두 가지가 있는데 하나는 zuul이고 하나는 Spring Cloud Gateway입니다. 둘 사이의 가장 큰 차이점은 하나는 동기식이고 다른 하나는 비동기식이라는 것입니다. 비동기 방식은 동기 방식의 고정 스레드를 처리하지 못하기 때문에 요청이 적은 많은 작업의 게이트웨이에 잘 맞기를 원했습니다. 그리고 개인적으로 내 사역을 필터에 추가할 수 있어서 편리했습니다.

자바 대 코틀린

저는 이전 회사와 현재 회사 모두에서 Java 전용 사용자입니다. 그런데 webflux를 쓰려고 리액터를 조사했는데 가독성이… js 그러면… 이것보다 더 아찔한 경험이 있어서 나중에 찾아보니 코틀린에 코루틴이라는 눈에 띄는 기능이 있었다. 그래서 너무 좋아보여서 선택했어요.

jdbc(JPA) 대 r2dbc

사실 그것이 첫 번째 질문이었습니다. 위에서 mvc도 쓰레드라서 Spring은 Webflux용 비동기 기반으로 만들어서 푸시하지만 jdbc도 결국 커넥션 풀 기반이다. 이를 해결하는 방법은 r2dbc입니다. 이것은 orm이 아니므로 CrudRepository 클래스에서만 수행할 수 있다는 것을 알고 있습니다. 개체 간에 연결이 없습니다. 다만 여기에 올릴 테이블은 실제 인증과 관련된 테이블이 적고 많지 않아서 선택했습니다.

우선, 첫 번째 챕터는 기본적인 기술 설명에 대해서만 설명했습니다. 다음에 무엇을 하는지 봅시다.