2010-02-26 43 views
5

Tôi đã viết một máy chủ thông lượng cao xử lý từng yêu cầu trong chuỗi của riêng nó. Đối với các yêu cầu đến đôi khi cần thiết để thực hiện RPC cho một hoặc nhiều back-end. Những RPC mặt sau này được xử lý bởi một hàng đợi và luồng chủ riêng biệt, cung cấp một số giới hạn về số lượng các luồng được tạo và số lượng kết nối tối đa cho back-end (nó thực hiện một số bộ nhớ đệm để tái sử dụng máy khách và tiết kiệm chi phí liên tục tạo kết nối). Mặc dù đã làm tất cả điều này, tôi bắt đầu nghĩ rằng một kiến ​​trúc dựa trên sự kiện sẽ hiệu quả hơn.Có Java tương đương với libevent không?

Khi tìm kiếm xung quanh, tôi không tìm thấy bất kỳ sự tương đương nào với libevent cho Java, nhưng có lẽ tôi không tìm đúng địa điểm? Mina-statemachine từ Apache là thứ gần nhất tôi tìm thấy, nhưng nó có vẻ dài hơn tôi cần và không có bản phát hành thực sự nào.

Mọi đề xuất?

Trả lời

5

Tôi trễ một chút nhưng:

Bạn đã xem Netty chưa? Hoặc Grizzly.

+0

Cảm ơn, tôi đã dành thời gian nhìn Netty và tôi nghĩ đó là một giải pháp tốt. – JoelPM

-1

Bạn có thể đang tìm kiếm một công cụ quy trình làm việc như JBPM hoặc bất kỳ công cụ nguồn mở nào khác được liệt kê here.

+0

Tôi không nghĩ OP quan tâm đến BPM hoặc giải pháp quản lý luồng công việc. libevent là về mạng không chặn io – Tair

1

Câu trả lời có vẻ là 'không', mặc dù nó trông giống như thư viện Ruby EventMachine cung cấp một thực hiện Java cho người dùng JRuby mà có thể sử dụng được hoặc ít nhất là đóng vai trò là nguồn cảm hứng cho các văn bản của riêng tôi: http://github.com/eventmachine/eventmachine/tree/master/java/

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