본문 바로가기

전체 글86

[MSA] Spring Cloud를 사용해보자(3)-API Gateway 기존에 있던 모놀리식 아키텍처를 msa 로 구현해보는 과정에서 API Gateway 로 Spring Cloud 를 이용하기로 했다. 그전에 MSA와 DevOps, K8S 등의 개념을 알고 가는게 좋을꺼 같아 퍼왔다. 참조하면 좋을꺼같다. https://happycloud-lee.tistory.com/261?category=8322466 일하는 방식 변화 핵심만 빠르게 이해하기: 애자일, 마이크로서비스, 데브옵스, 클라우드 새로운 변화의 물결 내용 순서 마이크로서비스가 최근에 왜 주목 받고 있는지 거시적 관점인 일하는 방식 변화의 측면에서 이해하는 것이 목표입니다. 이를 위해 일하는 방식 변화가 왜 필요한 happycloud-lee.tistory.com ✔ 서비스 디스커버리(Service Discovery.. 2023. 11. 22.
[REST API] @Primary / @Qualifier 블로그 파도를 타다가 흥미있는 글을 발견해서 퍼와보았다. @Bean 주입을 할때 무심코 썼던 어노테이션들을 깔끔하게 정리해주셨다. 참고 https://tech.kakaopay.com/post/martin-dev-honey-tip-2/ Spring Bean Injection 이야기(feat. 모두가 다 알고 있는 스프링빈, 정말 다 알고 있는가?) | 카카오페이 @Qualifier vs @Primary 누가 이길까? tech.kakaopay.com 윗 블로그를 보면 @Primary은 완전 깡패인걸 알수있다. (bean name 과 상관없이 걍 일괄적으로 동일 주소로 할당해버림) 결론은 @Primary 지양하고 @Qualifier을 쓰자 2023. 11. 20.
[REST API] API 연동 하여 클라이언트와 통신하기 여태까지 정리해온 문서를 토대로 외부 API 에서 데이터를 가져와 DB 에 등록후, Client 에게 Body를 내려주는 간단한 미니성 프로젝트를 만들었다. ** IntelliJ 환경세팅 ** [ 개발환경 기준 ] ✔ OS : MAC Intel Ventura 13.2.1 ✔ Tool : IntelliJ IDEA ✔ JDK : OpenJDK 17 ✔ Spring Boot 3.1.5 (릴리즈) ✔ Gradle/Groovy ✔ Spring Data JPA (프레임워크) ✔ 외부 API : https://jsonplaceholder.typicode.com/todos?userId=1 Maven보단 스크립트 방식으로 가독성이 좋고 빌드캐시와 병렬빌드를 지원하는 Gradle 로 진행하기로 하였다. Spring Bo.. 2023. 11. 16.
[REST API] @Autowired vs @RequiredArgsConstructor 일단 시작하기전에 스프링 공식 문서에서는 생성자를 통한 의존성(@RequiredArgsConstructor) 주입 (DI)를 권장하고 있다. Spring Team recommends: “Always use constructor based dependency injection in your beans. Always use assertions for mandatory dependencies”. (번역하자면 대충 쓰지말란 소리다) @Autowired도 예전에 나는 많이 썼었다. 일단 편하기때문이지! 하지만 final 옵션을 사용할 수 없기에, 의존성 주입하고 코드가 변질되어도 알 수가 없다. 또한 중복으로 참조가 가능하다.-> 런타임시 에러발생 아래에 예제 참조가 잘나와있다. https://madplay.gi.. 2023. 11. 16.