2009-10-09 33 views
65

Chúng tôi đang cần một hệ thống nhắn tin kiến ​​trúc phân tán/dịch vụ xe buýt với khả năng Xuất bản/Đăng ký. Có ai có bất kỳ lời khuyên cho một khuôn khổ mà chúng tôi có thể sử dụng cho các ứng dụng .net?Đề xuất xe buýt dịch vụ mạng?

+14

Các câu hỏi như vậy mang tính xây dựng rất nhiều. Câu hỏi này nằm ở đầu tìm kiếm của Google và rất hữu ích. Câu hỏi của tôi về UML http://stackoverflow.com/q/6877121/377133 –

+4

Điều này không mang tính xây dựng? Bạn đang đua tôi đây a. Tôi nói câu hỏi này là siêu xây dựng. Tài nguyên tốt nhất về loại câu hỏi này. – kheya

+2

@kheya Các loại câu hỏi này được coi là không mang tính xây dựng vì vô số lý do (tiềm năng cho spam và các công cụ này nhanh đến mức nào). Đây là một câu trả lời về meta giải thích rằng, và tôi chắc chắn có nhiều hơn: http://meta.stackoverflow.com/a/251135/1195056 – krillgar

Trả lời

24

NServiceBus đang ngày càng phổ biến. Nó cũng là nguồn mở. Đây là Hanselminutes episode với Scott Hanselman nói chuyện với Udi Dahan về NServiceBus để giúp đỡ nó. Bạn chắc chắn nên đánh giá bằng cách sử dụng nó.

UPDATE: Ngoài ra còn có một tập DNR TV trong đó cho thấy những gì nó giống như xây dựng một giải pháp NServiceBus từ đầu ở đây: http://www.dnrtv.com/default.aspx?showNum=199

+34

Mặc dù nó là nguồn mở bạn có thể muốn xem xét cấp phép của họ. Chỉ một số trường hợp sử dụng miễn phí.Trong các trường hợp khác, bạn có thể cần giấy phép thương mại với chi phí. – Manfred

+3

Bạn có thể muốn tránh xa việc tải xuống mã nguồn nServiceBus, vì mã nguồn (sau phiên bản 2.0) không được cấp với giấy phép nguồn mở (ít nhất, không phải là giấy phép phổ biến). Vì vậy, bằng cách có mã nguồn, bạn có khả năng có thể tìm thấy chính mình trong lãnh thổ pháp lý u ám. Nếu bạn là một cửa hàng web nhỏ, có lẽ không phải là một vấn đề thực sự. Tuy nhiên, nếu bạn là một công ty Fortune 500 có túi sâu, ... –

+0

Chỉ cần làm rõ một số ý kiến, NServiceBus sử dụng giấy phép Đối ứng. Về cơ bản nó có nghĩa là bạn phải mở nguồn bất cứ điều gì mà bạn sử dụng NServiceBus với. Nếu điều đó không hiệu quả với bạn thì bạn phải mua nó. – Vaccano

2

Không có trưởng thành thực hiện dịch vụ xe buýt trong .NET chồng cho đến nay. Microsoft hiện đang phát triển một.

http://msdn.microsoft.com/en-us/library/windowsazure/jj193022(v=azure.10).aspx

Là một tùy chọn bạn có thể sử dụng từ thế giới Java. Ví dụ, TIBCO - họ có các ứng dụng .NET khá mạnh mẽ, hoặc OpenMQ.

Nếu bạn không cần nhiều tính năng và sẵn sàng phát triển hệ thống của riêng mình - hãy sử dụng WCF cho việc này. Cuộc gọi lại WCF rất phù hợp cho việc này.

+15

Tôi nghĩ bạn đang nhầm lẫn ESB cho Nhắn tin. Tibco và OpenMQ là Hàng đợi Tin nhắn. Họ chỉ đơn giản là cung cấp cơ chế vận chuyển. Chỉ có bấy nhiêu thôi. Giới thiệu về triển khai thực hiện dịch vụ .NET: Bạn ngày càng ít quyền, mặc dù NServicebus sắp xuất hiện khá gần với một sản phẩm trưởng thành và những nỗ lực dường như ở đó để làm như vậy. Và với tư cách là một người xây dựng một số giải pháp sử dụng WCF như một Servicebus: Không .. WCF không phù hợp cho việc này. Pub/sub trong WCF là một pita để nói rằng ít nhất và sẽ yêu cầu một lặn sâu nghiêm trọng vào WCF và đó là kiến ​​trúc để chỉ tìm ra rằng nó không có nghĩa là cho nó. – Noctris

+0

IMHO không đúng. Neuron ESB là ổn định và trưởng thành - và được xây dựng trên công nghệ của Microsoft (.NET incl. WCF/MSMQ, v.v.) – larsw

3

Tôi đã tìm thấy ActiveMQ được tích hợp vào Apache NMS để dễ hiểu, thiết lập và minh bạch.

Ví dụ: ActiveMQ đi kèm với lối vào web cho phép bạn sử dụng trình duyệt web để xem hàng đợi thư và đọc, xóa và thậm chí tạo thư. Vì vậy, bạn có thể dễ dàng bắt đầu phát triển và thử nghiệm chỉ một bên của ứng dụng phân tán của bạn, và gỡ lỗi và giám sát là rất thẳng về phía trước.

+3

NServiceBus có thể chạy trên ActiveMQ (trong số các hàng đợi khác) kể từ phiên bản 4.0 mang lại cho bạn tốt nhất của cả hai thế giới. –

3

Tôi hiện đang làm việc trên một bus dịch vụ dựa trên WCF nguồn mở. Bạn có thể tìm thấy ở đây: http://rockbus.codeplex.com/. Nó hỗ trợ đăng ký năng động (@ run-time), kho lưu trữ (cơ sở dữ liệu), giao tiếp có thể cắm, định tuyến dựa trên nội dung dựa trên XPath, phân phối giao dịch qua giao thức wcf, phân phối roundrobin, đánh giá đăng ký có thể cắm và hơn thế nữa. Có một cái nhìn!

2

Tôi đã tìm thấy Neuron ESB là một triển khai vững chắc, mặc dù tôi chưa sử dụng nó trong sự tức giận.

5

Khám phá RabbitMQ. Các khách hàng NET là đầy đủ tính năng, và nó khá dễ sử dụng. Có một cuốn sách có tên là RabbitMQ in Action, cũng như RabbitMQ in Depth có sẵn trong các ấn bản truy cập sớm.

+0

Không phải RabbitMQ chỉ là một hàng đợi tin nhắn nguồn mở? Tôi không tin rằng nó thực sự là một khung xe buýt dịch vụ. – gabe

+0

Về mặt kỹ thuật, đó là một nhà môi giới tin nhắn. Nếu nó đáp ứng các yêu cầu cho một dự án, bạn có quan tâm đến cách mọi người phân loại nó không? – TrueWill

+2

Biết rằng đó là một nhà môi giới là thx hữu ích! Tôi không quan tâm về các điều khoản nhưng về cố gắng để bọc não của tôi xung quanh sự khác biệt giữa các techs (vì đây là phần nào bản chất của q/a này). Tôi nhớ bài viết thú vị này về một số khác biệt giữa môi giới và xe buýt: http://www.udidahan.com/2011/03/24/bus-and-broker-pubsub-differences/. – gabe

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