के साथ अत्यधिक समवर्ती HTTP एक समवर्ती, थ्रेडेड वातावरण के भीतर http अनुरोध करने के लिए मैं example Netty HTTP Client code के माध्यम से काम कर रहा हूं।नेटटी और एनआईओ
हालांकि, मेरी प्रणाली पूरी तरह से कम थ्रूपुट पर पूरी तरह से टूट जाती है (अपवादों के साथ)।
लगभग छद्म कोड में:
ClientBootstrap bootstrap = new ClientBootstrap(new NioClientSocketChannelFactory())
bootstrap.setPipelineFactory(new HttpClientPipelineFactory());
ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port));
Channel channel = future.awaitUninterruptibly().getChannel();
HttpRequest request = new DefaultHttpRequest();
channel.write(request);
उदाहरण में, वहाँ से (कुछ हुप्स के माध्यम से) एक अनुरोध मैं एक ClientBootstrap बनाने बनाने के लिए, और एक चैनल HttpRequest लिखने के लिए।
यह सब काम करता है और अच्छा है।
हालांकि, एक समवर्ती स्थिति में, क्या प्रत्येक अनुरोध एक ही हुप्स के माध्यम से जा रहा है? मुझे लगता है कि फिलहाल मेरे लिए चीजें तोड़ रही हैं। क्या मुझे कनेक्शन का पुन: उपयोग करना चाहिए या अपने क्लाइंट को पूरी तरह से अलग तरीके से संरचित करना चाहिए?
इसके अलावा: मैं क्लोजर में ऐसा कर रहा हूं, अगर इससे कोई फर्क पड़ता है।
शायद आपको https://github.com/ztellman/aleph का उपयोग करना चाहिए? – PheliX
क्या आपके पास एलीफ के साथ अनुभव है? मैंने एक और एसिंक क्लोजर http क्लाइंट की कोशिश की है, लेकिन यह थ्रूपुट के स्तर पर काम नहीं करता है जिसे मुझे बनाए रखने की आवश्यकता है। –