Để cắt một câu chuyện dài, tôi đang làm việc trên một dự án mà chúng tôi đang viết lại một ứng dụng web lớn cho tất cả các lý do thông thường. Mục đích chính của việc viết lại là tách riêng ứng dụng đơn lớn này chạy trên một máy chủ đơn thành nhiều ứng dụng tách nhỏ hơn, có thể chạy trên nhiều máy chủ.Nhắn tin, Hàng đợi và ESB - Tôi biết mình muốn ở đâu nhưng không biết cách đến đó
Ok đây là những gì tôi muốn:
Tôi muốn HTTP
là cơ chế vận chuyển chính. Khi một ứng dụng ví dụ như các CMS đã được cập nhật nó sẽ liên lạc với người môi giới thông qua http và nói "I've changed"
, sau đó người môi giới sẽ gửi lại một 200 OK
nói "thanks I got the message"
.
Nhà môi giới sau đó sẽ xem danh sách các ứng dụng khác muốn nghe về thay đổi CMS và chuyển thông báo tới url mà ứng dụng còn lại khi nó nói với nhà môi giới muốn nghe về thông báo.
Các ứng dụng khác sẽ trả về 200 OK
khi họ nhận được tin nhắn, nếu không phải nhà môi giới lưu tin nhắn và xếp hàng cho lần tiếp theo ai đó cố liên lạc với ứng dụng đó.
Vấn đề là tôi thậm chí không biết bắt đầu từ đâu hoặc những gì tôi cần để làm cho nó xảy ra. Tôi đã nhìn vào XMPP, ActiveMQ, RabbitMQ, Mule ESB vv và có thể nhìn thấy tôi có thể dành những năm tiếp theo đi xung quanh trong vòng tròn với công cụ này.
Có ai có thể đưa ra bất kỳ lời khuyên nào từ kinh nghiệm cá nhân vì tôi rất muốn tránh học bài học một cách khó khăn.
Một bầu cho OpenMQ từ tôi. Những câu chuyện thành công tại http://blogs.sun.com/alexismp/entry/openmq_the_untold_story khá ấn tượng. – mjn