본문 바로가기
728x90
반응형

분류 전체보기116

웹 개발 발전 과정 Servlet, JSP, MVC, FrameWork 스프링에 대한 것을 보다보면 servlet이 어쩌고, jsp가 어쩌고 하는 내용들이 종종 보였습니다. 그래서 볼 때 마다 무슨말이지.. 했었던 것을 정리해보려고 합니다.  (그 전에 웹 서비스의 구조와 정적컨텐츠, 동적컨텐츠 이해하고 가기~)https://orange-makiyato.tistory.com/48 Apache, Nginx, Tomcat, 웹 서버, WAS, 정적콘텐츠, 동적콘텐츠Apache, Nginx = Web Server Tomcat = WAS, Web Application Server = 서블릿 컨테이너 = 미들웨어 1. Web 서버란 클라이언트가 서버에 페이지 요청을 하면 요청을 받아 정적 컨텐츠(.html, .png, .css등)를 제공하는 서버orange-makiyato.tisto.. 2023. 1. 18.
feign client란? 현재 프로젝트에서 MSA 도메인 간 통신으로 Feign Client 를 사용하고 있다. HTTP Client Java Library 의 종류는 - HttpURLConnection - Apache Commons HttpClient - Apache HttpComponents - Retrofit - RestTemplate Synchronous, Blocking 방식 - feign client Synchronous, Blocking 방식 - WebClient Asynchronous, NonBlocking 방식 등등 여러가지가 있는데 스프링으로 개발 시에 RestTemplate을 가장 많이 사용한다고 한다. 하지만 Spring 5.0 이후 RestTemplate는 더 이상 사용되지 않는다고 한다. spring d.. 2022. 12. 6.
MSA 프로젝트 중 MVP를 만들었던 이유(feat. 일정 딜레이) MVP 란?• Minimum Viable Product의 약자로 최소 실행 가능 제품이란 뜻입니다.  MVP는 왜 만들까?• 보통 아이디어가 실제 시장에서도 유효한지 검증하기 위해 최소한의 핵심기능만 구현해서 확인하기 위해 만드는 것이 MVP입니다. 하지만 현재 프로젝트의 경우에는 설계 컨셉에 대해 합의점 도출이 되지 않고, 각 주장하는 설계 방안에 대한 장단점이 추상화된 사항으로 의사결정이 되지 않았기 때문에 진행하게 되었습니다. 장점 : 추상적으로 생각했던 것을 확인하고 최적안을 도출 할 수 있습니다.단점 : 설계기간이 길어지기 때문에 전체적인 프로젝트 기간이 길어지거나 타이트해집니다..   MSA 프로젝트 중 MVP를 만들었던 이유• 설계기간을 진행하면서 Event Storming 을 통해 도메인을.. 2022. 11. 23.
CQRS 구현 - Redis, Kafka 적용 CQRS란? https://orange-makiyato.tistory.com/56 MSA, Database Architecture - Querying : API Composition, CQRS 패턴 ● API Composition 패턴 • API Composition은 클라이언트에서 하나의 API만을 호출해서 잘게 쪼개진 API들의 응답을 모아서 보내주는 것이다. • 클라이언트에서 API Composer(조합기)로 요청을 하면 API Compos orange-makiyato.tistory.com 현재 프로젝트 구조 Read 요청이 오면 마이크로서비스에서 먼저 Redis Cache를 확인하고 없으면 DB에서 데이터를 가져온다. Create, Update, Delete 요청이 오면 Pub/Sub(게시/구독).. 2022. 11. 23.
MSA, Database Architecture - Querying : API Composition, CQRS 패턴 ● API Composition 패턴 • API Composition은 클라이언트에서 하나의 API만을 호출해서 잘게 쪼개진 API들의 응답을 모아서 보내주는 것이다. • 클라이언트에서 API Composer(조합기)로 요청을 하면 API Composer에서 각각의 마이크로 서비스에 필요한 요청을 보내고, 응답값을 메모리에서 조인해 클라이언트에 반환한다. • 장점 : 클라이언트 입장에서 간단하게 필요한 데이터를 쿼리 할 수 있다 • 단점 : 인메모리 조인이기 때문에 대용량 데이터 조회 시 비효율적일 수 있다. • 보통 대용량 데이터 조회 시에는 API Composition보다는 CQRS Pattern을 사용하는 것 같다. • API조합기는 Client단에 만들 수 있다. ajax()로 화면 partial.. 2022. 10. 31.
728x90
반응형