2009-09-28 35 views
5

Tôi đã đánh giá một số công nghệ hàng đợi tin nhắn mã nguồn mở, như RabbitMQ, ActiveMQ, OpenAMQ, vv Câu hỏi của tôi là lợi ích thu được bằng cách sử dụng công nghệ thương mại như Tibco EMS, WebSphereMQ, Sonic, vv thay vì một cái gì đó như hoạt động hoặc thỏ? PHP sẽ là ngôn ngữ chính có liên quan, mặc dù các hệ thống Java cũng sẽ tương tác.Lợi ích của tin nhắn thương mại Middleware vs mã nguồn mở

Trả lời

13

Tôi muốn nói rằng các lợi ích rất ít và xa. Bạn thực sự cần phải chắc chắn rằng một hệ thống thương mại là dành cho bạn trước khi bạn đầu tư vì có khả năng sẽ không quay trở lại.

Một số trong những điều rất bí truyền, vì vậy dễ bị nhà cung cấp lock-in, nặng như vậy damn rằng bạn sẽ cảm thấy như bạn có một con khỉ đột trên lưng của bạn, không chỉ là một con khỉ;)

4

Có nhiều cộng đồng tuyệt vời xung quanh các dự án như RabbitMQ (xem danh sách gửi thư chẳng hạn). Ngoài ra, nếu chi phí là một vấn đề, rõ ràng là nguồn mở là một chiến thắng ở đó.

+1

+1 RabbitMQ thực sự là một phần mềm tuyệt vời, rất được khuyến khích. –

+1

"Xem xét ActiveMQ chẳng hạn. Cả hai phần mềm Progress và SpringSource cung cấp thỏa thuận hỗ trợ cho ActiveMQ" - nếu hỗ trợ cho phần mềm nguồn mở cuối cùng trở thành cùng một chi phí thì tại sao không phải là một sản phẩm thương mại dựa trên nhà cung cấp? – hB0

5

Những công nghệ thương mại là tốt, nhưng đầu tư vào chúng có thể dốc. Cả chi phí giấy phép hàng năm và chi phí hỗ trợ đang diễn ra phải được xem xét khi đưa ra quyết định. Theo như nhà cung cấp bị khóa, trong thế giới thương mại chỉ có một nhà cung cấp hỗ trợ cho một sản phẩm nhất định. Trong thế giới nguồn mở, thường có nhiều hơn một nhà cung cấp hỗ trợ. Hãy xem xét ActiveMQ chẳng hạn. Cả hai phần mềm Progress và SpringSource đều cung cấp các thỏa thuận hỗ trợ cho ActiveMQ cũng như một số thỏa thuận khác.

Ngoài ra, trong thế giới thương mại, bạn sẽ không bao giờ tự mình tìm kiếm mã nguồn. Đối với một sản phẩm như ActiveMQ, bất kỳ ai cũng có thể lấy mã nguồn. Điều này là khá mạnh mẽ bởi vì nó có nghĩa là bạn có thể thêm các tính năng, vv và khá có thể có được chúng được thêm vào sản phẩm.

ActiveMQ có một cộng đồng tuyệt vời và được triển khai rất rộng rãi. ActiveMQ cung cấp các API ứng dụng khách cho nhiều ngôn ngữ bao gồm C/C++, Java, .NET, Perl, PHP, Python, Ruby và hơn thế nữa.

Bruce

3

Tôi nghĩ rằng nó luôn luôn tốt nhất để kiểm tra kỹ lưỡng các yêu cầu của bạn trước khi chọn một hệ thống tin nhắn:

  • Không phải tất cả các nhà cung cấp thương mại sẽ hỗ trợ PHP ví dụ. ActiveMQ và RabbitMQ sẽ.
  • Không phải tất cả các hệ thống nhắn tin đều có thể hỗ trợ kích thước Hàng đợi rất lớn - mặc dù ActiveMQ thực hiện
  • Không phải tất cả các hệ thống nhắn tin đều dừng lại mà không mất thông báo ActiveMQ sẽ - mà không cần phải sử dụng giao dịch.

Và nếu bạn định sử dụng nguồn mở - luôn xem cộng đồng - ActiveMQ là cộng đồng năng động nhất của bất kỳ nhà cung cấp tin nhắn nguồn mở nào - và đó cũng là Apache - nghĩa là sự đa dạng và không phụ thuộc vào bất kỳ nhà phát triển nào hoặc nhà cung cấp để giao hàng.

4

Sự khác biệt lớn nhất mà tôi thấy là hỗ trợ và quản lý hoạt động. Các nhà cung cấp thương mại thường cung cấp các công cụ tốt hơn cho nhân viên hỗ trợ/biên tập để gửi lại, chỉnh sửa tin nhắn, v.v.

Đây là điểm yếu của các dịch vụ nguồn mở, nếu được sửa chữa, sẽ gây thiếu ngủ nghiêm trọng cho các nhà cung cấp thương mại.

1

Nếu bạn sử dụng sản phẩm thương mại nó đi kèm với tất cả mọi thứ (chỉ cần chúng ta có sử dụng) nhưng tất cả các sản phẩm mã nguồn mở sẽ có các tính năng cơ bản nhưng chúng ta vẫn có thể thực hiện các tính năng sản phẩm thương mại (bao gồm rất nhiều phát triển)