2012-01-31 26 views
11

Như một bài tập tôi đang cố gắng tìm một ví dụ thực hiện cạnh tranh của người tiêu dùng.Làm cách nào để triển khai giải pháp người tiêu dùng cạnh tranh?

nhiều nhà sản xuất -> MSMQueue < - cạnh tranh người tiêu dùng

Cho đến nay tôi đã không tìm thấy bất kỳ tài liệu về làm thế nào để đạt được điều này. Nỗ lực đầu tiên của tôi để tìm ra cách được triển khai trong MassTransit hoặc NServiceBus đã thất bại trong nhiều lớp không xác định.

Mọi trợ giúp sẽ được đánh giá cao.

Trả lời

13

Với MassTransit và MSMQ bạn có thể đạt được điều này bằng cách sử dụng thành phần Distributor.

Lưu ý rằng nếu bạn sử dụng MassTransit với RabbitMQ thay vì MSMQ, bạn có thể triển khai kịch bản người tiêu dùng cạnh tranh mà không cần bằng cách sử dụng Nhà phân phối, chỉ cần đặt cùng tên hàng đợi cho tất cả người tiêu dùng. Nếu bạn có thể lựa chọn giữa MSMQ và RabbitMQ, tôi sẽ đi cho RabbitMQ, khi bạn có được các công cụ quản lý tốt hơn và mã hóa SSL, và nó chơi độc đáo với tường lửa.

Có một số cuộc thảo luận về việc này qua số MassTransit Google Groups forum.

+4

Là người đã viết nhà phân phối, tôi thay thế bằng cách sử dụng RabbitMQ. Chúng tôi bơm 10 triệu tin nhắn mỗi ngày thông qua nhà phân phối nhưng RabbitMQ giúp việc này trở nên dễ dàng hơn nhiều. Bạn không thể sử dụng cùng một hàng đợi để đọc từ MSMQ, mỗi người tiêu dùng cần có hàng đợi riêng nhưng thành phần nhà phân phối sẽ chăm sóc phân phối khối lượng công việc. – Travis

+0

Cảm ơn, tôi sẽ xem xét RabbitMQ. Travis cơ chế của nhà phân phối là gì? Hành vi như 1 người tiêu dùng duy nhất trong hàng đợi đầu vào và công văn của công nhân sẵn sàng sử dụng hàng đợi kiểm soát? – ruslander

+0

@ruslander - đúng, đó chính là cách nhà phân phối hoạt động. –

Các vấn đề liên quan