CNCF NATS

NATS는 분산 시스템을 지원하는 연결기술(connective technology)로 메시지의 주소 설정, 검색, 통신을 담당한다. 마이크로서비스아키텍처(MSA)에서의 메시지 교환, 스트림 처리를 위해서 사용한다. 클라우드 메시징 서비스 (마이크로서비스, 서비스메시) 이벤트 / 데이터 스트림(데이터 모니터링, 분석, ML/AI)...

NATS를 이용한 멀티 프로덕트 SSO 시스템 구축하기

MSA(Micro Service Architecture)는 2022년 주요 소프트웨어 아키텍처 트랜드 중 하나다. MSA를 이용하면 필수 기능을 가지는 여러 독립된 컴포넌트로 개발을 하면, 각 팀은 원하는 기술셋을 이용해서 필요한 기능에 집중 할 수 있다. 반면 서비스들이 서로 분리되면서 데이터를 동기화하는데 어려움이 생길 수도 있다. CNCF NATS를 ...

개발자를 위한 시스템 디자인 개념

시스템 디자인는 클라우드 엔지니어, DevOps, 소프트웨어 개발자에게 가장 많이 묻는 질문 중 하나다. 면접과정에서 뿐만 아니라 대규모 소프트웨어 문제를 해결하기 위해서도 시스템 설계에 대한 지식이 필요하다....

Kafka 소개

카프카(kafka)는 분산 스트리밍 플랫폼(Distributed streaming platform)이다. 분산 스트리밍 플랫폼은 아래의 기능을 가지고 있어야 한다. 1. 데이터 스트림을 게시(Publish)하고 구독(Subscribe)할 수 있어야 한다. 이 점에서 메시지 큐 혹은 엔터프라이즈 메시징 시스템과 유사한 면이 있다. 1. 내결함성(장애에 대한...

AWS EMR

이 문서는 을 갖췄다는 가정하에 작성했다.맵리듀스(MapReduce)는 분산&병렬처리 알고리즘을 이용 클러스터링 환경에서 빅 데이터 세트를 처리하기 위한 프로그래밍 모델및 관련 구현체를 일컫는다. 맵리듀스 프로그래밍 관련 구현체중 가장 유명한 구현체가 하둡 맵리듀스다. 하둡 스트리밍은 Hadoop에서 배포하는 유틸리티다. 이 유틸리티를 이용하면, mappe...

Consul Multi node 설치

에 대해서 간단히 살펴봤으니, 클러스터를 구성해보려 한다. KVM을 이용해서 3개의 consul 노드를 실행한다. 로 쉽게 설치할 수 있겠지만 노가다를 뛰는 것도 도움이 될 것 같아서. 노드는 우분투 리눅스 서버 18.10을 설치한다. 호스트 운영체제에서 Go 예제 애플리케이션을 만들어서 실행한다.노드 이름은 consul01, consul02, consu...

Protocol Buffer

대대적인 수정 작업 중 .. 2019년 8월 20일Protocol Buffer(이하 PB)는 구글에서 개발한 직렬화 프로토콜이다. 구글 얘네들이 검색 색인 작업에 사용하려고 만들었다고 한다. 다양한 형태의 데이터를 대량으로 빠르게 직렬화&역직렬화 할 수 있다고 한다. 구글에서 다루는 데이터가 워낙에 다양하고 양도 많으니 당연한 요구사항 이었겠지. 을 대체...

Docker swarm

도커를 다룬지 3년이 넘어가는 것 같지만 스웜(Swarm)을 사용하지 않았다. MesOS나 Rancher 같은 녀석을 사용하거나 직접 만들어서 사용하다 보니, 필요성을 느끼지 못했다. 뒤늦게? 스웜을 써보려는 이유는 스웜위에 Spark를 올리기 위해서다. MesoS위에서도 올릴 수 있겠지만 Spark 스터디 용도로 설치하려는데, 너무 나가는 것 같아서 간단...

Docker로 Kafka 클러스터 만들기

이 문서는 Kafka에 대한 최소한의 경험을 가지고 있는 것으로 가정한다. 아래의 지식이 필요하다. 에 대한 기본 이해 에 대한 기본 이해 컨슈머와 프로듀서 파티션 컨슈머 그룹의 경우 가용 영역 갯수 만큼의 브로커를 만들어야 한다. 테스트하려는 도쿄리전은 3개의 가용 영역으로 구성돼 있으니 최소 사양으로 만들 경우 (kafka실행을 위한 최소 스펙)kafk...

Kafka 시작하기

메시지 애플리케이션은 어떤 애플리케이션에서 다른 애플리케이션으로 데이터를 보내는 시스템이다. 메시지 시스템은 두 애플리케이션 사이에서 전령 역할을 한다. 메시지의 전송과 수신은 메시지 시스템이 안전하게 처리해 줄 것이라는 것을 보증한다. 따라서 메시지 애플리케이션은 메시지의 송/수신 과정에 신경 쓸 필요 없이, 메시지(데이터)에만 신경을 쓰면 된다. 메시...