목록직장인자기계발 (32)
개발자는 기록이 답이다

1. Spring frame work는 어떻게 구성되어있을까? 스프링 포트폴리오는 두 가지 병렬 스택을 제공합니다. 하나는 Spring MVC 및 Spring Data 구성 요소를 사용하는 Servlet API 기반의 스택이며, 다른 하나는 Spring WebFlux 및 Spring Data의 리액티브 저장소를 활용한 완전히 리액티브한 스택입니다. 두 경우 모두 Spring Security가 두 스택에 대한 네이티브 지원을 제공합니다. 먼저 Servlet Stack은 5개의 계층으로 이루어져 있습니다. Servlet Containers (예: Tomcat, Jetty, JBoss 등)는 첫 번째 계층입니다. Servlet API는 두 번째 계층으로, Servlet Containers에서 사용되는 API를..

1. Proactor Pattern reactor 패턴의 단점들을 보완하기 위해 고안된 패턴이다. 2. Reactor의 문제점 Reactor에서 단일 쓰레드와 Selector를 통해서 이벤트처리 Selector가 커널과 통신하면서 완료된 애들이 있는지 능동적으로 물어보는 형태 감당하기 힘든 트래픽이 부여되거나 이벤트 처리에 오랜시간이 걸리는 경우 전체시스템에 영향을 줄 수 있다 1. 단일 스레드 한계 Reactor가 단일 쓰레드에서 이벤트를 처리하다 보니, 해당 쓰레드에서의 작업이 많아질 경우 처리 속도가 저하될 수 있습니다. 이는 다수의 요청이 동시에 처리되어야 하는 상황에서 성능 문제를 유발할 수 있습니다. 2. Blocking 작업의 문제 Reactor는 단일 쓰레드에서 모든 이벤트를 처리하므로, ..

Reactor pattern 실습 • Reactor pattern을 이용해서 외부에서 들어오는 요청을 처리한다 • Reactor pattern에 HttpEventHandler를 추가하여 http 요청을 처리한다 이번에는 Reactor pattern을 실습하는 시간이었다. 관련된 코드를 처음 보다 보니 강의를 진행할 수록 더 어렵게 느껴졌다. 해당 강의가 3년차 이하는 구매하지 말라고 했던게 왜 인지 점점 깨닫고 있다. io,nio,aio 의 특징을 설명할때 까지만 해도 배운내용이라 괜찮았는데, nio에 어떤 코드들이 있는지 파악할시간이 필요할 것 같다. 코드를 그대로 따라한것같은데 왜 나는 계속 컴파일 에러가 날까.. 개념 정리를 하는게 더 나을 것 같다.. 동기와 비동기, Blocking과 Non-b..

1. Epoll 소개 어떻게 Selector는 select할 수 있을까? 1) Selector 종류 플랫폼마다 최적화된 구현을 제공한다. PollSelectorImp : Solaris의 poll시스템콜을 활용하는 PollSelector EPollSelectorImpl : Linux에서 사용하는 epoll기반 의 EPollSelector KQueueSelectorImpl : macOS / BSD에서 사용하 는 kqueue 기반의 KQueueSelector WindowsSelectorImpl : Windows의IOCP기능을 활용한 WindowsSelector 2) file descriptor 유닉스계열의os에서는일반적인파일,네트워크소켓, 파이프, 블록 디바이스, 캐릭터 디바이스 등 모든 객체를 파일로 관리 ..