🤔 필요성 마이크로 서비스 아키텍처 ( MSA )에서 여러 개로 나누어져 있는 서비스들 중 하나에 문제가 생기게 되면 서로 네트워크 등으로 연결되어 있는 다양한 서비스 들에 그 문제가 전파될 수 있다. 예로는 문제가 생긴 마이크로 서비스로 요청을 보낸 서비스가 결과 값을 기다리는 블로킹 상태로 무한정 기다리다 스레드가 말라버릴 수 있다. 벌크헤드는 이와 같은 상황에 해결책이 되어준다. 🎯 벌크헤드 ( Bulkhead ) 패턴 🔥 선박 혹은 선체의 격벽(Bulkhead) 에서 유래된 이름이다. 선박은 여러 데크로 나누고 이를 완전히 격리하여 분리한다. 이때 격리하는 벽을 격벽 이라 한다. 선박이 각 데크를 분리하는 이유는 선박의 외부에 외상이 생겼을 때 각 데크를 완전히 격리하여 문제가 배 전체에 전파되지..
Callback Success interface SuccessCallback { void onSuccess(String result); } Exception interface ExceptionCallback { void onError(Throwable throwable); } FutureTask public static class CallbackFutureTask extends FutureTask { SuccessCallback successCallback; ExceptionCallback exceptionCallback; public CallbackFutureTask(Callable callable, SuccessCallback successCallback, ExceptionCallback ec) { ..
ExecutorService 🔥 자바의 스레드를 편하게 관리하기 위한 라이브러리로 스레드 풀및 스레드 생성 혹은 그 작업을 가능하게 한다. newFixedThreadPool(int) 🖌️ ThreadPool (ThreadPoolExecutor) 생성을 위한 정적 팩터리 메서드중 하나로 인자 개수만큼 고정된 ThreadPool 을 만든다. // 스레드가 20개로 고정되는 Thread Pool 생성한다. ExecutorService es = Executors.newFixedThreadPool(20); newCachedThreadPool 🖌️ ThreadPool (ThreadPoolExecutor) 생성을 위한 정적 팩터리 메서드중 하나로 필요할 때, 필요한 만큼 ThreadPool 을 만든다. 이미 생성된 ..
개요 스프링 컨테이너는 일부 형태가 추상 팩토리 패턴을 활용해 작성되었다. 해당 내용을 바탕으로 ApplicationContext를 작성 하고자 한다. 객체 모델 구현 ﹫어노테이션 💡 추상 팩토리 ( ConfigurationFactory ) 와 구현 팩토리 ( ConfigurationFactoryImpl ) 추상 팩토리 구현 팩토리 💡 클라이언트 ( ApplicationContext ) ﹖ 리플렉션을 통해 Custom Annotation( @Bean )을 마킹한 메서드들을 읽어와 맵에 등록한다. 😀 프로덕트 ( ObjectMapper, MailSender ) 👉 결과 👈 콘솔 예제 코드 예제코드 GitHub - icraft2170/Blog-Example-Code Contribute to icraft21..
- Total
- Today
- Yesterday
- 동적 디스패치
- 장애 해결기
- Session
- SpringBoot 2.2
- pool
- ATDD
- 메모리 파편화
- pass by reference
- 컴포짓 패턴
- Memory Fragmentation
- 동적 타입 언어
- 정적 타입 언어
- 수평 분할
- 내부 단편화
- 객체 풀
- Object Pool
- Clean Architecture
- 외부 단편화
- java
- 수직 분할
- 세션 불일치
- RestAssured
- OOP
- Sticky Session
- pass by value
- 육각형 아키텍처
- multimap
- 뾰족함
- 클린 아키텍처
- 메모리 단편화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |