যে ওয়েবপ্যাপটি স্থাপন করে তার জন্য স্বাস্থ্য পরীক্ষার সুযোগ কী হওয়া উচিত?


13

একটি দীর্ঘ চলমান পরিষেবার জন্য আজ আমার একটি "স্বাস্থ্য পরীক্ষা লিখুন" কাজ ছিল যা একটি ওয়েব-অ্যাপ স্থাপনের জন্য একটি অর্কেস্ট্রেশন সিস্টেম।

আমি এই জাতীয় স্বাস্থ্য পরীক্ষার সুযোগ কী হবে তা নির্ধারণ করার চেষ্টা করছি এবং স্বাস্থ্য পরীক্ষার সুযোগ সম্পর্কিত এই প্রশ্নগুলি নিয়ে এলাম:

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

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

এটি আমার জন্য কার্যকর করা কঠিন কারণ আমি নিশ্চিত না যে কী স্বাস্থ্যকর, বা এর মতো কোনও কিছুর জন্য কোনও মানক স্বাস্থ্য চেক দেখতে কেমন হবে তার সংজ্ঞাটি আমার কাছে নেই।

এই নির্দিষ্ট পরিষেবাটির জন্য স্বাস্থ্য পরীক্ষা করা উচিত?


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

@ কিলিয়ানফথ: অনুরূপ নোটে: আমি এমন একটি সংস্থা জানি যা তাদের ব্যাকআপগুলি কাজ করে বলে ধর্মীয় ও নিখুঁতভাবে পরীক্ষা করেছিল। তারপরে, একদিন, তাদের একটি বিপর্যয় ডিস্ক ব্যর্থ হয়েছিল এবং তারা খুঁজে পেয়েছিল: তাদের পুনরুদ্ধার হয়নি।
Jörg ডব্লু মিটাগ

7
আমি ভাবছি এটি সেই ব্যক্তির কাজ যিনি আপনাকে "স্বাস্থ্য" দ্বারা কী বোঝাতে চেয়েছেন তা বোঝাতে "স্বাস্থ্য পরীক্ষা লিখতে" বলেছিলেন। অন্যথায়, এটি কেবল অনুমানের কাজ।
জার্গ ডব্লু মিটাগ

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

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

উত্তর:


15

যা স্বাস্থ্যকর তার সংজ্ঞা বলে এটি কার্যকর করা শক্ত

আপনি আপনার নিজের প্রশ্নের উত্তর এখানে দিয়েছেন। স্বাস্থ্য পরীক্ষার সংজ্ঞাটি পরিবর্তিত হতে চলেছে, কারণ স্বাস্থ্যকরটি কী পরিবর্তিত হয়। এটি স্বাস্থ্য পরীক্ষা কী জারি করছে তার উপরও নির্ভর করে।

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

একটি বৃহত সংস্থায় সম্ভবত, স্বাস্থ্য চেক করার জন্য আপনার কিছু ধরণের স্ট্যান্ডার্ড থাকবে। খুঁজে বার কর.

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

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

সম্পাদিত প্রশ্নের জন্য:

অর্কেস্ট্রেশন সিস্টেমটি টাস্কটি চলছে বলে জানিয়ে দিলে কী পরিষেবাটি স্বাস্থ্যকর বিবেচনা করা যথেষ্ট?

না, কেবলমাত্র একটি প্রক্রিয়া চলমান হওয়ার অর্থ এই নয় যে এটি ঝুলানো নয়, পুরোপুরি অযৌক্তিক নয়, বা বিভিন্ন সম্ভাবনার বিভিন্ন ধরণের।

অথবা আমাদের প্রতিটি পরিষেবা ম্যানুয়ালি পিং করা উচিত?

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

অথবা এটি আরও এগিয়ে গিয়ে ওয়েবপৃষ্ঠা দেখানোর মতো ওয়েব-অ্যাপটি যা করার কথা বলেছে তা নিশ্চিত করার চেষ্টা করা উচিত?

আপনার স্বাস্থ্য পরীক্ষাটি নিশ্চিত করা দরকার যে প্রত্যাশিত প্রয়োজনীয় কার্যকারিতা প্রত্যাশার মতো কাজ করে।

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

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

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

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

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

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

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

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


2

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

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

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


যে সিস্টেমে আমি লিখছি, আমি প্রতিটি সংস্করণটির সংস্করণ তথ্যের জন্য কেবল জিজ্ঞাসা করি। যদি এটি সময়মত প্রতিক্রিয়া জানায় (আমার ক্ষেত্রে 2500 মিমি) তবে এটি "আপ" হিসাবে বিবেচিত হবে। আমি তাদের সকলকে সমান্তরালভাবে জিজ্ঞাসা করি, তাই আমার সবচেয়ে খারাপ ক্ষেত্রে প্রতিক্রিয়া সময় সীমাবদ্ধ।
টিএমএন

1

আমার অভিজ্ঞতায়, সমালোচনামূলক পরিষেবাগুলিতে নিম্নলিখিত বৈশিষ্ট্যগুলি থাকে:

হৃত্স্পন্দন

যদি পরিষেবাটি নিয়মিতভাবে চলতে থাকে তবে এটি কেবল একটি লগ ফাইলে একটি লাইন লিখবে বা টাইমস্ট্যাম্পের সাথে অনুরূপ একটি নির্দিষ্ট সময়টিতে পরিষেবা সংস্থা লাথি মেরেছে তা বোঝাতে।

ব্রেডক্রাম্ব

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


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

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