6P by xguru 2020-05-04 | favorite | 댓글 1개

- Kafka/Pulsar 와 비슷하지만 훨씬 간단하고 클라우드에 적합한 구현체
- Zookeeper/JVM등 복잡한 의존성 및 설정 필요없는 16MB짜리 싱글 Go 바이너리
- 클라이언트는 gRPC사용
- NATS를 확장해서 기존 NATS환경의 코드변경 없이 안정적인 스트리밍,Pub/Sub Log API 추가 가능
- Wildcard Subscription 지원
- Key-value & 헤더 지원 → WAL, Write Ahead Logging 에 적합
- 로그 보관 및 키 기반 압축

NATS - 심플하고 안전한 고성능 오픈소스 메시징 시스템 : https://nats.io/
NATS의 한글 소개글 https://medium.com/@goinhacker/nats-a63fba865d6f

기존에 로그기반 메시징 솔루션으로 NATS Streaming이 있지만 그건 NATS와는 별도의 프로토콜 구현방식,
Liftbridge 는 NATS를 보완해서 그 기반위에서 간단하지만 안전한 전송을 보장하도록 구현하는 "Bridge"
그래서 기존 코드의 변경없이 추가하여 사용 가능.

Liftbridge vs NATS Streaming vs Apache Kafka vs Apache Pulsar
https://liftbridge.io/docs/feature-comparison.html

Liftbridge 개발자인 Tyler Treat 가 2017~2018년에 분산 로그시스템 구현에 대해 적은 시리즈 글을 참고하세요.
Building a Distributed Log from Scratch
- Part 1: Storage Mechanics https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-…
- Part 2: Data Replication https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-…
- Part 3: Scaling Message Delivery https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-…
- Part 4: Trade-Offs and Lessons Learned https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-…
- Part 5: Sketching a New System https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-…

* Write Ahead Logging 이란 ? : https://postgresql.kr/docs/9.6/wal-intro.html