본문 바로가기

아키텍처2

[아키텍처]레이어드 아키텍처(Layered Architecture)에 대하여 기본적인 아키텍처에 대해서 정리를 해서 문서화 할 필요성을 느끼고 Basic한 레이어드 아키텍처에 대해서 분석하고 개인적인 견해를 간단히 정리해본다. Layered Architecture는 '관심사에 분리(Separation of concerns)'에 따라 어플리케이션을 일정한 책임을 기준으로 논리적인 Layer로 분리한 아키텍처 패턴이다. 계층은 잘 정의된 인터페이스를 통해서 통신하며 보통 각 Layer는 한단계 아래의 Layer의 컴포넌트와만 상호작용한다. 그러나 그렇게 할 경우 발생하는 불편함들이 꽤 있기에 아래 단계 뿐 아니라 동일한 Layer상의 컴포넌트 끼리와도 상호작용 할 수 있게 설계하는게 보통이다. 사실 아키텍처라는 것이 가진 본래 목적이 좋은 소프트웨어를 만들기 위함이고 좋은 이라는 모.. 2023. 4. 12.
[아이디어] 일렉트론 + 웹소켓을 활용한 아키텍처 예전에 배달앱을 개발하면서 고민 했던 부분 중 하나인데 일렉트론으로 실현 가능하다는 것을 확인해서 추후에 참고 할 수 있게 정리해본다. 1. 소켓 통신은 커넥션을 지속적으로 유지하며 풀링 방식 보다 통신간의 리소스를 최적화 할 수 있다(커넥션 릴리즈 비용이 줄어듬) 다만 커넥션을 유지하는 리소스가 소모 되므로 많은 커넥션을 유지하고 관리하는데 어려움이 있다. 2. 소켓통신을 통하지 않고서는 클라이언트단에서 벡엔드에서의 메시지를 받을 방법이 마땅치 않다. 푸쉬 알림. 특히 배달앱의 경우 고객의 주문을 클라이언트 단에서 받고 처리하는 과정을 반복해야 하므로 지속적으로 커넥션을 유지해야 할 필요성이 있다. 3. 커넥션은 지속적으로 유지하면서 통신 리소스를 줄이는 방법의 단점은 지속적으로 통신을 주고 받는 스토.. 2022. 12. 7.