본문 바로가기

728x90

병렬

(2)
대규모 시스템 설계 기초 2 - 4장. 분산 메시지 큐 이번 장은 분산 메시지 큐 설계에 대해서 다루고 있습니다. 메시지 큐를 사용하면 아래와 같은 이득을 얻을 수 있습니다.결합도 완화 (decoupling): 컴포넌트 간 강한 결합이 사라져 독립적으로 갱신 가능합니다.규모 확장성 개선: Producer와 Consumer 구조를 통해 시스템 규모를 트래픽 부하에 맞게 독립적으로 늘릴 수 있습니다.가용성 개선: 시스템의 특정 컴포넌트에 장애가 발생해도 다른 컴포넌트는 큐와 계속 상호작용을 이어갈 수 있습니다.성능 개선: 비동기 통신이 가능하여 데이터가 프로세싱될 때까지 기다릴 필요가 없습니다.그럼 이 책에서 소개하는 분산 메시지 큐 설계를 위한 기능 요구사항과 비기능 요구사항을 확인해 보겠습니다.기능 요구사항Producer는 메시지 큐에 메시지를 보낼 수 있어..
자바의 스트림(stream) 많은 수의 데이터를 다룰 때, 보통 컬렉션이나 배열에 데이터를 저장한 후 for문과 Iterator를 이용해서 데이터에 접근할 수 있었습니다. 하지만, 이렇게 작성한 코드는 너무 길기도 하고 재사용성도 떨어진다는 단점이 있습니다. 또한, Colletions.sort()와 Arrays.sort()와 같이 각 컬렉션 클래스에는 같은 기능의 메서드들이 중복해서 정의되어 있는 단점이 있습니다. 즉, 데이터 소스마다 다른 방식으로 다루어야 한다는 점이 불편한 점입니다. 이러한 문제점들을 해결할 수 있는 자료구조가스트림(Stream)입니다. 이번 포스팅은 이 스트림에 관해서 다루어 보았습니다. (날카로운 피드백은 환영입니다~!!) 스트림이란? 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서..

728x90
반응형