Tôi đang làm việc trên một cặp máy khách-khách hàng, nơi máy khách đa luồng thực hiện hàng nghìn lần gọi của máy chủ mỗi giây và ưu tiên đầu tiên là đạt được độ trễ tối thiểu. Thông lượng cũng phải cao. Cả máy khách và máy chủ đều được viết bằng Java, ngữ nghĩa giao tiếp khá đơn giản (các hoạt động đặt/nhận).Thư viện mạng Java có độ trễ thấp và thấp?
Thư viện/khung mạng Java tốt nhất cho các yêu cầu này là gì? Các máy chủ như Tomacat/Jetty có vẻ nặng. Tôi đang suy nghĩ về MINA hoặc Netty, nhưng tôi không chắc chắn rằng những lib không đồng bộ này sẽ cung cấp độ trễ thấp ổn định dưới khối lượng công việc nặng.
Bạn đang nói về "khách hàng [..] thực hiện hàng nghìn lời gọi". Bạn thực sự chỉ có * một * (hoặc rất ít khách hàng)? Khung dựa trên java nio (netty/mina) tỏa sáng khi họ đang xử lý rất nhiều khách hàng (kết nối đồng thời), nhưng điều đó không nhất thiết có nghĩa là những khách hàng này thực hiện nhiều lời gọi. tomcat sử dụng http, trong khi mina/netty được hướng đến việc sử dụng tcp trực tiếp hơn. – MartinK
Có, tôi chỉ có một vài ứng dụng khách và mỗi ứng dụng có một số lượng chủ đề tương đối nhỏ (~ 20). Vì vậy, tổng số kết nối không phải là cực kỳ cao. – user1128016
Hầu như tất cả các thư viện mạng không chặn đều tạo ra rất nhiều rác khi chúng xử lý tin nhắn. Nó trở nên rất khó để có được thời gian thực khi bạn có sự can thiệp GC. Tôi đề nghị bạn hãy xem [CoralReactor] (http://www.coralblocks.com/index.php/category/coralreactor/), tạo ra không rác. – rdalmeida