সরাসরি প্রধান সামগ্রীতে চলে যান

মাইক্রোসার্ভিস প্রজেক্টের কুইজ এবং কোশ্চেন সার্ভিস সম্পন্ন করা

ইন্ট্রোডাকশন: এই ভিডিওতে দেখানো হয়েছে কীভাবে একটি মাইক্রোসার্ভিস আর্কিটেকচারে কুইজ সার্ভিস (Quiz Service) এবং কোশ্চেন সার্ভিস (Question Service) একে অপরের সাথে যোগাযোগ করে একটি পূর্ণাঙ্গ সিস্টেম তৈরি করে। আমরা এখানে মূলত দুটি গুরুত্বপূর্ণ কাজ সম্পন্ন করব: কুইজের প্রশ্নগুলো নিয়ে আসা এবং কুইজ শেষে প্রাপ্ত নম্বর (Score) গণনা করা।


১. কুইজের প্রশ্নগুলো খুঁজে বের করা (Get Quiz Questions)

ভিডিও রেফারেন্স: [01:00]

আমরা যখন কোনো কুইজ খেলতে চাই, তখন আমাদের কাছে শুধু কুইজের আইডি থাকে। কিন্তু সেই কুইজের ভেতরে কী কী প্রশ্ন আছে, সেটা থাকে 'কোশ্চেন সার্ভিস'-এর কাছে। এখানে কুইজ সার্ভিস একটি ইন্টারফেসের মাধ্যমে কোশ্চেন সার্ভিসকে অনুরোধ পাঠায়।

সহজ ব্যাখ্যা: মনে করুন, আপনি একটা রেস্টুরেন্টে গিয়ে মেনু কার্ড চাইলেন। ওয়েটার (Quiz Service) নিজে রান্না জানে না, সে রান্নাঘর থেকে (Question Service) মেনু বা খাবার নিয়ে এসে আপনাকে দেয়। এখানেও কুইজ সার্ভিস শুধু আইডিগুলো পাঠায় আর কোশ্চেন সার্ভিস আসল প্রশ্নগুলো ফেরত দেয়।

সহজ করে বোঝা (Difficult Words):

  • Wrapper (র‍্যাপার): এটি একটি বিশেষ বক্সের মতো যা ডেটাকে গুছিয়ে রাখে। এখানে প্রশ্নের সাথে যেন উত্তর চলে না যায়, তাই শুধু প্রশ্ন দেখানোর জন্য 'Question Wrapper' ব্যবহার করা হয়েছে।

  • Proxy (প্রক্সি): একজনের হয়ে অন্যজন কাজ করে দেওয়া। এখানে QuizInterface কোশ্চেন সার্ভিসের হয়ে কাজ করছে।


২. কুইজের স্কোর বা রেজাল্ট বের করা (Calculate Score)

ভিডিও রেফারেন্স: [06:17]

ইউজার যখন কুইজ শেষ করে সাবমিট করে, তখন তার উত্তরগুলো সঠিক কি না তা চেক করার দায়িত্বও কোশ্চেন সার্ভিসের। কুইজ সার্ভিস ইউজারের উত্তরগুলো কোশ্চেন সার্ভিসে পাঠিয়ে দেয় এবং সেখান থেকে প্রাপ্ত নম্বরটি নিয়ে ইউজারকে দেখায়।

কোডিং উদাহরণ: নিচে কুইজ সার্ভিসের একটি মেথড দেখানো হলো যা কোশ্চেন সার্ভিসকে কল করে স্কোর নিয়ে আসে।

Java

// কুইজ সাবমিট করার জন্য মেথড
@PostMapping("submit/{id}")
public ResponseEntity<Integer> getScore(@PathVariable Integer id, @RequestBody List<Response> responses) {
    // এখানে কুইজ ইন্টারফেস ব্যবহার করে কোশ্চেন সার্ভিস থেকে রেজাল্ট আনা হচ্ছে
    return quizInterface.getScore(responses);
} 

কোড ব্যাখ্যা:

  • @PostMapping: এটি সার্ভারে ডেটা পাঠানোর জন্য ব্যবহৃত হয়।

  • @RequestBody: ইউজার যে উত্তরগুলো (Responses) দিয়েছে, সেগুলো এই লিস্টের মাধ্যমে গ্রহণ করা হয়।

  • quizInterface.getScore: এই লাইনটি মূলত অন্য একটি সার্ভিসকে (কোশ্চেন সার্ভিস) বলছে যে, "ভাই, এই উত্তরগুলো একটু চেক করে আমাকে রেজাল্টটা দাও।"


৩. সার্ভিস দুটির মধ্যে যোগাযোগ পরীক্ষা (Testing with Postman)

ভিডিও রেফারেন্স: [08:04]

সব কোড শেষ করার পর ভিডিওতে 'Postman' টুল ব্যবহার করে পরীক্ষা করা হয়েছে। দেখা গেছে যে, কুইজ সার্ভিস (যা পোর্ট ৮০৯০-এ চলছে) কোশ্চেন সার্ভিসের (পোর্ট ৮০৮০) সাহায্য নিয়ে সফলভাবে ডাটা আদান-প্রদান করছে।

সহজ করে বোঝা (Difficult Word):

  • Postman (পোস্টম্যান): এটি একটি সফটওয়্যার যা দিয়ে আমরা চেক করি আমাদের তৈরি করা এপিআই (API) ঠিকমতো কাজ করছে কি না।

আমার বিশ্লেষণ এবং ভবিষ্যৎ চিন্তা (Analysis & Thinking)

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

বাস্তবতা ও পরামর্শ: বর্তমানে বড় বড় কোম্পানি (যেমন- Netflix, Amazon) এই পদ্ধতি ব্যবহার করে। ভিডিওতে দুটি সার্ভিসের সরাসরি যোগাযোগ দেখানো হয়েছে, তবে ভবিষ্যতে যখন অনেক ইউজার হবে, তখন Load Balancing (লোড ব্যালেন্সিং) প্রয়োজন হবে।

উন্নত বিকল্প: ১. সরাসরি কল না করে আমরা RabbitMQ বা Kafka-এর মতো মেসেজ ব্রোকার ব্যবহার করতে পারি, যা সিস্টেমকে আরও শক্তিশালী করবে। ২. ভিডিওতে পোর্টের নাম সরাসরি ব্যবহার করা হয়েছে, এর বদলে Eureka Discovery Server ব্যবহার করলে পোর্ট মুখস্থ রাখার দরকার হবে না।

ভিডিওর শেষে লোড ব্যালেন্সিং নিয়ে ইঙ্গিত দেওয়া হয়েছে, যা পরবর্তী ধাপ হিসেবে অত্যন্ত গুরুত্বপূর্ণ। [09:51]

ইউটিউব ভিডিও লিঙ্ক: https://www.youtube.com/watch?v=MxLdjBdhWws

[

Completing the 2 Microservices

Telusko · 28K views

](http://www.youtube.com/watch?v=MxLdjBdhWws)

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

সিজ্জিন (Sijjin) vs ইল্লিয়িন (Illiyin) পার্থক্য Difference

Sijjin (سِجِّين) এবং Illiyin (عِلِّيِّين) —এ দুটি শব্দ কুরআনে এসেছে এবং দুটোই মানুষের আমলনামা সংরক্ষণ সম্পর্কিত স্থানকে নির্দেশ করে। ১. সিজ্জিন (Sijjin) সিজ্জিন হলো পাপীদের (কাফের, মুনাফিক ও দুরাচারীদের) আমলনামা সংরক্ষণের স্থান। এটি সাত তলদেশের নীচে এক কারাগার বা অন্ধকার জগতে অবস্থিত বলে উল্লেখ রয়েছে। সূরা আল-মুতাফফিফীন (৮৩:৭-৯) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْفُجَّارِ لَفِي سِجِّينٍ ۝ وَمَا أَدْرَاكَ مَا سِجِّينٌ ۝ كِتَابٌ مَرْقُومٌ" অর্থ: "না, পাপীদের আমলনামা সিজ্জিনে সংরক্ষিত। তুমি কি জানো, সিজ্জিন কী? এটি এক লিখিত দলিল।" সিজ্জিনকে একটি কারাগার, সংকীর্ণ স্থান, বা নিচের স্তরে অবস্থিত এক অন্ধকার দুনিয়া হিসেবে ব্যাখ্যা করা হয়। ২. ইল্লিয়িন (Illiyin) ইল্লিয়িন হলো সৎকর্মশীলদের (মুমিন ও নেককারদের) আমলনামা সংরক্ষণের স্থান । এটি সপ্তম আসমানের ওপরে সংরক্ষিত এক সম্মানিত স্থান। সূরা আল-মুতাফফিফীন (৮৩:১৮-২১) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْأَبْرَارِ لَفِي عِلِّيِّينَ ۝ وَمَا أَدْرَاكَ مَا عِلِّيُّونَ ۝ كِتَابٌ مَرْقُومٌ ۝ يَش...

তারাবিহ সমগ্র - প্রথম আলো

রামাদান ২০২৪ উপলক্ষে প্রথম আলোর নিয়মিত আয়োজন - খতমে তারাবিহ'র সূরা গুলো নিয়ে সংক্ষিপ্ত আলোচনা'র লিংক  নিচে দেওয়া হলো।  লিংকে ক্লিক করলেই আপনাকে আলোচনা তে নিয়ে যাবে। তারাবিহ: ১ | একটি খুন ও গাভি নিয়ে বনি ইসরাইলের বাড়াবাড়ি তারাবিহ: ২ | নারীর মর্যাদা ও অধিকার এবং অলৌকিক তিন ঘটনা তারাবিহ: ৩ | যে ১৪ নারীকে বিয়ে করা হারাম তারাবিতে: ১২ | মহানবী (সা.)–এর আকাশভ্রমণ এবং আসহাবে কাহাফের কাহিনি

রেডমি নোট ৯ এর বিস্তারিত | Redmi Note 9 in Bangla

৩০ এপ্রিল, ২০২০ এ শাওমির ঘোষনা আসে এই ফোনটি নিয়ে। কিন্তু ফোনটি মার্কেটে আসে মে মাসের শেষের দিকে৷ করোনার কারনে ফোনটি বাংলাদেশে আসতে আরো সময় নেয়। বর্তমানে বাংলাদেশে আন অফিশিয়াল ভাবে ফোনটি পাওয়া যাচ্ছে৷ বাংলাদেশে অফিশিয়াল ভাবে এখনো ফোনটি আসার তথ্য নেয়৷ চলুন ফোনটি নিয়ে বিস্তারিত আলোচনা করা যাক। শাওমি নোট সিরিজের ফোন বের করে এদের রেডমি নামে সাব ব্যান্ড৷ এদের কাজ হল এই নোট সিরিজ নিয়ে কাজ করা৷ প্রতিবছর নোট সিরিজের ১/২ টা ফোন বাজারে আসে। সাথে সেই ফোন গুলার বিভিন্ন ভার্সন (যেমন - র‍্যাম ও রমের ভিত্তিতে) বাজারে আসে। এই বছরও তারা রেডমি সিরিজের নোট ৯ বাজারে আনে। এই বছর হয়তো এই সিরিজের আরো ফোন বাজারে আসবে। ডিস্পলেঃ ফোনটির ডিসপ্লে সাইজ ৬.৫৩ ইঞ্চি। এতে আইপিএস এলসিডি ডিসপ্লে ব্যবহার করা হয়েছে। এই ফোনের ডিসপ্লে প্রটেকশন হিসেবে আছে গরিলা গ্লাস ফাইভ। স্ক্রিন আর ফোনের বডির অনুপাত প্রায় ৮৩.৫%। এই ফোনের ডিসপ্লে ফুলএইচডি মানে ১০৮০পি। এই ডিস্পলের দৈর্ঘ্য ১৯.৫ একক এবং প্রস্থ হল ৯ একক। এত বড় ফোনের কারনে এই ফোনের পিপি আই ডেনসিটি ৩৯৫। যা একটু কম। প্লাটফর্মঃ এই ফোনের অপারেটিং সিস্টেম এন্ড্রয়েড ১০ এবং এর...