Nginx বার্নিশ Nginx জ্যাঙ্গো?


13

আমার একটি জাঙ্গো অ্যাপ্লিকেশন রয়েছে এবং আমি এর সামনে একটি সার্ভারে বার্নিশ সেটআপ করতে চাই। ইন আরেকটি serverfault থ্রেড কারো বার্নিশ সামনে nginx নির্বাণ সুপারিশ করেছে।

আমি কি ক্যাগিং সার্ভারে বার্নিশের সামনে এনগিনেক্স রেখে দেব? যদি তাই হয় তবে আমি কি অ্যাপ্লিকেশন সার্ভারে Nginx ব্যবহার করব?

উত্তর:


10

আমরা মোট 1 - 3 ফ্রন্টএন্ড সার্ভারের কথা বলছি, স্তরগুলির মধ্যে লোড ব্যালেন্সিং সহ কোনও বৃহত সার্ভার ফার্ম নেই?

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

অ্যাপ্লিকেশন সার্ভারে এনজিনেক্স সম্পর্কিত - মোড_উইজি সহ অ্যাপাচি কি আজকাল নতুন জ্যাঙ্গো ইনস্টলেশন মোতায়েনের প্রস্তাবিত এবং সর্বাধিক সাধারণ উপায় নয়? জ্যাঙ্গোর জন্য অ্যাপাচি / মোড_উজগির উপরে এনজিনেক্স / ফাস্টসিগি ব্যবহার করার একটি বাধ্যতামূলক কারণ সম্পর্কে আমি অবগত নই; তবে আপনার জ্যাঙ্গো বিশেষজ্ঞের পরামর্শ নেওয়া উচিত।

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

একটি ছোট 1-3 সার্ভার সেটআপের জন্য আমি অনুমান করি যে আমি কেবল এটি করব

বার্নিশ -> অ্যাপাচি / মোড_উজি / জ্যাঙ্গো

অথবা হতে পারে

স্কুইড -> অ্যাপাচি / মোড_উজি / জ্যাঙ্গো

এবং ব্যান্ডউইথ ব্যয়বহুল না হলে সরলতার জন্য HTTP সংক্ষেপণ উপেক্ষা করুন।

হালনাগাদ:

গ্রাহাম ডাম্পলেটন নীচে একটি মূল্যবান মন্তব্য লিখেছেন। তিনি খুব সাধারণ সেটআপের উদাহরণ হিসাবে উল্লেখ করেছেন উদাহরণস্বরূপ কোনও ভিপিএসে একটি ব্লগ, বা কোনও ক্যাশে ছাড়াই একটি ছোট ওয়েব ফার্ম:

nginx -> অ্যাপাচি / মোড_উসগি / জ্যাঙ্গো

এটি বেশ কয়েকটি কারণের জন্য খুব ভাল সমাধান:

  1. সাধারণ সেটআপ
  2. উচ্চ গতি এবং ন্যূনতম ওভারহেডযুক্ত এনগিনেক্স, স্ট্যাটিক ফাইল পরিবেশন এবং ব্রাউজার সংযোগ রক্ষণাবেক্ষণ পরিচালনা করে।
  3. জ্যাঙ্গো গ্রাহাম ডাম্পলটনের দুর্দান্ত মোড_উইজি চালায় যা জ্যাঙ্গোর জন্য প্রস্তাবিত প্ল্যাটফর্ম।

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


2
আপনি এমনকি 'এনগিনেক্স -> অ্যাপাচি / মোড_উইজি / জ্যাঙ্গো' ব্যবহার করতে পারেন যেমনটি বিভিন্ন ভাল কারণে অনেকে করেন।
গ্রাহাম ডাম্পলটন

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

2
@ গ্রাহাম ডাম্পলটন: আপনাকে এখানে রেখে খুব ভালো লাগল , আমি আশা করি আপনি আশেপাশে থাকবেন। :-)। এনজিএনএক্স এইচটিটিপি মাল্টিপ্লেক্সিং / স্মার্ট সংযোগ হ্যান্ডলিং সম্পর্কিত, আমি সম্পূর্ণ সম্মত agree
জেস্পার এম

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

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

4

আপনি প্রক্সি এবং কন্টেন্ট ক্যাশে বার্নিশ ছাড়াই nginx ব্যবহার করতে পারেন।


2
বার্নিশের কিছু আকর্ষণীয় লোড ব্যালেন্সিং বৈশিষ্ট্য রয়েছে যা এনগিনেক্স বাক্সের বাইরে না
Enrico

4
উদাহরণস্বরূপ কি বৈশিষ্ট্য?
নীরব

4

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

এনগিনেক্স -> অ্যাপাচি / মোড_উজি / জ্যাঙ্গো

একবার আমি অ্যাপাচি-তে উল্লেখযোগ্য বোঝা দেখা শুরু করলে, আমি বার্নিশ যুক্ত করেছি:

এনগিনেক্স -> বার্নিশ -> অ্যাপাচি / মোড_উজি / জ্যাঙ্গো

আমি এনগিনেক্সকে এক ধরণের "ইউআরএল রাউটার" হিসাবে ব্যবহার করি। জ্যাঙ্গো অ্যাডমিন অনুরোধগুলি সরাসরি এনগিনেক্স থেকে অ্যাপাচে প্রেরণ করা হয়। ক্লায়েন্টের অনুরোধগুলি এনগিনেক্স থেকে বার্নিশে প্রেরণ করা হয় যা অ্যাপাচি থেকে অনুরোধগুলি ক্যাশে করে এবং অ্যাপ্লিকেশন সার্ভারগুলি অনুপলব্ধ থাকলে ক্যাশে থেকে "গ্রেসড" আইটেমগুলি সরবরাহ করে।

আমার এনগিনেক্স সার্ভার এছাড়াও কিছু স্থির সামগ্রী সরাসরি সরবরাহ করে (যেমন চিত্র, সিএসএস এবং জাভাস্ক্রিপ্ট ফাইল)।

সাধারণভাবে, পারফরম্যান্স দুর্দান্ত হয়েছে। আমি কয়েকটা সতর্কতা লক্ষ্য করেছি যার উল্লেখ করা উচিত:

  1. একটি ব্যস্ত সাইটে, বার্নিশ পুনরায় চালু করা অ্যাপ্লিকেশন সার্ভারগুলিতে লোডকে বাড়িয়ে তুলতে পারে, সুতরাং বার্নিশকে সর্বনিম্ন পুনরায় আরম্ভ করা রাখা ভাল। (বার্নিশের কাছে এনগিনেক্স / অ্যাপাচি এর মতো "পুনরায় লোড" আছে বলে মনে হয় না যেখানে এটি কেবল তার ভিসিএল ফাইলগুলি পুনরায় পাঠ করে)। বিপরীতে, একটি Nginx কনফিগারেশন পুনরায় লোড করার সর্বনিম্ন প্রভাব রয়েছে। এই কারণে, আমি বেশিরভাগ ইউআরএল পুনর্লিখন এবং এনগিনেক্সে "রাউটিং" করি।
  2. বার্নিশ Nginx এবং অ্যাপাচি মধ্যে ড্রপ করা সহজ। আপনি যদি নিজের অ্যাপ্লিকেশন সার্ভারগুলিতে উচ্চ লোড লক্ষ্য করা শুরু করেন, এমনকি ডিফল্ট কনফিগারেশনের সাথে বার্নিশ যুক্ত করা সত্যিই একটি পার্থক্য করতে পারে।
  3. আপনি যদি বার্নিশ ব্যবহার করেন তবে অবশ্যই আপনি কীভাবে অবৈধতা পরিচালনা করতে চলেছেন সে সম্পর্কে অবশ্যই চিন্তাভাবনা করা উচিত।
  4. আমার অভিজ্ঞতা হয়েছে যে বার্নিশ হ্যান্ডলগুলি ব্যর্থ ব্যাককেন্ডগুলিকে এনগিনেক্সের চেয়ে কিছুটা সুদৃ .়ভাবে পরিচালনা করেছে (যেমন আপনি আগে উল্লেখ করেছেন)।

আমি অন্য কোনও কিছুর পিছনে বার্নিশ কখনও দেখিনি। বার্নিশ সাধারণত লোড ব্যালেন্সার যা ইউআরএল রাউটারটি করে। সুতরাং আপনি 2 ওয়েবসার্ভার এবং 1 টি প্রক্সি বা 2 প্রক্সি এবং 1 ওয়েব সার্ভার পেয়েছেন? Q
ioanb7

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