2011-02-02 30 views
29

Kinh nghiệm của bạn với ZeroMQ là một phần mềm trung gian thông điệp có mục đích chung là gì?Sản phẩm ZeroMQ đã sẵn sàng chưa?

  1. Bạn có gặp phải bất kỳ lỗi hiển thị nào hoặc "tính năng" không rõ ràng không? Ví dụ. 2.0 không xóa thông báo đúng cách và the troubleshooting guide dường như cung cấp giải pháp đáng sợ nhất cho tất cả chúng: "sleep(1) trước khi thoát".
  2. API có làm giảm độ phức tạp của các ứng dụng hoặc đã chứng minh là phiền hà không?
  3. Tính tương thích ngược thường bị hỏng?

Trả lời

28

Tôi đang sử dụng nó để nghiên cứu, do đó "bán sản xuất". Đó là một khuôn khổ tuyệt vời, và cách mọi thứ được kiến ​​trúc chắc chắn có ý nghĩa một khi bạn hoàn toàn lúng túng nó. Nhưng tôi đã đánh quá nhiều vấn đề để xem xét sản xuất đã sẵn sàng. Tôi đang sử dụng jzmq, vì vậy một số điều này có thể được cụ thể cho điều đó.

  1. Thiết lập jzmq trên OS X/Eclipse là ... không dễ chịu.
  2. Khởi động ứng dụng đôi khi sẽ gây ra lỗi xác nhận trong mã ZeroMQ C, vì vậy tôi cần phải bọc ứng dụng của mình vào một thứ kiểm tra trạng thái ngoại lệ này.
  3. Lỗi đôi khi rất không mô tả. Tôi đã có quá nhiều trường hợp ngoại lệ bất hợp pháp mà không có thông điệp giải thích.
  4. Không có hỗ trợ cho TLS. Điều này gần như là một đối phó-breaker cho tôi, và tôi có thể dễ dàng nhìn thấy nó loại trừ khả năng sẵn sàng cho một số ứng dụng.
  5. Tài liệu là "tắt". Các official guide là tốt đẹp, nhưng nếu bạn có một vấn đề cụ thể, nó thường không hữu ích. Và tôi mất nhiều thời gian hơn bình thường để tìm câu trả lời cho mọi thứ khi googling xung quanh. Danh sách gửi thư tuy nhiên khá tích cực.

NHƯNG, và điều này là lớn nhưng tôi không thể đếm số giờ đã lưu tôi. This post có một bản tóm tắt tốt chỉ là một vài cách giúp cuộc sống dễ chịu hơn.

14

Tôi cũng đang sử dụng ZeroMQ trong môi trường "nửa sản xuất" (tạo mẫu cho DARPA). Cho đến nay nó đã được thực sự tuyệt vời cho "buộc mèo với nhau," đặc biệt là khi những con mèo được viết bằng ngôn ngữ khác nhau và sống trên các máy khác nhau. Các thành ngữ ổ cắm có sẵn làm cho suy nghĩ về sự cố máy tính được phân phối rất đơn giản. Sức mạnh của ZeroMQ là thái độ: một mô hình tinh thần vững chắc và sự ràng buộc ngôn ngữ phong phú.

Tuy nhiên, hãy thận trọng nếu bạn gặp khó khăn về hiệu suất cứng. Tôi đang làm việc trên một hệ thống thời gian thực và đã phát hiện ra rằng, mặc dù ZeroMQ hướng đến mục tiêu là một giải pháp hiệu suất cao, nó chưa sẵn sàng cho thời gian ban đầu. Tôi nghĩ rằng kiến ​​trúc tại chỗ có tiềm năng to lớn; nó dường như bị cản trở bởi một số lỗi niggling. Có lẽ tôi đã mong đợi điều đó từ một thư viện đã phát triển rất nhanh, từ 0,0 đến 3,0 trong một thời gian tương đối ngắn. Tuy nhiên, tôi nghĩ rằng tôi muốn có được một thay thế thả cho ngăn xếp giao thức cầm tay của riêng tôi và ngay lập tức nhấn một số thỏa thuận-breakers. Nếu bạn quyết định đi với ZeroMQ, chỉ cần ghi nhớ rằng bạn đang làm việc tốt trên lớp vận chuyển, và nếu hiệu suất là ít hơn so với mong muốn có rất ít bạn có thể làm gì về nó.

Điều đó đang được nói, cuộc trò chuyện trên danh sách gửi thư và kênh IRC là khá tuyệt vời. Các nhà phát triển dường như thực sự quan tâm đến việc xây dựng một thứ gì đó hoàn toàn tiên tiến. Họ thích nó rằng thư viện của họ có tiếng vang và được sử dụng cho những điều nghiêm túc, thú vị. Họ là những người bận rộn, do đó, không mong đợi một tấn nắm tay.Tuy nhiên, nếu bạn có một vấn đề thực sự, họ rất háo hức muốn biết điều gì đang xảy ra.

Dòng dưới cùng: Một con dao quân đội Thụy Sĩ tuyệt vời cho các vấn đề về máy tính được phân phối hàng ngày. Hãy thận trọng nếu bạn đang tìm kiếm hiệu suất xuất huyết; đó là ít nhất một bản phát hành chính. Tuy nhiên, tương lai là tìm kiếm tuyệt vời cho dự án này, do đó, sử dụng nó và hỗ trợ nó.

-2

tuyên bố từ chối trách nhiệm: điều này xuất phát từ một người không bao giờ sử dụng AMQP hoặc bất kỳ sản phẩm tương tự nào khác trước đây.

Tài liệu không hợp lệ xấu. (C# sẽ là một xấu nếu không có tài liệu cho. Net và C#) Vì vậy, ZMQ có thể là điều tốt nhất hiện có nếu bạn biết làm thế nào để sử dụng nó, nhưng tài liệu tồn tại (không nhiều) là khá xấu (chúng tôi là rất thông minh, điều này rất tốt, Erlang, blah blah, không phải là một ví dụ n-to-n trong hướng dẫn ...).
Bạn nói như vậy, hầu hết các dự án hệ điều hành có tài liệu không tốt hoặc không có gì. Vâng, nhưng đối với vài dự án hệ điều hành khá oa bạn có thể google một tấn công cụ (hướng dẫn, ví dụ ...). Với ZMQ, đó là: Zero là dành cho tài liệu. Vì Im a C++ dev ốm nói như thế này. Trước khi cố gắng sử dụng ZMQ tôi nghĩ rằng boost có tài liệu xấu và tương đối ít ví dụ trên internet. Nhưng so với tài liệu ZMQ Boost thì tuyệt vời và các ví dụ rất phong phú.

EDIT: để làm cho những điều thú vị hơn (cuộc nội chiến: P): http://www.infoq.com/news/2012/03/Crossroads-IO

Martin Sustrik và Martin Lucina, người sáng tạo của ZeroMQ gốc, đã quyết định lấy lại quyền kiểm soát dự án bởi forking nó . Dự án mới, có tên là Crossroads I/O, đang được thiết lập để khuyến khích hệ sinh thái thương mại có khả năng đáp ứng nhu cầu tài chính dài hạn của họ là .

EDIT2: sao chép và chạy ví dụ từ hướng dẫn (phiên bản cpp của "Nhà môi giới yêu cầu trả lời") không hoạt động. Bạn có thể thấy quá trình phát triển thư viện tốt như thế nào bởi thực tế là họ không có ví dụ của họ làm bài kiểm tra. : P
EDIT3: một số ví dụ ở dạng v2. *, Ofc phiên bản mới nhất là v3.2. Vì vậy, một lần nữa điều này có mùi giống như một dự án hệ điều hành unmaintained thối.

+1

Nhưng ... ZeroMQ không được viết bằng Erlang. Đó là RabbitMQ. –

+0

Họ tuyên bố là một khung tác nhân MT như Erlang ... đọc tuyên ngôn của họ: D – NoSenseEtAl

+1

http://crossroads.io đã chết và cam kết cuối cùng trên https://github.com/crossroads-io/libxs là 3 năm trước đây. Nhưng ít nhất nó không phải là một dự án unmaintained như https://github.com/zeromq/libzmq mà chỉ được cập nhật ... oh ... chờ đợi ... 6 ngày trước. –

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