2012-06-28 30 views
9

Tôi có một kịch bản mà tôi có một loạt các quy trình cần thực hiện, mỗi bước được thực hiện và thu nhỏ trong các ứng dụng độc lập. Tôi đang sử dụng trao đổi chủ đề cho tất cả các trao đổi. topo hiện nay là một cái gì đó như thế này:RabbitMQ Trao đổi chủ đề: 1 Trao đổi so với nhiều trao đổi

P -> X -> Q -> C/P -> X -> Q -> C

Chúng tôi đang "versioning" hàng đợi của chúng tôi để đối phó với các yêu cầu có thể xảy ra những thay đổi thực cấu trúc tin nhắn. Bindings có thể trông như thế này:

step1.exchange ràng buộc để step1.v1.queue với step1.v1 trọng ràng buộc

step1.exchange ràng buộc để step1.v2.queue với ràng buộc step1.v2 chính

Có các mẫu ràng buộc khác không phải là phiên bản có liên quan cũng làm cho việc trao đổi tại chỗ trở thành lựa chọn thích hợp. Tuy nhiên chúng tôi có thể lấy đi chỉ bằng cách sử dụng một trao đổi để thực hiện điều tương tự.

TLDR: Lợi ích của việc sử dụng nhiều trao đổi tại chỗ thay vì một trao đổi tại chỗ khi trường hợp sử dụng của bạn có thể hoạt động theo cách nào?

+0

Cảm ơn @robthewolf. Sử dụng các trao đổi riêng biệt chắc chắn sẽ giúp khái niệm hóa, giải thích và ghi lại cấu trúc liên kết. Nó tất nhiên đòi hỏi một chút thiết lập.Tôi rất quan tâm đến hiệu suất hoạt động cũng như mặc dù. –

Trả lời

0

tôi chỉ cần sao chép một số mảnh chìa khóa cho bạn.
https://spring.io/blog/2011/04/01/routing-topologies-for-performance-and-scalability-with-rabbitmq/

  • Nếu bạn có một tên miền hữu hạn các phím định tuyến trong đồ thị của một ứng dụng thì nhiều sàn giao dịch fanout có thể là phù hợp với quyền (1: 1 bản đồ trao đổi mỗi phím định tuyến)

  • Nếu bạn có số lượng khóa định tuyến vô hạn tiềm năng, hãy cân nhắc trao đổi chủ đề

  • Để định tuyến chủ đề, hiệu suất giảm khi số lượng liên kết tăng

  • trao đổi Fanout rất nhanh vì họ không có định tuyến để xử lý nhưng nếu ràng buộc với một số lượng lớn các hàng đợi rằng những thay đổi

  • trao đổi trực tiếp là một hình thức nhanh trao đổi chủ đề, miễn là bạn không cần thẻ hoang dã

  • vấn đề khắc phục sự cố trên 100.000 + hàng đợi có thể là tẻ nhạt so với một topo với nhiều ràng buộc, trao đổi ít và hàng đợi

  • một số lượng rất cao của sàn giao dịch và hàng đợi mất nhiều bộ nhớ có thể là đáng kể nhưng điều này thực sự phụ thuộc

Do RabbitMQ 2.4.0, phát hành ngày 23 tháng 3 năm 2011, tối ưu hóa thuật toán định tuyến chủ đề mới có tốc độ nhanh hơn 60 lần so với thuật toán chủ đề trước đó. Do đó, một đề xuất là đi cho ít trao đổi và xếp hàng hơn và định tuyến hơn vì thời gian tăng bây giờ là tối thiểu

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