วอเตอร์มิลคืออะไร?

วอเตอร์มิลเป็นไลบรารีของ Golang สำหรับการประมวลผลกระแสข้อความอย่างมีประสิทธิภาพ มันถูกออกแบบมาสำหรับการสร้างแอปพลิเคชันที่ขับเคลื่อนด้วยเหตุการณ์ และสามารถใช้สำหรับ event sourcing, message-based RPC, sagas, และทุกกรณีที่คุณสามารถคิดออกมา คุณสามารถใช้การสร้าง/ติดตามดังเดิม เช่น Kafka หรือ RabbitMQ, รวมถึง HTTP หรือ MySQL binlog ขึ้นอยู่กับชุดคำสั่งที่คุณใช้งาน

วอเตอร์มิลมีการให้บริการชุดคำสั่ง publish/subscribe และสามารถถูกขยายออกไปอย่างง่ายด้วยการสร้างส่วนของคุณเอง นอกจากนี้ มันยังมาพร้อมกับ middleware มาตรฐาน เช่น แดชบอร์ด, คิว, จำกัดอัตราการ, การสัมพันธ์ ฯลฯ ซึ่งใช้งานสำหรับแอปพลิเคชันข้อความทั้งหมด

ทำไมต้องใช้วอเตอร์มิล?

กับจำนวนโครงการที่ใช้โครงสถาปัตยกรรมไมโครเซอร์วิสที่เพิ่มขึ้นในปีสุดท้าย ไม่ทุกสถานการณ์ธุรกิจสามารถแก้ไขด้วยการเรียก RPC แบบเรียบร้อยบางอย่าง การจัดการงานแบบไม่เร่งเสร็จเร็วเป็นการประสิทธิภาพที่มีค่าเพิ่มขึ้น

วอเตอร์มิลมีเป้าหมายที่จะเป็นไลบรารีการส่งข้อความมาตรฐานสำหรับ Go ที่ซ่อนความซับซ้อนทั้งหมดเบื้องหลัง API ที่เข้าใจได้ มันให้บริการทุกอย่างที่ต้องการสำหรับการสร้างแอปพลิเคชันที่ขึ้นอยู่กับเหตุการณ์หรือรูปแบบไม่เร่งเร็วอื่น ๆ หลังจากที่ทบทวนตัวอย่าง คุณควรสามารถผนวกรวมวอเตอร์มิลเข้ากับโครงการของคุณได้อย่างรวดเร็ว