উচ্চতর উপলভ্যতা
ক্রিস যেমন উল্লেখ করেছেন, আপনার এপিআই সার্ভারটি আপনার বিন্যাসে ব্যর্থতার একক পয়েন্ট। আপনি যা স্থাপন করছেন সেটি হ'ল একটি বার্তা কুইউং অবকাঠামো, এমন কিছু যা আগে অনেকে প্রয়োগ করেছেন।
একই পথে চালিয়ে যান
আপনি এপিআই সার্ভারে অনুরোধগুলি গ্রহণের উল্লেখ করেছেন এবং প্রতিটি সার্ভারে চলমান একটি মাইএসকিউএল ডিবিতে কাজ সন্নিবেশ করান। আপনি যদি এই পথে চালিয়ে যেতে চান তবে আমি এপিআই সার্ভার স্তরটি সরিয়ে ফেলার পরামর্শ দিচ্ছি এবং কর্মীদের প্রতিটি আপনার এপিআই ব্যবহারকারীদের কাছ থেকে সরাসরি আদেশ স্বীকার করার জন্য ডিজাইন করব। আপনি প্রতিটি এপিআই ব্যবহারকারী সংযোগ উপলব্ধ কর্মী নোডগুলির মধ্যে সরাসরি বিতরণ করতে রাউন্ড-রবিন ডিএনএসের মতো সাধারণ কিছু ব্যবহার করতে পারেন (এবং কোনও সংযোগ সফল না হলে পুনরায় চেষ্টা করুন)।
একটি বার্তা সারি সার্ভার ব্যবহার করুন
আরও শক্তিশালী বার্তা কুইউং অবকাঠামোগত এ্যাকটিএমকিউ এর মতো ডিজাইন করা সফ্টওয়্যার ব্যবহার করে । আপনি এপিআই ব্যবহারকারীদের কাছ থেকে পোষ্ট অনুরোধ গ্রহণ করতে অ্যাক্টিভ কিউর আরইএসএফুল এপিআই ব্যবহার করতে পারেন এবং নিষ্ক্রিয় কর্মীরা কাতারে পরবর্তী বার্তাটি পেতে পারেন। তবে এটি সম্ভবত আপনার প্রয়োজনের জন্য ওভারকিল - এটি একটি সেকেন্ডে বিলম্বিতা, গতি এবং লক্ষ লক্ষ বার্তাগুলির জন্য ডিজাইন করা হয়েছে।
চিড়িয়াখানা ব্যবহার করুন
মাঝের ক্ষেত্র হিসাবে, আপনি চিড়িয়াখানার দিকে নজর দিতে চাইতে পারেন , যদিও এটি বিশেষত কোনও বার্তা সারি সার্ভার নয়। আমরা এই সঠিক উদ্দেশ্যে $ কাজে ব্যবহার করি। আমাদের কাছে তিনটি সার্ভারের একটি সেট রয়েছে (আপনার এপিআই সার্ভারের সাথে সাদৃশ্যপূর্ণ) যা চিড়িয়াখানার সার্ভার সফ্টওয়্যারটি চালায় এবং ব্যবহারকারী এবং অ্যাপ্লিকেশনগুলির অনুরোধগুলি পরিচালনা করার জন্য একটি ওয়েব ফ্রন্ট্যান্ড রয়েছে। ওয়েব ফ্রন্টএন্ডের পাশাপাশি শ্রমিকদের সাথে চিড়িয়াখানার ব্যাকএন্ড সংযোগে, কোনও সার্ভার রক্ষণাবেক্ষণের জন্য বন্ধ থাকলেও, আমরা সারির ক্রিয়াকলাপ চালিয়ে যাব তা নিশ্চিত করার জন্য একটি লোড ব্যালেন্সার রয়েছে। কাজ শেষ হয়ে গেলে, শ্রমিক চিড়িয়াখানার ক্লাস্টারকে বলে যে কাজটি সম্পূর্ণ হয়েছে। যদি কোনও শ্রমিক মারা যায়, তবে সেই কাজটি অন্য কোনও কাজে সম্পূর্ণ করার জন্য প্রেরণ করা হবে।
অন্যান্য উদ্বেগ
- কোনও কর্মী সাড়া দিচ্ছে না এমন পরিস্থিতিতে কাজগুলি সম্পূর্ণ নিশ্চিত করুন
- এপিআই কীভাবে জানতে পারে যে কোনও কাজ সম্পূর্ণ, এবং এটি কর্মীর ডাটাবেস থেকে পুনরুদ্ধার করতে?
- জটিলতা কমাতে চেষ্টা করুন। প্রতিটি কর্মী নোডে আপনার একটি স্বতন্ত্র মাইএসকিউএল সার্ভারের দরকার আছে, বা তারা মাইএসকিউএল সার্ভারের সাথে কথা বলতে পারে (বা মাইএসকিউএল ক্লাস্টার) এপিআই সার্ভারে (গুলি)?
- নিরাপত্তা। কেউ কি চাকরী জমা দিতে পারবেন? প্রমাণীকরণ আছে?
- কোন কর্মীর পরবর্তী কাজ পাওয়া উচিত? কার্যগুলি 10 মিমি বা 1 ঘন্টা লাগবে কিনা তা আপনি উল্লেখ করেন না। যদি সেগুলি দ্রুত হয় তবে আপনার বিলম্বকে কমিয়ে দেওয়ার জন্য স্তরগুলি সরিয়ে নেওয়া উচিত। যদি তারা ধীর গতিতে থাকে তবে আপনার খাটো অনুরোধগুলি দীর্ঘ কয়েক দফায় দফায় আটকে না যায় তা নিশ্চিত করার জন্য আপনাকে খুব সতর্ক হওয়া উচিত।