কি ক্লাউড অ্যাপ্লিকেশনগুলির জন্য এরলং উপযুক্ত করে তোলে?


9

আমরা একটি নতুন প্রকল্প শুরু করছি এবং আমাদের কর্পোরেশনগুলির একটি ওপেনস্ট্যাক মেঘের ইনস্ট্যান্টেশন বাস্তবায়ন করছি (দেখুন http://www.openstack.org/ )। প্রকল্পটি আমাদের কর্পোরেশনের সুরক্ষার সরঞ্জামাদি। সুরক্ষা সরঞ্জামগুলির জন্য আমরা বর্তমানে বহু শতাধিক উত্সর্গীকৃত সার্ভার পরিচালনা করি এবং এগুলি আমাদের কর্পোরেশনগুলিতে ওপেনস্ট্যাক ইনস্ট্যান্টিশনে স্থানান্তরিত করছি।

আমার সংস্থার অন্যান্য প্রকল্পগুলি বর্তমানে বেশ কয়েকটি বিতরিত সার্ভার অ্যাপ্লিকেশনগুলিতে ইরং ব্যবহার করে এবং অন্যান্য কিউ / এ পয়েন্ট আউট এরং বেশ কয়েকটি জনপ্রিয় মেঘ পরিষেবাগুলিতে ব্যবহৃত হয়। আমি আমাদের প্রকল্পে এটি কোথায় প্রযোজ্য তা বিবেচনা করতে অন্যকে বোঝানোর চেষ্টা করছি।

ক্লাউড প্রোগ্রামিংয়ের জন্য এরং এর শক্তিগুলি কী কী? ক্ষেত্রগুলি কোথায় বিশেষত ইরং ব্যবহার করা উপযুক্ত?


15
"মেঘ" সংজ্ঞায়িত করুন এবং আপনি কী জানতে চাইতে পারেন তা আমরা আপনাকে বলতে পারি। "মেঘ" শব্দটি হ'ল বিপণন স্পোক এবং যার অর্থ এটি ব্যবহার করা প্রতিটি ব্যক্তির পক্ষে আলাদা কিছু।

আমি ভেবেছিলাম যে ওপেনস্ট্যাক ক্লাউড বলতে আমরা কী প্রয়োগ করছি তার একটি সংজ্ঞা যথেষ্ট of দেখুন openstack.org । অথবা আপনি প্রকল্পে আরও তথ্যের জন্য অনুরোধ করছেন? এটি আমাদের কর্পোরেশনের জন্য সুরক্ষা সরঞ্জাম tool সুরক্ষা সরঞ্জামগুলির জন্য আমরা বর্তমানে বহু শতাধিক উত্সর্গীকৃত সার্ভার পরিচালনা করি এবং এগুলি আমাদের কর্পোরেশনগুলিতে ওপেনস্ট্যাক ইনস্ট্যান্টিশনে স্থানান্তরিত করছি।
ডানকান

আমি আশা করি এটি আরও উন্নত করতে এবং 'বিপণন' উদ্বেগ অপসারণ করতে প্রশ্ন সম্পাদনা করেছি। আমার সমস্যাটি কাজের জন্য সেরা সরঞ্জামটি নির্বাচন করছে। আমি স্ট্যাকএক্সচেঞ্জের একটি ছদ্মবেশী তাই এটির স্তব্ধতাটি বেশ রাখবেন না।
ডানকান

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

"মেঘ 'শব্দটি হতাশ" - ভাল! এর অর্থ ভার্চুয়াল কিছু এবং আপনার "সেই" কিছুটি সফ্টওয়্যার, অপারেটিং-সিস্টেম, একটি একক মেশিন, মাল্টি-মেশিন-এবং-নেটওয়ার্ক বা অন্য কিছু কিনা তা নির্দিষ্ট করা উচিত।
গ্লেনপিটারসন

উত্তর:


8

এরং যে সাম্প্রতিক / সমান্তরাল / বিতরণ পরিস্থিতিতে চালানোর জন্য বিশেষত বিকাশ করা হয়েছিল, তা ব্যতীত, এটি সম্ভব করার জন্য যে দুটি প্রধান কৌশল ব্যবহার করে তা হ'ল:

কোনও পার্শ্ব প্রতিক্রিয়া:

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

কোনও পার্শ্ব প্রতিক্রিয়া নিশ্চিত করার জন্য বাস্তবায়নের কৌশলটিকে "অপরিবর্তনশীলতা" বলা হয় যার অর্থ মোটামুটি পরিবর্তিত (পরিবর্তিত) হতে পারে না। এর অর্থ আপনি ভেরিয়েবল তৈরি করার সাথে সাথে সেই ভেরিয়েবলের মান পরিবর্তন করা যাবে না। এরলং এই আচরণটি "একক অ্যাসাইনমেন্ট" দিয়ে প্রয়োগ করে তাই আপনি কোনও ভেরিয়েবলের জন্য কোনও মূল্য নির্ধারণের পরে আপনি আবার কোনও মান নির্ধারণ করতে পারেন না।

X = 1.
X = 2. // This is not a valid operation

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

অভিনেতা মডেল:

এটি মডেলিংয়ের একটি বিশেষ উপায় যা দেখিয়েছে বিকাশকারীদের জন্য একযোগে প্রসেসিংয়ের প্রয়োগ ও পরিচালনা খুব সহজ করে তুলেছে। উইকিপিডিয়া থেকে সরাসরি (http://en.wikedia.org/wiki/Actor_model):

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


"নো পার্শ্ব প্রতিক্রিয়া" সম্পর্কে আপনি বলছেন "এটি সফ্টওয়্যার ভাষার মধ্যে খুব অস্বাভাবিক আচরণ" - এতে আমি খানিকটা অবাক হয়েছি। জাভা এবং সি # আজ এটি করতে পারে না? কোন ভাষাগুলি কল করার সময় আপনি কোন ভাষাগুলির পার্শ্ব প্রতিক্রিয়া থাকতে হবে তা জানেন?
NoChance

3
@EmmadKareem এটা আপনি কিনা একটি প্রশ্ন না করতে পার্শ্ব প্রতিক্রিয়া ছাড়া একটি প্রোগ্রাম লিখতে; যেমন আপনি উল্লেখ করেছেন, আপনি জাভা বা সি # এ এটি করতে পারেন। এটি ডিফল্টটি পার্শ্ব-প্রতিক্রিয়া মুক্ত কিনা এবং এর জন্য সংকলক সমর্থন আছে কিনা It's জাভাতে আপনি উদাহরণস্বরূপ, সংকলককে বলতে পারবেন না "এই পদ্ধতিটির কোনও পার্শ্ব প্রতিক্রিয়া নেই"। এর পরিবর্তে আপনি যখন নিয়মগুলি ভঙ্গ করছেন তখন সংকলক আপনাকে সতর্ক করতে পারে না!
আন্দ্রেস এফ।

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

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

জিমি হোফা এবং @ অ্যান্ড্রেসএফ।, আপনার স্পষ্টতার জন্য ধন্যবাদ।
NoChance

9

এরলং বিশেষত সমবর্তী / সমান্তরাল কম্পিউটিংয়ে শক্তিশালী। আসলে, এটি মূলত সেই একই উদ্দেশ্যে তৈরি করা হয়েছিল। চাহিদা মেটাতে ক্ষমতা সঙ্কুচিত করা সহজতর করার জন্য এটি প্রায়শই গণনা-ভারী অ্যাপ্লিকেশনগুলির সমান্তরাল এবং "মেঘ" উদাহরণগুলিতে স্থাপন করা ব্যতীত মেঘের সাথে অন্তর্নিহিত কিছুই নেই।

বাকিগুলি কেবল বিপণন-স্পোক।


7
এরলং ফল্ট-সহনশীল কম্পিউটিংয়ের জন্য ডিজাইন করা হয়েছিল । এটি ঠিক যে বিতরণ করা কম্পিউটিং এটির পূর্বশর্ত (যদি কেউ দুর্ঘটনাক্রমে আপনার একক মেশিনে কফি ছড়িয়ে দেয় তবে আপনি কীভাবে নির্ভরযোগ্যভাবে ফলাফলটি ফিরিয়ে দিতে পারেন, আপনার কমপক্ষে দুটি মেশিনের প্রয়োজন হবে) এবং সমান্তরাল এবং সমবর্তী কম্পিউটারিং কেবল বিতরণকৃত কম্পিউটিংয়ের বিশেষ ঘটনা, তাই এরলং তাদের ভাল হতে হবে। তবে এটি এর জন্য ডিজাইন করা হয়নি।
Jörg ডব্লু মিট্টাগ

1
@ জার্গডব্লিউমিতাগ যতক্ষণ আমরা কেশকে ভাগ করছি ... হ্যাঁ, এর উদ্দেশ্য ছিল দোষ সহ্য করা। এটি সমান্তরালতার মাধ্যমে অর্জন করেছে । এটি এক্স ডিজিটাল টেলিফোনি স্যুইচে এটি বাস্তবায়নের জন্য ডিজাইন করা হয়েছিল যা দুটি বিচ্ছিন্ন, সমান্তরাল গণনা পাইপ বহন করে যার মধ্যে একটি হট স্ট্যান্ডবাই হিসাবে কাজ করে।
পাপ

1
হ্যাঁ, দুঃখিত, আমার আরও পরিষ্কার হওয়া উচিত: ক্লাউড কম্পিউটিং সংজ্ঞা অনুসারে বেশ বিতরণ করা হয় এবং এটি প্রায়শই (সর্বদা নয় তবে সাধারণত) সস্তা এবং আরও গুরুত্বপূর্ণভাবে অবিশ্বস্ত মেশিনগুলির ক্লাস্টার দ্বারা প্রয়োগ করা হয় তবে একটি নির্ভরযোগ্য পরিষেবা সরবরাহ করার জন্য ডিজাইন করা হয়। এটাই এর্লংকে এত ভাল ফিট করে।
Jörg W Mittag

3

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

এটি বিশেষত তাই যদি আপনি নিজের সিস্টেমে এরলংয়ের ওটিপি (ওপেন টেলিকম প্ল্যাটফর্ম) কাঠামো ব্যবহার করে গড়ে তুলছেন যা আপনার কল্পনার চেয়ে অনেক কম এফ্রোট সহ কিছু চমত্কার পরিশীলিত সামগ্রী তৈরির জন্য কাঠামো এবং প্রক্রিয়া (সুপারভাইজার ট্রি) উভয়ই সরবরাহ করে। এরলং সমস্ত কৌশলযুক্ত বিটগুলি পরিচালনা করে যাতে আপনার দরকার নেই to

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