Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

옵저버 패턴의 단점이 뭐가 있을까요? 단점이 있으면 어떻게 개선할 수 있을까요 #14

Open
tlarbals824 opened this issue Jul 15, 2023 · 3 comments

Comments

@tlarbals824
Copy link
Member

옵저버 패턴의 단점이 뭐가 있을까요? 단점이 있으면 어떻게 개선할 수 있을까요

@tlarbals824
Copy link
Member Author

구독하는 객체가 많아지면 속도가 느려진다

@tlarbals824
Copy link
Member Author

tlarbals824 commented Jul 15, 2023

Java 사용, 메모리 무제한일때

김정민 : Java의 CompletableFuture 사용해서 비동기로 처리
박우람 : 우선순위를 부여해서 처리한다(애노테이션을 통한 우선순위 부여)
홍성주 : 우선순위 큐를 이용한 처리 순서 결정(Spring을 사용한다면 Batch를 이용해서 사용)

@tlarbals824
Copy link
Member Author

tlarbals824 commented Jul 15, 2023

외부 인프라를 사용한다면? 1억개

김정민 : Redis를 적극 이용. Redis 서버를 구성해야함. 만약에 터지면? 클러스터, 센티널 사용
박우람 : Redis를 적극 이용, Kafka가 Disk에 저장하는 방식이기 때문에 Redis(메모리)보다 느리다. 단일 서버면 인스턴스를 여러개 생성.
만약? 인스턴스가 8개인 상황에서 각 인스턴스가 동일한 channel을 구독하는 상황에서 실 상황에서 하나의 Event만 처리해야한다면?
홍성주 : Kafka, Redis 적극 이용, 서버 분리하고 로드 밸런싱 사용

Kafka, Redis 비교 : https://velog.io/@mdy0102/MQ-%EB%B9%84%EA%B5%90-Kafka-RabbitMQ-Redis

@tlarbals824 tlarbals824 reopened this Jul 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant