টর্নেডো কখন এবং কীভাবে ব্যবহার করবেন? কখন অকেজো?


84

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

তবে আমার ধারণা এটি রৌপ্য বুলেট নয় এবং আমরা যদি অন্ধভাবে জ্যাঙ্গো-ভিত্তিক বা টর্নেডো সহ অন্য কোনও সাইট চালনা করি তবে এটি কোনও কার্যকারিতা বাড়বে না।

আমি এর বিস্তৃত ব্যাখ্যা খুঁজে পাইনি, তাই আমি এটি এখানে জিজ্ঞাসা করছি:

  • টর্নেডো কখন ব্যবহার করা উচিত?
  • কখন অকেজো?
  • এটি ব্যবহার করার সময়, কী বিবেচনায় নেওয়া উচিত?
  • টর্নেডো ব্যবহার করে আমরা কীভাবে অক্ষম সাইট তৈরি করতে পারি ?
  • একটি সার্ভার এবং একটি ওয়েব ফ্রেমওয়ার্ক রয়েছে। কখন আমাদের কাঠামো ব্যবহার করা উচিত এবং কখন আমরা এটি অন্যটির সাথে প্রতিস্থাপন করতে পারি?

উত্তর:


45

একটি সার্ভার এবং একটি ওয়েব ফ্রেমওয়ার্ক রয়েছে। কখন আমাদের কাঠামো ব্যবহার করা উচিত এবং কখন আমরা এটি অন্যটির সাথে প্রতিস্থাপন করতে পারি?

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

টর্নেডো এবং ট্যুইস্টেড হ'ল ফ্রেমওয়ার্ক যা অ-ব্লকিং, অ্যাসিনক্রোনাস ওয়েব / নেটওয়ার্কিং অ্যাপ্লিকেশন ডেভলপমেন্ট সমর্থন করে।

টর্নেডো কখন ব্যবহার করা উচিত? কখন অকেজো? এটি ব্যবহার করার সময়, কী বিবেচনায় নেওয়া উচিত?

এর প্রকৃতি অনুসারে, অ্যাসিঙ্ক / নন-ব্লকিং I / O দুর্দান্ত কাজ করে যখন এটি I / O নিবিড় এবং গণনা নিবিড় নয়। বেশিরভাগ ওয়েব / নেটওয়ার্কিং অ্যাপ্লিকেশনগুলি এই মডেলের জন্য ভাল স্যুট করে। যদি আপনার অ্যাপ্লিকেশনটি নির্দিষ্ট কিছু গণনামূলক নিবিড় কাজটি করার দাবি করে তবে এটি আরও কিছু পরিষেবাতে অর্পণ করতে হবে যা এটি আরও ভালভাবে পরিচালনা করতে পারে। টর্নেডো / টুইস্টেড ওয়েব সার্ভারের কাজটি করতে পারে, ওয়েব অনুরোধের প্রতিক্রিয়া জানায়।

টর্নেডো ব্যবহার করে আমরা কীভাবে অদক্ষ সাইট তৈরি করতে পারি?

  1. যে কোনও কাজ গণনামূলক নিবিড় কাজ করুন Do
  2. ব্লকিং অপারেশনগুলি পরিচয় করিয়ে দিন

তবে আমার ধারণা এটি রৌপ্য বুলেট নয় এবং আমরা যদি অন্ধভাবে জ্যাঙ্গো-ভিত্তিক বা টর্নেডো সহ অন্য কোনও সাইট চালনা করি তবে এটি কোনও কার্যকারিতা বাড়বে না।

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

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


4
উত্তরের জন্য ধন্যবাদ. কেবল কয়েকটি বিষয় পরিষ্কার করতে চাই: আমি কী ফ্ল্যাস্ক বা জ্যাঙ্গো বিহাইন্ড টর্নেডো ব্যবহার করতে পারি এবং অ্যাপ্লিকেশন কোডটি পরিবর্তন না করে এর সমস্ত সুবিধা (যদি আমি কোনও ক্যাম্পুটেশনাল কাজ না করি) পেতে পারি?
ভ্লাদিমির সিডোরেনকো

যদি হ্যাঁ - ফ্লুপের সাথে বলার সাথে তুলনা করা কী হবে? ধন্যবাদ.
ভ্লাদিমির সিডোরেনকো

আমি টর্নেডো অ্যাপ্লিকেশনটিতে আরএসএস ফিডগুলি বিশ্লেষণ করতে চাই। আপনি কি মোটামুটি গণনামূলকভাবে নিবিড় বিবেচনা করবেন?
সুশীল জাভাদি

6

একটি পুরানো প্রশ্নের উত্তর দেওয়ার জন্য আমি দুঃখিত, কিন্তু আমি এইটি পেয়েছি এবং কেন এর আরও উত্তর নেই তা ভেবে অবাক হলাম। বার্ট জেয়ের প্রশ্নের উত্তর দিতে:

আমি টর্নেডো অ্যাপ্লিকেশনটিতে আরএসএস ফিডগুলি বিশ্লেষণ করতে চাই। আপনি কি মোটামুটি গণনামূলক নিবিড় বিবেচনা করবেন?

ভাল এটি নির্ভর করে আপনি কী পার্সিং করছেন এবং কোন হার্ডওয়ারের উপর নির্ভর করে :) দীর্ঘ সময় একটি দীর্ঘ সময়, তাই যদি আপনার অ্যাপ্লিকেশনটি সাড়া দিতে আধা সেকেন্ডের চেয়ে বেশি সময় নেয়, তবে আপনার অ্যাপ্লিকেশনটিকে প্রোফাইল করুন profile

দ্রুত সিস্টেমগুলির মূল চাবিকাঠিটি দুর্দান্ত আর্কিটেকচার, উদাহরণস্বরূপ এতটা নির্দিষ্ট নয় যে আপনি কোন কাঠামোটি ব্যবহার করছেন (ট্যুইস্টেড, টর্নেডো, অ্যাপাচি + পিএইচপি)। টর্নেডোর একটি অ্যাসিনক্রোনাস প্রসেসিং স্টাইল রয়েছে এবং এটি আসলে আমার মতে এটির অনেক কিছুই নেমে আসে। নোড.জেএস, টুইস্টেড এবং ইয়াও অন্যান্য অ্যাসিনক্রোনাস ওয়েব সার্ভারের উদাহরণ যা লাইটওয়েট পদ্ধতির এবং অ্যাসিনক্রোনাস প্রসেসিং স্টাইলের কারণে খুব ভাল স্কেল করে।

সুতরাং:

টর্নেডো কখন ব্যবহার করা উচিত?

কখন অকেজো?

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

আপনার ব্যাকএন্ড এবং / বা ডেটা স্টোর যদি অনুরোধগুলি প্রক্রিয়া করতে দীর্ঘ সময় নেয় তবে টর্নেডো অন্যদিকে কোনও তত্পরতা তৈরি করবে না। এটি বিশেষত সমকালীন ডিজাইন এবং ওয়েব পরিষেবাদি করতে সহায়তা করে। একযোগে আর্কিটেকচার আপনার নকশাকে স্কেল করা এবং দম্পতিকে কম রাখা সহজ করে তোলে। টর্নেডোর সাথে আমার অভিজ্ঞতা এটি অন্তত।


আপনার পরিষেবাতে গণনাগতভাবে নিবিড় (কিছু বলুন> 1 সেকেন্ড) কিছু অপারেশন থাকলে কী হবে? অ-ব্লকিং পদ্ধতিতে এখনও কি এই জাতীয় প্রক্রিয়াজাতকরণ করা সম্ভব?
tigeronk2

@ tigeronk2 হ্যাঁ, তবে আপনাকে অন্য থ্রেড / প্রক্রিয়াতে গণনা চালাতে হবে।
মর্টেন জেনসেন

বা অন্য প্রক্রিয়া পরিচালনার তুলনায় একটি ছোট ওভারহেড দিয়ে স্কেলাবিলিটি এবং বিচ্ছেদ অর্জনের জন্য নিবিড় প্রক্রিয়াটি সম্ভাব্যভাবে চালিত করুন। পরিষেবামুখী আর্কিটেকচার লিঙ্কটি দেখুন।
টাইথ

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