-
spring을 이용한 MSA 구축 - spring cloud gateway - 1spring 2023. 3. 5. 11:12
기술 선정
spring cloud gateway vs zuul
보통 스프링에서 지원하는 몇가지 gateway가 있다. 그 중에서 두 개가 있는데 하나는 zuul, 하나는 spring cloud gateway이다. 둘 중 가장 큰 차이는 하나는 동기 하나는 비동기 방식이다. 비동기 방식이 일단 동기 방식의 정해진 스레드를 처리하는 것이 아니라서 많은 요청 적은 연산의 gateway에 잘 맞겠다 싶었습니다. 그리고 개인적으로 편했던 것은 필터에 자기자신의 서비스도 넣을 수 있던게 편했습니다.
java vs kotlin
저는 전 회사에서도 그렇고 지금회사에서도 그렇고 java 만 쓰던 사람입니다. 하지만 webflux를 쓰려고 reactor를 공부하는데 가독성이 ... js의 then then.. 이거보다도 더 어지러웠던 경험이 있어서 나중에 좀 찾아보니까 kotlin의 coroutine이라는 걸출한 기능이 있었어서 보기가 너무 좋았어서 선택하게 되었습니다.
jdbc (JPA) vs r2dbc
사실 처음에 의문점은 이것이였다. 위에 mvc 도 스레드 방식이라서 spring에서 webflux의 비동기 기반으로 만들고 밀어주고 있는데 jdbc도 결국 커넥션 풀 기반이여서 요청이 많이 들어와서 느려지면 어떻게 하지 이 생각 이였습니다. 이것을 해결하려고 밀어주는 방식이 r2dbc인데 얘는 orm은 아니라서 CrudRepository 급에서만 할 수 있는것으로 알고 있습니다. 하지만 여기에 넣을 테이블은 진짜 인증과 관련된 몇개의 테이블 뿐이고 양이 많지 않아서 선택하게 되었습니다.
일단 첫 장은 기본적은 기술 설명에 대한 것만 했다. 다음부터는 어떤 것을 하는지 보자.
'spring' 카테고리의 다른 글
spring boot를 위한 was (0) 2023.03.23 spring을 이용한 MSA 구축 - spring cloud gateway - 2 (0) 2023.03.19 test 설정 - 2 github actions 설정 (0) 2023.03.10 test 설정 - 1 spring boot (0) 2023.03.09 스프링 멀티모듈 및 gradle 설정 (0) 2023.02.24