251
11
장
대용량 프레임워크 마이크로서비스
더 작은 클러스터를 여러 개 실행한다
팀별, 부서별로 자체 클러스터를 두고 서로 완전히 분리해서 운영하는 것입니다. 운영 오버
헤드를 낮게 유지하기 위해 사내에서 개발하거나 서드파티 업체의 도움을 받아 프로그램으
로 클러스터를 요청할 수 있는 환경을 구축하면 가장 효과적입니다. 노드 (예: 마스터 노드,
주키퍼 노드 ) 조정과 클러스터 모니터링/관리 측면에서는 클러스터 운영 오버헤드가 증가
하므로 비용은 더 많이 들 수 있습니다.
네임스페이스를 둔다
하나의 클러스터는 제각기 리소스가 할당된 여러 네임스페이스로 나눌 수 있으니 팀별, 부
서별로 네임스페이스를 만들어 그 한도 내에서 리소스를 할당합니다. 애플리케이션은 자신
이 실행 중인 네임스페이스의 리소스만 획득할 수 있으므로 공격적으로 리소스를 가져가 네
임스페이스 외부의 애플리케이션까지 굶주리게 만들 일이 없습니다. 다만, 필요 없을 때에
도 각 네임스페이스에 예비 리소스를 할당해야 하므로 불용
unused
리소스가 여기저기 흩어지
게 될 수 있습니다.
11.10
언어 및 구문
대용량 스트림 처리 프레임워크는 가장 대중적인 프로그래밍 언어인 자바와 그 이후 등장한 스
칼라 같은
JVM
언어에 기반합니다. 파이썬은 이 프레임워크의 전통적인 사용자층인 데이터 과
학자, 머신러닝 전문가들이 많이 쓰는 언어입니다. 보통 데이터 세트에 대한 불변 연산
immutable
operation
작업이 서로 연쇄된 맵리듀스형
API
를 많이 쓰지만 대용량 프레임워크는 이런 ...