এম্বেড থাকা ধারক সহ যুদ্ধের ফাইলগুলি বনাম এক্সিকিউটেবল জার স্থাপনের পরামর্শ


89

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

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

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

উত্তর:


82

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

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


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

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

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

কিছু অন্যান্য বিষয়:

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

4
উত্তরের জন্য ধন্যবাদ, আপনি কিছু ভাল পয়েন্ট তৈরি। মেঘ ড্রাইভিং ফ্যাক্টর! আমাদের পরিস্থিতিতে আমি কেবলমাত্র একটি লা গুগল অ্যাপ ইঞ্জিন (একটি পরিষেবা হিসাবে প্ল্যাটফর্ম) প্রয়োগ করার বিপরীতে একটি লা অ্যামাজন ওয়েব পরিষেবাদি মডেল (একটি পরিষেবা হিসাবে ইনফ্রাস্ট্রাকচার) ক্লাউড সার্ভারের মালিকানা পেতে আরও স্বাচ্ছন্দ্য বোধ করব তবে আমি মনে করি এটি হ'ল পুরানো চিন্তা স্কুল। সুতরাং গ্রহণযোগ্যতা: আমরা যদি কোনও প্লাটফর্মে ক্লাউডকে পরিষেবা উপায়ে লিভারেজ করার পরিকল্পনা না করি তবে একক সার্ভারে একাধিক স্ট্যান্ডেলোন জাভা ওয়েব অ্যাপ্লিকেশন পরিচালনা না করে যুদ্ধ মোতায়েনের উপায়। আপনার ইনপুট জন্য আবার ধন্যবাদ।
ব্রাইস রোনকেস

4
কেবল 2 সিসি: আপনি কিছু হালকা এইচটিটিপি সার্ভারের সাথে একক মেশিনে একাধিক জার-অ্যাপ্লিকেশন প্রক্সি হিসাবে চালাতে পারেন , যেমন: এনজিনেক্স, এটি অতিরিক্ত ওয়েব ট্র্যাফিক যেমন কাস্টম সিডিএন, লোড ব্যালেন্সার, ফায়ারওয়াল ইত্যাদির জন্যও ব্যবহার করা যেতে পারে তাই এটি বিবেচনা করা যুক্তিসঙ্গত বৃহত ট্র্যাফিকের পরিকল্পনার সময় এটি ব্যবহার করে (এর আরও ভাল পারফরম্যান্স রয়েছে, তারপরে প্রতিটি একক অনুরোধ পরিচালনা করা - এমনকি আপনার মূল অ্যাপ্লিকেশনের মাধ্যমে স্থিতিশীল সংস্থার জন্যও)।
Biesior
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.