HTTP অনুরোধের জন্য কুবারনেট / এল্ব টাইম আউটস কী?


9

আমার একটি জাভা এপিআই রয়েছে (এইচটিটিপিএস অনুরোধগুলি গ্রহণ করছে_ একটি ডকারের চিত্রে প্যাকেজড, এবং তারপরে এটি ইসি 2 এর শীর্ষে কে 8 এস ক্লাস্টার ব্যবহার করে স্থাপন করা হয়েছে The মাস্টার ইসি 2 এর সামনে একটি ELB রয়েছে।

আমি জাভা এপিআইতে হিট করার জন্য ELB তে কার্ল পোষ্ট অনুরোধ করতে পারি।

কখনও কখনও আমার কার্ল অনুরোধটি চিরকালের জন্য প্রতিক্রিয়াটির জন্য অপেক্ষা করে বসে যদিও আমি কিউব লগগুলি দেখি প্রসেসিং সফল হয়েছিল।

প্রায় 40 মিনিট বৃহত্তর অনুরোধের জন্য এটি ঘটে, 25 মিনিটের অনুরোধগুলি একটি প্রতিক্রিয়া পাচ্ছে ঠিক আছে।

টাইমআউট কোথায় হতে পারে বলে আপনি মনে করেন? আমার কোন নির্দিষ্ট কনফিগার প্যারামগুলি দেখতে হবে?

ক্লায়েন্ট (কার্ল) -> ইএলবি -> কে 8 এস -> পোড়া জাভা এপি চিত্র চালাচ্ছে

আমি ভেবেছিলাম এটি ইএলবির জন্য প্রাসঙ্গিক হবে (আমি আইডালটাইমআউট সেট করছি না) তবে ডকস বলেছেন যে ডিফল্ট 60 এর দশক, যদিও আমি 20 মিনিটের অনুরোধ "সংযোগসেটে": Id "আইডলটাইমআউট" for


"40 মিনিটের কাছাকাছি বৃহত্তর অনুরোধগুলি" আপনি এর অর্থ কী?
অর্ঘ্য সাধু

অর্থাত্ বড় ফাইল আপলোড করে,
এপিটি 40 মিনিট সময়

আমি ভাবছি কেন মাস্টারের সামনে আপনার কাছে এলবি আছে (আপনি এপিআই-সার্ভার বলতে চাইছেন?) এবং আপনি কীভাবে আপনার এলপিতে পৌঁছতে পারেন যে এলবিটি মারছে?
suren

উত্তর:


1

পাম্পি তার উত্তরে যেমন উল্লেখ করেছেন, ELB সময়সীমাটি কেবল অলস সময় গণনা করে। এটি 1 থেকে 4000 সেকেন্ডের মধ্যে হতে পারে এবং এটি ডিফল্টভাবে 60 সেকেন্ডে সেট করা থাকে। আপনি সি এল এল বা কনসোল ব্যবহার করে সময়সীমা পরিবর্তন করতে পারেন।

নীচে সিএলআই ব্যবহার করে এটি 5 মিনিটে পরিবর্তন করার একটি উদাহরণ রয়েছে:

aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes "{\"ConnectionSettings\":{\"IdleTimeout\":300}}"

সূত্র: ডকস

আপনি যখন 20-40 মিনিট সময় নিয়ে বড় ফাইল আপলোড করছেন, তখনও আমি আপত্তিটি অ্যাসিঙ্ক্রোনালিভাবে পরিচালনা করতে এবং রবিটএম বা কাফকার মতো বার্তা ব্রোকার ব্যবহার সম্পর্কে অন্যান্য পরামর্শগুলি সুপারিশ করব।


0

ELB সময়সীমা কেবল "অলস" সময়ের জন্য গণনা করা হয় । তার মানে আপনার আপলোড যতক্ষণ চলছে ততক্ষণ এটি নিষ্ক্রিয় নয়। ফাইলটি যখন আপনার সার্ভারে পৌঁছেছে তখন আপনার সার্ভার সাড়া না দেওয়া পর্যন্ত আপনাকে সময়টি পরিমাপ করতে হবে।

যখন এটি সঠিকভাবে পেল, সার্ভারটি অনুরোধটি প্রসেস করবে এবং ক্লায়েন্টের পরে একটি প্রতিক্রিয়া ফিরিয়ে দেবে। Seconds০ সেকেন্ডের ডিফল্ট সময়সীমা সহ, আপনার সার্ভারের আপলোড করা ফাইলটি প্রক্রিয়া করতে এবং একটি উত্তর ফিরে আসতে এই 60 সেকেন্ডের রয়েছে।

আপনার 25 মিনিটের আপলোডটি প্রসেস করতে আপনার সার্ভারকে 60 সেকেন্ডেরও কম প্রয়োজন হতে পারে, তবে 40 মিনিটের আপলোড প্রক্রিয়া করার জন্য আরও কিছু হতে পারে?


60 সেকেন্ড কোথা থেকে আসে? আমি ডিফল্ট IdleTimeout ব্যবহার করছি না ELB উপর
tooptoop4

60 সেকেন্ড হ'ল ELB এর ডিফল্ট অলস সময়সীমা। আপনি এটি "ব্যবহার করতে পারবেন না"। আপনি এটিকে 1 সেকেন্ড থেকে 60 মিনিটের মধ্যে পরিবর্তন করতে পারেন তবে ELB কে বলার কোনও উপায় নেই যে সংযোগটি একেবারেই বন্ধ করবেন না।
পাম্পি

0

আপনি কেন ফাইল আপলোড করবেন না এবং খরগোশ এমকিউয়ের মতো বার্তা ব্রোকারে কোনও ইভেন্ট চাপবেন না। কুবারনেট জব / ক্রোনজব অবজেক্ট অ্যাসিঙ্ক্রোনালি ব্যবহার করে ফাইলগুলিতে ইটিএল সম্পাদন করুন এবং তদনুসারে ক্লায়েন্টকে অবহিত করুন।

এইভাবে, আপনাকে আর দীর্ঘ সময়ের জন্য আগত অনুরোধটি আটকাতে হবে না। ইভেন্ট প্রকাশের পরে পোস্ট আপলোড ক্লায়েন্টকে একটি বার্তা পাঠান যে অনুরোধটি প্রক্রিয়া করা হচ্ছে।


সময়সীমাটি কোথায় রয়েছে তা আমি এখনও খুঁজে পেতে চাই
টুস্টুপ 4

0

এইচটিটিপি অনুরোধের জন্য 25 মিনিট বেশ দীর্ঘ। আমি পি একম্বরামের সাথে একমত।

আমি মনে করি যে ফাইলটি আপলোড হওয়ার সাথে সাথে শেষ পয়েন্টটি অ্যাসিক্রোনাস তৈরি করা এবং জবাব দেওয়া আরও ভাল হতে পারে, একই সাথে মিডলওয়্যার মেসেজিং (রব্বিটএমকিউ, কাফকা বা এনএটিএস) বা ওয়েবসকেট ব্যবহার করুন, যা ইভেন্টটিকে একবার ধাক্কা দেয় ফাইলটি সফলভাবে আমদানি করা এবং প্রক্রিয়াজাত করা হয়।


0
 aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes "{\"ConnectionSettings\":{\"IdleTimeout\":300}}"

সময়সীমা 5 মিনিটে পরিবর্তন করতে সিএলআইতে এটি ব্যবহার করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.