# Apache Pulsar คืออะไร? คู่มือ Event Streaming Open-Source สำหรับ SME ไทย 2026
ในยุคที่ธุรกิจขับเคลื่อนด้วยข้อมูลแบบ real-time การเลือก message broker ที่เหมาะสมคือพื้นฐานของ event-driven architecture ที่ scalable Apache Kafka เคยเป็นตัวเลือกหลักมากว่าทศวรรษ แต่ Apache Pulsar กำลังกลายเป็นทางเลือกที่ SME ไทยควรพิจารณา
จุดแข็งของ Pulsar คือสถาปัตยกรรมที่แยก compute และ storage ออกจากกัน ทำให้ scale ได้ยืดหยุ่นกว่า รองรับ multi-tenancy และ geo-replication ได้ตั้งแต่แรก ไม่ต้องติดตั้ง plugin เสริม
บทความนี้จะอธิบาย Apache Pulsar ตั้งแต่พื้นฐาน เปรียบเทียบกับ Kafka และ RabbitMQ พร้อมแนะนำขั้นตอนการ deploy บน Kubernetes สำหรับทีมพัฒนาในไทยที่ต้องการ event streaming ระดับ enterprise โดยไม่ผูกกับ vendor
Apache Pulsar คืออะไร?
Apache Pulsar เป็น cloud-native distributed messaging และ streaming platform ที่พัฒนาโดย Yahoo ตั้งแต่ปี 2012 และโอนเข้า Apache Software Foundation เป็น top-level project ในปี 2018 ปัจจุบันใช้งานในระดับ production ที่ Tencent, Yahoo Japan, Verizon, Splunk และอีกหลายบริษัทระดับโลก
จุดเด่นที่ทำให้ Pulsar แตกต่างคือสถาปัตยกรรมแบบ two-tier ที่แยก broker (compute) ออกจาก BookKeeper (storage) ซึ่งหมายความว่าคุณสามารถเพิ่ม broker เพื่อรับ traffic เพิ่มโดยไม่ต้อง rebalance ข้อมูลใหม่ และเพิ่ม storage node ได้อิสระ นอกจากนี้ Pulsar ยังรองรับ messaging ทั้งแบบ queue (RabbitMQ-style) และ streaming (Kafka-style) ในระบบเดียว
ทำไม SME ไทยควรสนใจ Apache Pulsar?
ธุรกิจ SME ที่กำลัง scale ระบบมักเจอปัญหาเดียวกัน คือ legacy queue เริ่มรับ load ไม่ไหว และการแยก microservices ต้องการ event bus ที่ rely ได้จริง Pulsar ตอบโจทย์ในจุดต่อไปนี้
สถาปัตยกรรมและ Component หลัก
| Component | บทบาท | ภาษา |
|-----------|-------|------|
| Broker | รับ-ส่งข้อความ จัดการ topic | Java |
| BookKeeper (Bookies) | เก็บข้อมูล log แบบ replicated | Java |
| ZooKeeper / Oxia | เก็บ metadata และ leader election | Java/Go |
| Pulsar Proxy | ตัวกลาง routing สำหรับ client | Java |
| Pulsar IO Connectors | เชื่อม source/sink เช่น MySQL, Kafka, S3 | Java |
ตั้งแต่ Pulsar 3.0 เริ่ม migrate จาก ZooKeeper ไปใช้ Oxia ซึ่งเป็น metadata store ภายในที่ scale ดีกว่าและลด operational complexity ลงมาก
เปรียบเทียบ Pulsar vs Kafka vs RabbitMQ
| ประเด็น | Apache Pulsar | Apache Kafka | RabbitMQ |
|---------|---------------|--------------|----------|
| Architecture | Compute/Storage แยก | Coupled | Single broker |
| Multi-tenancy | Native | ต้องตั้ง quota เอง | Virtual hosts |
| Geo-replication | Built-in | ต้องใช้ MirrorMaker 2 | Federation plugin |
| Tiered storage | Built-in (S3, GCS) | ต้องการ Confluent | ไม่รองรับ |
| Throughput | สูงมาก (>1M msg/sec) | สูงมาก | กลาง |
| Latency | ต่ำ (~5ms) | ต่ำ (~5ms) | ต่ำมาก (<1ms) |
| ใช้งานเหมาะกับ | Streaming + Queue + IoT | Log streaming, ETL | Task queue |
ถ้าธุรกิจของคุณมีทั้ง use case แบบ task queue (เช่น email worker) และ streaming (เช่น click event analytics) Pulsar คือคำตอบที่รวมทั้งสองโลกได้โดยไม่ต้อง maintain ระบบสองชุด
ขั้นตอนการ Deploy Pulsar Cluster บน Kubernetes
Step 1: เตรียม Kubernetes Cluster
ใช้ k3s, kind หรือ managed K8s เช่น GKE, EKS หรือ AKS ก็ได้ แนะนำ minimum 3 worker node เพื่อให้ replication factor 3 ทำงานได้อย่างสมบูรณ์
Step 2: ติดตั้งผ่าน Helm Chart อย่างเป็นทางการ
```bash
helm repo add apache https://pulsar.apache.org/charts
helm repo update
helm install pulsar apache/pulsar \
--namespace pulsar --create-namespace \
--set initialize=true
```
Step 3: ตรวจสอบสถานะ pods
```bash
kubectl get pods -n pulsar -w
```
รอจนกว่า broker, bookie และ proxy จะอยู่ใน state Running ครบทั้งหมด
Step 4: ทดสอบการ produce/consume
```bash
bin/pulsar-client produce persistent://public/default/test \
--messages "Hello SME Thailand"
bin/pulsar-client consume persistent://public/default/test \
--subscription-name s1 --num-messages 1
```
Step 5: ผูกกับ Application
ใช้ Pulsar client SDK สำหรับ Node.js, Python หรือ Java/Spring Boot เพื่อ produce และ consume event ใน application ของคุณ ตัวอย่าง Node.js
```javascript
const Pulsar = require('pulsar-client');
const client = new Pulsar.Client({ serviceUrl: 'pulsar://localhost:6650' });
const producer = await client.createProducer({ topic: 'orders' });
await producer.send({ data: Buffer.from(JSON.stringify(order)) });
```
Use Case ที่เหมาะสำหรับธุรกิจไทย
ข้อควรระวังและ Trade-off
สรุปและ CTA
Apache Pulsar คือ event streaming platform ที่เหมาะสำหรับ SME ไทยที่ต้องการระบบ messaging ระดับ enterprise โดยไม่ผูกกับ cloud vendor มี multi-tenancy, geo-replication และ tiered storage built-in ทำให้ลดต้นทุนระยะยาวและขยายระบบได้ยืดหยุ่น เมื่อธุรกิจขยับสู่ event-driven architecture Pulsar คือ foundation ที่คุ้มค่ากับการลงทุน
Key takeaways
หากต้องการคำปรึกษาเรื่อง event-driven architecture, การออกแบบ microservices หรือการ migrate จาก Kafka มา Pulsar ทีม ADS FIT พร้อมช่วยวางแผนและ deploy ให้ตรงกับ workload ของธุรกิจคุณ ติดต่อ contact@adsfit.co.th หรืออ่านบทความที่เกี่ยวข้องเพิ่มเติมได้ที่ ADS FIT Blog
