10장2 [가상 면접 사례로 배우는 대규모 시스템 설계 기초] 10장 알림 시스템 설계 알림 시스템은 어느 서비스나 항상 고민하게 되는 부분이라 생각한다. 실제로 서비스를 구현할 때, 다양한 고민들을 하게 되는데, 설계에 대한 초점에서 바라본 건 새로웠다. 알림 시스템 고객에게 중요할 만한 정보를 비동기적으로 전송 모바일 푸시 알림, SMS 메시지, 이메일 세 가지로 분류 1단계 : 문제 이해 및 설계 범위 확정 시스템이 지원하는 알림 종류 푸시 알림, SMS 메시지, 이메일 실시간 시스템 여부 연성 실시간 시스템이라고 가정 (시스템 부하 시 약간의 지연 무방) 지원해야 하는 종류의 단말 iOS, 안드로이드, 랩톱/데스크톱 알림을 만들 수 있는 주체 클라이언트 애플리케이션 or 서버 측의 스케줄링 알림을 받지 않도록 설정도 가능해야 함 하루에 보낼 수 있어야 하는 양 천만 건의 모바일 푸시.. 2023. 3. 18. [만들면서 배우는 클린 아키텍처] Chapter10. 아키텍처 경계 강제하기 10. 아키텍처 경계 강제하기 1. 경계와 의존성 아키텍처의 경계와 '경계를 강제한다는 것'의 의미를 알아보자. 아키텍처의 경계를 강제한다는 것은 의존성이 올바른 방향을 향하도록 강제하는 것. 가장 안쪽 계층 도메인 엔티티 도메인 엔티티에 접근하는 애플리케이션 계층 유스케이스 구현 어댑터 인커밍 포트를 통해 서비스 접근 서비스 아웃고잉 포트를 통해 어댑터 접근 설정 계층 어댑터 & 서비스 객체 생성용 팩터리 포함 의존성 주입 매커니즘 제공 의존성은 항상 안쪽으로 향해야 한다. 2. 접근 제한자 package-private 제한자의 중요성 패키지를 통해 클래스들을 응집된 모듈로서 만들어준다. 패키지 바깥 서는 접근 불가. 모듈 진입용 클래스만 따로 public으로 만들면 된다. 경계간 외부로.. 2022. 11. 15. 이전 1 다음 반응형