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