ما هو ووترميل؟
ووترميل هو مكتبة Golang لمعالجة تيارات الرسائل بكفاءة. تم تصميمه لبناء تطبيقات قائمة على الأحداث ويمكن استخدامه للتوثيق بالأحداث، وRpc بناءً على الرسائل، وساجا، وأي حالات استخدام أخرى يمكنك التفكير فيها. يمكنك استخدام تنفيذات النشر/الاشتراك التقليدية مثل Kafka أو RabbitMQ، بالإضافة إلى HTTP أو MySQL binlog، اعتمادًا على حالة الاستخدام الخاصة بك.
توفر ووترميل مجموعة من تنفيذات النشر/الاشتراك ويمكن إضافة تنفيذة خاصة بك بسهولة. كما يأتي أيضًا مع وسيطات معيارية مثل لوحات القيادة والطوابو وتحديد معدل الحد، والارتباط، الخ.، والتي تستخدم من قبل كل تطبيق مدفوع بالرسائل.
لماذا استخدام ووترميل؟
مع زيادة عدد المشاريع التي تعتمد على معمارية الخدمات الصغيرة في السنوات الأخيرة، لا يمكن حل جميع السيناريوهات التجارية باستخدام مكالمات Rpc متزامنة. أصبحت معالجة المهام غير المتزامنة مكملاً قيمًا.
هدف ووترميل هو أن يصبح المكتبة القياسية للرسائل في Go، يخفي كل هذه التعقيدات وراء واجهة برمجة التطبيقات قابلة للفهم. يوفر كل ما يلزم لبناء التطبيقات القائمة على الأحداث أو أنماط غير متزامنة أخرى. بعد مراجعة الأمثلة يجب أن تكون قادرًا على دمج ووترميل في مشروعك بسرعة.