প্রকল্প সম্পর্কে
Watermill হলো একটি Go লাইব্রেরি যা দক্ষভাবে ইভেন্ট-চালিত অ্যাপ্লিকেশন তৈরির জন্য ডিজাইন করা হয়েছে। এটি একটি সাধারণ হ্যান্ডলার ইন্টারফেসের পিছনে মেসেজ স্ট্রিম যোগাযোগকে বিমূর্ত করে, যা HTTP রাউটার ব্যবহারের মতোই সহজ করে তোলে। লাইব্রেরিটি ইভেন্ট সোর্সিং, মেসেজের উপর RPC, সাগাস, CQRS এবং অন্যান্য ইভেন্ট-চালিত প্যাটার্ন সমর্থন করে।
মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে:
- একটি সাধারণ হ্যান্ডলার ইন্টারফেস: func(*Message) ([]*Message, error)
- ইভেন্ট-চালিত আর্কিটেকচার, মেসেজিং, স্ট্রিম প্রসেসিং এবং CQRS-এর জন্য সর্বজনীন সমর্থন
- নমনীয় মিডলওয়্যার এবং প্লাগইন সিস্টেম
- প্রমাণিত প্রযুক্তি এবং স্ট্রেস টেস্টিং সহ স্থিতিস্থাপক নকশা
সমর্থিত পাব/সাব বাস্তবায়নের মধ্যে রয়েছে:
- AMQP (RabbitMQ)
- AWS SNS/SQS
- Bolt
- Firestore
- Google Cloud Pub/Sub
- HTTP
- io.Reader/io.Writer
- Kafka
- NATS Jetstream
- Redis Streams
- SQL (MySQL/PostgreSQL)
- SQLite (বিটা)
Watermill v1.0.0 একটি স্থিতিশীল পাবলিক API সহ প্রোডাকশন-প্রস্তুত। সমস্ত পাব/সাব বাস্তবায়নকে একটি বিস্তৃত পরীক্ষার স্যুট পাস করতে হবে, যার মধ্যে স্ট্রেস টেস্ট (20x সমান্তরাল রান) এবং রেস কন্ডিশন সনাক্তকরণ অন্তর্ভুক্ত। লাইব্রেরিতে বিভিন্ন পাব/সাব বাস্তবায়নে মেসেজ থ্রুপুট তুলনা করে বেঞ্চমার্ক অন্তর্ভুক্ত রয়েছে।
প্রকল্পটি মৌলিক ব্যবহার, পাব/সাব ইন্টিগ্রেশন, বাস্তব-বিশ্বের পরিস্থিতি (এক্সাক্টলি-ওয়ানস ডেলিভারি, ওয়েবহুক, ডেটাবেস সিঙ্ক্রোনাইজেশন, স্থায়ী ইভেন্ট লগ, ট্রানজেকশনাল ইভেন্ট, সার্ভার-সেন্ট ইভেন্ট) এবং সম্পূর্ণ প্রকল্প কভার করে বিস্তৃত উদাহরণ প্রদান করে। একটি অনলাইন হ্যান্ডস-অন প্রশিক্ষণ কোর্সে অ্যাট-লিস্ট-ওয়ানস ডেলিভারি, অ্যাসিঙ্ক্রোনাস রিড মডেল, ইভেন্ট ও কমান্ড, অবজারভেবিলিটি, মেসেজ অর্ডারিং এবং সাগাসের মতো শিল্প-মান ধারণা কভার করা হয়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.