১. ভূমিকা
সর্বশেষ হালনাগাদ: ২০২১-০৫-০৬
মাইক্রোসার্ভিস রেইনবো রাম্পাস
কখনো কি এমন বরফ ছোড়াছুড়ির খেলায় অংশ নিয়েছেন যেখানে আপনি ঘুরে ঘুরে মজা করে অন্যদের দিকে বরফের গোলা ছুঁড়ে মারেন? যদি না নিয়ে থাকেন, তবে কোনো একদিন চেষ্টা করে দেখুন! কিন্তু এখন শারীরিকভাবে আঘাত পাওয়ার ঝুঁকি নেওয়ার পরিবর্তে, আপনি একটি ছোট, নেটওয়ার্কে প্রবেশযোগ্য সার্ভিস (একটি মাইক্রোসার্ভিস) তৈরি করতে পারেন, যা বরফের গোলার বদলে রংধনু ছুঁড়ে অন্যান্য মাইক্রোসার্ভিসগুলোর বিরুদ্ধে এক মহাকাব্যিক যুদ্ধে অংশ নেবে।
আপনি হয়তো ভাবছেন... কিন্তু একটি মাইক্রোসার্ভিস কীভাবে অন্য মাইক্রোসার্ভিসগুলোকে সংকেত পাঠায়? একটি মাইক্রোসার্ভিস নেটওয়ার্ক অনুরোধ (সাধারণত HTTP-এর মাধ্যমে) গ্রহণ করতে এবং প্রতিক্রিয়া ফেরত পাঠাতে পারে। এখানে একটি 'অ্যারেনা ম্যানেজার' থাকে, যা আপনার মাইক্রোসার্ভিসকে অ্যারেনার বর্তমান অবস্থা পাঠিয়ে দেয় এবং তারপর আপনার মাইক্রোসার্ভিসটি কী করতে হবে তা নির্দিষ্ট করে একটি কমান্ডের মাধ্যমে প্রতিক্রিয়া জানায়।
অবশ্যই লক্ষ্য হলো জেতা, কিন্তু এই যাত্রাপথে আপনি গুগল ক্লাউডে মাইক্রোসার্ভিস তৈরি ও স্থাপন করা সম্পর্কেও শিখবেন।
এটি কীভাবে কাজ করে
আপনি আপনার পছন্দের যেকোনো প্রযুক্তি ব্যবহার করে একটি মাইক্রোসার্ভিস তৈরি করবেন (অথবা গো, জাভা, কোটলিন, স্কালা, নোডজেএস বা পাইথন স্টার্টার থেকে বেছে নিতে পারেন) এবং তারপর মাইক্রোসার্ভিসটি গুগল ক্লাউডে ডেপ্লয় করবেন। ডেপ্লয় করা হয়ে গেলে, আপনি আমাদের আপনার মাইক্রোসার্ভিসের ইউআরএলটি জানাবেন এবং তারপর আমরা সেটিকে এরিনাতে যুক্ত করে দেব।
একটি নির্দিষ্ট লড়াইয়ের জন্য এরিনাতে সকল খেলোয়াড় থাকে। রেইনবো রাম্পাসের নিজস্ব এরিনা থাকবে। প্রত্যেক খেলোয়াড় একটি মাইক্রোসার্ভিসের প্রতিনিধিত্ব করে, যা ঘুরে বেড়ায় এবং অন্য খেলোয়াড়দের দিকে রংধনু ছুড়ে মারে।
প্রায় প্রতি সেকেন্ডে একবার আমাদের এরিনা ম্যানেজার আপনার মাইক্রোসার্ভিসকে কল করবে এবং এরিনার বর্তমান অবস্থা (খেলোয়াড়রা কোথায় আছে) পাঠাবে, এবং আপনার মাইক্রোসার্ভিস কী করতে হবে তার জন্য একটি কমান্ড দিয়ে সাড়া দেবে। এরিনার মধ্যে আপনি সামনে এগোতে, বামে বা ডানে ঘুরতে, অথবা একটি রংধনু ছুঁড়তে পারেন। রংধনুটি খেলোয়াড় যেদিকে মুখ করে আছে, সেই দিকে সর্বোচ্চ তিন ঘর পর্যন্ত যাবে। যদি রংধনুটি অন্য কোনো খেলোয়াড়কে "আঘাত" করে, তবে যে ছুঁড়বে সে এক পয়েন্ট পাবে এবং যে খেলোয়াড় আঘাত পাবে সে এক পয়েন্ট হারাবে। খেলোয়াড়ের বর্তমান সংখ্যা অনুযায়ী এরিনার আকার স্বয়ংক্রিয়ভাবে সামঞ্জস্য করা হয়।
অতীতের একটি এরিনা দেখতে এইরকম ছিল:

উদাহরণস্বরূপ ব্যাটল ওয়ান এরিনা
আবর্তনশীল সংঘাত
খেলার মাঠে একাধিক খেলোয়াড় পরস্পরবিরোধী কাজ করার চেষ্টা করতে পারে। উদাহরণস্বরূপ, দুজন খেলোয়াড় একই ঘরে যাওয়ার চেষ্টা করতে পারে। কোনো বিরোধের ক্ষেত্রে, সবচেয়ে দ্রুত প্রতিক্রিয়া জানানো মাইক্রোসার্ভিসটি বিজয়ী হয়।
যুদ্ধ দেখা
প্রতিযোগিতায় আপনার মাইক্রোসার্ভিসটি কেমন করছে তা দেখতে লাইভ এরিনাটি দেখুন !
যুদ্ধ এপিআই
আমাদের এরিনা ম্যানেজারের সাথে কাজ করার জন্য, আপনার মাইক্রোসার্ভিসকে এরিনাতে অংশগ্রহণের জন্য একটি নির্দিষ্ট এপিআই (API) ইমপ্লিমেন্ট করতে হবে। এরিনা ম্যানেজার আপনার দেওয়া ইউআরএল-এ একটি HTTP POST-এর মাধ্যমে নিম্নলিখিত JSON কাঠামোসহ এরিনার বর্তমান অবস্থা পাঠাবে:
{
"_links": {
"self": {
"href": "https://YOUR_SERVICE_URL"
}
},
"arena": {
"dims": [4,3], // width, height
"state": {
"https://A_PLAYERS_URL": {
"x": 0, // zero-based x position, where 0 = left
"y": 0, // zero-based y position, where 0 = top
"direction": "N", // N = North, W = West, S = South, E = East
"wasHit": false,
"score": 0
}
... // also you and the other players
}
}
}
আপনার HTTP রেসপন্সের স্ট্যাটাস কোড অবশ্যই 200 (OK) হতে হবে এবং এর রেসপন্স বডিতে আপনার পরবর্তী পদক্ষেপটি উল্লেখ থাকবে, যা নিম্নলিখিতগুলির মধ্যে যেকোনো একটির একটিমাত্র বড় হাতের অক্ষর দিয়ে এনকোড করা থাকবে:
F <- move Forward
R <- turn Right
L <- turn Left
T <- Throw
এইটুকুই! চলুন ক্লাউড রান-এ একটি মাইক্রোসার্ভিস ডেপ্লয় করার প্রক্রিয়াটি দেখে নেওয়া যাক। ক্লাউড রান হলো মাইক্রোসার্ভিস এবং অন্যান্য অ্যাপ্লিকেশন চালানোর জন্য গুগল ক্লাউডের একটি পরিষেবা।
২. গুগল ক্লাউডে লগইন করুন
ক্লাউড রান-এ আপনার মাইক্রোসার্ভিস ডেপ্লয় করতে হলে আপনাকে গুগল ক্লাউডে লগইন করতে হবে। আমরা আপনার অ্যাকাউন্টে একটি ক্রেডিট যোগ করে দেব এবং আপনাকে কোনো ক্রেডিট কার্ডের তথ্য দিতে হবে না। সাধারণত GSuite অ্যাকাউন্টের পরিবর্তে একটি ব্যক্তিগত অ্যাকাউন্ট (যেমন gmail.com) ব্যবহার করা কম ঝামেলাপূর্ণ, কারণ কখনও কখনও GSuite অ্যাডমিনরা তাদের ব্যবহারকারীদের গুগল ক্লাউডের কিছু নির্দিষ্ট ফিচার ব্যবহার করতে বাধা দেন। এছাড়াও, আমরা যে ওয়েব কনসোলটি ব্যবহার করব, সেটি ক্রোম বা ফায়ারফক্সে খুব ভালোভাবে কাজ করলেও সাফারিতে সমস্যা হতে পারে।
৩. আপনার মাইক্রোসার্ভিস স্থাপন করা
আপনি যেকোনো প্রযুক্তি ব্যবহার করে আপনার মাইক্রোসার্ভিস তৈরি করতে পারেন এবং যেকোনো জায়গায় তা স্থাপন করতে পারেন, যতক্ষণ পর্যন্ত তা সর্বজনীনভাবে অ্যাক্সেসযোগ্য থাকে এবং ব্যাটল এপিআই (Battle API) মেনে চলে। কিন্তু কাজটি সহজ করার জন্য, আমরা আপনাকে একটি নমুনা সার্ভিস থেকে শুরু করতে এবং ক্লাউড রান-এ (Cloud Run) তা স্থাপন করতে সাহায্য করব।
শুরু করার জন্য আপনার নমুনা বেছে নিন
অসংখ্য ব্যাটল মাইক্রোসার্ভিস স্যাম্পল রয়েছে যা থেকে আপনি শুরু করতে পারেন:
কোটলিন ও স্প্রিং বুট | ||
কোটলিন এবং মাইক্রোনাট | ||
কোটলিন এবং কোয়ার্কাস | ||
জাভা ও স্প্রিং বুট | ||
জাভা এবং কোয়ার্কাস | ||
যান | ||
নোড.জেএস এবং এক্সপ্রেস | ||
পাইথন ও ফ্লাস্ক |
কোন স্যাম্পলটি দিয়ে শুরু করবেন তা ঠিক করার পর, উপরের "Deploy on Cloud Run" বোতামটিতে ক্লিক করুন। এটি ক্লাউড শেল (ক্লাউডের একটি ভার্চুয়াল মেশিনের ওয়েব-ভিত্তিক কনসোল) চালু করবে, যেখানে সোর্সটি ক্লোন করা হবে, তারপর একটি ডেপ্লয়েবল প্যাকেজ (একটি ডকার কন্টেইনার ইমেজ) হিসেবে বিল্ড করা হবে, যা পরবর্তীতে গুগল কন্টেইনার রেজিস্ট্রি- তে আপলোড করা হয় এবং তারপর ক্লাউড রান- এ ডেপ্লয় করা হয়।
জিজ্ঞাসা করা হলে us-central1 অঞ্চলটি উল্লেখ করুন।
নিচের স্ক্রিনশটটিতে মাইক্রোসার্ভিস বিল্ড এবং ডিপ্লয়মেন্টের জন্য ক্লাউড শেল আউটপুট দেখানো হয়েছে।

মাইক্রোসার্ভিসটি কাজ করছে কিনা যাচাই করুন
ক্লাউড শেলে আপনি আপনার সদ্য ডেপ্লয় করা মাইক্রোসার্ভিসে একটি রিকোয়েস্ট পাঠাতে পারেন, যেখানে YOUR_SERVICE_URL এর জায়গায় আপনার সার্ভিসের URL-টি বসাতে হবে (যা ক্লাউড শেলে "Your application is now live here" লাইনের পরে থাকে):
curl -d '{
"_links": {
"self": {
"href": "https://foo.com"
}
},
"arena": {
"dims": [4,3],
"state": {
"https://foo.com": {
"x": 0,
"y": 0,
"direction": "N",
"wasHit": false,
"score": 0
}
}
}
}' -H "Content-Type: application/json" -X POST -w "\n" \
https://YOUR_SERVICE_URL
আপনি প্রতিক্রিয়া স্ট্রিং হিসেবে F , L , R বা T দেখতে পাবেন।
৪. অ্যারেনাতে অন্তর্ভুক্তির জন্য অনুরোধ করুন
রেইনবো রাম্পাসে যোগ দিতে হলে আপনাকে একটি এরিনাতে যোগ দিতে হবে। rainbowrumpus.dev খুলুন, এরপর একটি এরিনাতে 'join' বাটনে ক্লিক করুন, যেখানে আপনি আপনার মাইক্রোসার্ভিস URL প্রদান করবেন।
৫. পরিবর্তনসমূহ তৈরি ও প্রয়োগ করুন
পরিবর্তন করার আগে আপনাকে ক্লাউড শেলে GCP প্রজেক্ট এবং আপনার ব্যবহৃত স্যাম্পল সম্পর্কে কিছু তথ্য সেটআপ করতে হবে। প্রথমে আপনার GCP প্রজেক্টগুলোর তালিকা করুন:
gcloud projects list
সম্ভবত আপনার একটিই প্রজেক্ট আছে। প্রথম কলাম থেকে PROJECT_ID কপি করে নিচের কমান্ডে পেস্ট করুন ( YOUR_PROJECT_ID এর জায়গায় আপনার আসল প্রজেক্ট আইডি বসান), যাতে একটি এনভায়রনমেন্ট ভ্যারিয়েবল সেট করা যায় যা আমরা পরবর্তী কমান্ডগুলোতে ব্যবহার করব:
export PROJECT_ID=YOUR_PROJECT_ID
এখন আপনার ব্যবহৃত স্যাম্পলটির জন্য আরেকটি এনভায়রনমেন্ট ভেরিয়েবল সেট করুন, যাতে পরবর্তী কমান্ডগুলোতে আমরা সঠিক ডিরেক্টরি এবং সার্ভিসের নাম উল্লেখ করতে পারি:
# Copy and paste ONLY ONE of these export SAMPLE=kotlin-micronaut export SAMPLE=kotlin-quarkus export SAMPLE=kotlin-springboot export SAMPLE=java-quarkus export SAMPLE=java-springboot export SAMPLE=go export SAMPLE=nodejs export SAMPLE=python
এখন, আপনি ক্লাউড শেল-এর ভেতর থেকে আপনার মাইক্রোসার্ভিসের সোর্স এডিট করতে পারবেন। ক্লাউড শেল ওয়েব-ভিত্তিক এডিটরটি খোলার জন্য, এই কমান্ডটি চালান:
cloudshell edit cloudbowl-microservice-game/samples/$SAMPLE/README.md
এরপর পরিবর্তন করার জন্য আরও নির্দেশাবলী দেখতে পাবেন।

স্যাম্পল প্রজেক্টটি এডিটরসহ ক্লাউড শেলে খোলা আছে।
আপনার পরিবর্তনগুলি সংরক্ষণ করার পরে, README.md ফাইল থেকে কমান্ডটি ব্যবহার করে ক্লাউড শেলে অ্যাপ্লিকেশনটি শুরু করুন, তবে প্রথমে নিশ্চিত হয়ে নিন যে আপনি ক্লাউড শেলে সঠিক স্যাম্পল ডিরেক্টরিতে আছেন:
cd cloudbowl-microservice-game/samples/$SAMPLE
অ্যাপ্লিকেশনটি চালু হয়ে গেলে, একটি নতুন ক্লাউড শেল ট্যাব খুলুন এবং curl ব্যবহার করে পরিষেবাটি পরীক্ষা করুন:
curl -d '{
"_links": {
"self": {
"href": "https://foo.com"
}
},
"arena": {
"dims": [4,3],
"state": {
"https://foo.com": {
"x": 0,
"y": 0,
"direction": "N",
"wasHit": false,
"score": 0
}
}
}
}' -H "Content-Type: application/json" -X POST -w "\n" \
http://localhost:8080
যখন আপনি আপনার পরিবর্তনগুলো ডেপ্লয় করার জন্য প্রস্তুত হবেন, তখন ক্লাউড শেলে pack কমান্ড ব্যবহার করে আপনার প্রজেক্টটি বিল্ড করুন। এই কমান্ডটি বিল্ডপ্যাকস (Buildpacks) ব্যবহার করে প্রজেক্টের ধরন শনাক্ত করে, সেটিকে কম্পাইল করে এবং ডেপ্লয়যোগ্য আর্টিফ্যাক্ট (একটি ডকার কন্টেইনার ইমেজ) তৈরি করে।
# Make sure you are in a Cloud Shell tab where you set the PROJECT_ID # and SAMPLE env vars. Otherwise, set them again. pack build gcr.io/$PROJECT_ID/$SAMPLE \ --path ~/cloudbowl-microservice-game/samples/$SAMPLE \ --builder gcr.io/buildpacks/builder
এখন যেহেতু আপনার কন্টেইনার ইমেজটি তৈরি হয়ে গেছে, সেটিকে গুগল কন্টেইনার রেজিস্ট্রি-তে পুশ করার জন্য (ক্লাউড শেল-এ) ডকার কমান্ডটি ব্যবহার করুন, যাতে পরবর্তীতে ক্লাউড রান সেটিকে অ্যাক্সেস করতে পারে:
docker push gcr.io/$PROJECT_ID/$SAMPLE
এখন ক্লাউড রান-এ নতুন সংস্করণটি স্থাপন করুন:
gcloud run deploy $SAMPLE \
--project=$PROJECT_ID \
--platform=managed \
--region=us-central1 \
--image=gcr.io/$PROJECT_ID/$SAMPLE \
--allow-unauthenticated
এখন এরিনা আপনার নতুন সংস্করণটি ব্যবহার করবে!
৬. স্থানীয়ভাবে উন্নয়ন করুন (ঐচ্ছিক)
এই ধাপগুলো অনুসরণ করে আপনি আপনার নিজের IDE ব্যবহার করে স্থানীয়ভাবে আপনার প্রজেক্টে কাজ করতে পারেন:
- [ক্লাউড শেলে] নমুনাটি জিপ করুন:
# Make sure the SAMPLE env var is still set. If not, re-set it. cd ~/cloudbowl-microservice-game/samples zip -r cloudbowl-sample.zip $SAMPLE
- [ক্লাউড শেলে] জিপ ফাইলটি আপনার মেশিনে ডাউনলোড করুন:
cloudshell download-file cloudbowl-sample.zip
- [আপনার মেশিনে] ফাইলটি আনজিপ করুন এবং তারপর আপনার পরিবর্তনগুলো করে পরীক্ষা করুন।
- [আপনার মেশিনে] gcloud CLI ইনস্টল করুন।
- [আপনার মেশিনে] গুগল ক্লাউডে লগইন করুন:
gcloud auth login
- আপনার মেশিনে
PROJECT_IDএবংSAMPLEএনভায়রনমেন্ট ভেরিয়েবলগুলোর মান Cloud Shell-এর মানের সমান করে সেট করুন। - [আপনার মেশিনে] ক্লাউড বিল্ড ব্যবহার করে কন্টেইনারটি বিল্ড করুন (রুট প্রজেক্ট ডিরেক্টরি থেকে):
gcloud alpha builds submit . \ --pack=image=gcr.io/$PROJECT_ID/$SAMPLE \ --project=$PROJECT_ID
- [আপনার মেশিনে] নতুন কন্টেইনারটি স্থাপন করুন:
gcloud run deploy $SAMPLE \ --project=$PROJECT_ID \ --platform=managed \ --region=us-central1 \ --image=gcr.io/$PROJECT_ID/$SAMPLE \ --allow-unauthenticated
৭. অবিচ্ছিন্ন ডেলিভারি
SCM সেটআপ করুন
গিটহাব সেটআপ করুন, যাতে আপনি আপনার মাইক্রোসার্ভিসে টিমের সাথে যৌথভাবে কাজ করতে পারেন:
- গিটহাবে লগইন করুন
- একটি নতুন রিপো তৈরি করুন
- আপনি যদি আপনার লোকাল মেশিনে কাজ করেন, তাহলে আপনি গিট কমান্ড লাইন ইন্টারফেস (CLI) অথবা গিটহাব ডেস্কটপ জিইউআই অ্যাপ্লিকেশন (উইন্ডোজ বা ম্যাক) ব্যবহার করতে পারেন। আপনি যদি ক্লাউড শেল ব্যবহার করেন, তাহলে আপনাকে গিট CLI ব্যবহার করতে হবে। আপনার মাইক্রোসার্ভিসের কোড গিটহাবে আপলোড করার জন্য, CLI অথবা গিটহাব ডেস্কটপের নির্দেশাবলী অনুসরণ করুন।
গিট সিএলআই দিয়ে আপনার কোড পুশ করুন।
- ব্যক্তিগত অ্যাক্সেস টোকেন সহ https-এর মাধ্যমে গিট অনুসরণ করুন।
- 'রেপো' স্কোপ নির্বাচন করুন
- গিট সেটআপ করুন:
git config --global credential.helper \ 'cache --timeout=172800' git config --global push.default current git config --global user.email "YOUR@EMAIL" git config --global user.name "YOUR NAME"
- গিটহাব অর্গ এবং রিপো (
https://github.com/ORG/REPO) এর জন্য এনভায়রনমেন্ট ভেরিয়েবল সেট করুন।
export GITHUB_ORG=YOUR_GITHUB_ORG export GITHUB_REPO=YOUR_GITHUB_REPO
- আপনার কোডটি নতুন রিপোজিটরিতে পুশ করুন।
# Make sure the SAMPLE env var is still set. If not, re-set it. cd ~/cloudbowl-microservice-game/samples/$SAMPLE git init git add . git commit -m init git remote add origin https://github.com/$GITHUB_ORG/$GITHUB_REPO.git git branch -M main # This will now ask for your GitHub username & password # for the password use the personal access token git push -u origin main
- যেকোনো পরিবর্তন করার পর আপনি GitHub-এ পরিবর্তনগুলো কমিট এবং পুশ করতে পারেন:
git add . git status git diff --staged git commit -am "my changes" git push
গিটহাব ডেস্কটপের মাধ্যমে আপনার কোড পুশ করুন।
- পূর্ববর্তী "ডেভেলপ লোকালি" ল্যাবের নির্দেশাবলী ব্যবহার করে আপনার কোড ডাউনলোড করুন।
- GitHub Desktop ইনস্টল করুন , এটি চালু করুন এবং লগইন করুন।
- আপনার নতুন তৈরি করা রিপোটি ক্লোন করুন

- আপনার ফাইল এক্সপ্লোরার খুলুন এবং আপনার প্রজেক্টটি নতুন রিপোজিটরিতে কপি করুন।
- আপনার পরিবর্তনগুলো কমিট করুন।

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

- আপনার GitHub রিপো নির্বাচন করুন এবং ব্রাঞ্চটি সেট করুন:
^main$

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

- কোনো মেট্রিকের ⋮ মেনুতে ক্লিক করুন, তারপর 'View in Metrics Explorer' নির্বাচন করুন।
- আপনি এখন রিসোর্স মেট্রিক্স, ফিল্টার, গ্রুপিং এবং অন্যান্য অপশন পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, আপনি সমস্ত সার্ভিসের গড় সার্ভিস ল্যাটেন্সি দেখতে পারেন:

লগ
সার্ভিসগুলো থেকে প্রাপ্ত STDOUT আউটপুট গুগল ক্লাউড লগিং সিস্টেমে পাঠানো হয়। আপনি ক্লাউড রান সার্ভিস অ্যাডমিন পেজ থেকে একটি বেসিক লগ ভিউ অ্যাক্সেস করতে পারেন, যেমন:

ক্লাউড রান লগগুলিতে আপনি তীব্রতা অনুসারে ফিল্টার করতে পারেন। আরও নমনীয়তার জন্য ক্লিক করুন: 
সতর্কতা
- আপনার পরিষেবার জন্য একটি স্বাস্থ্য যাচাই ইউআরএল তৈরি করুন।
- Spring Boot-এর জন্য, শুধু নিম্নলিখিত ডিপেন্ডেন্সিটি যোগ করুন:
org.springframework.boot:spring-boot-starter-actuator
-
src/main/resources/application.propertiesফাইলটি তৈরি বা আপডেট করুন এবং ডিস্কস্পেস চেক নিষ্ক্রিয় করুন:
management.health.diskspace.enabled=false
- আপনার প্রোটোকল, হোস্টনেম এবং পাথ উল্লেখ করে একটি আপটাইম অ্যালার্ট তৈরি করুন । Spring Boot-এর জন্য পাথটি হলো:
/actuator/health - সতর্কতা পরীক্ষা করুন

- অ্যালার্ট তৈরি করুন
৯. অভিনন্দন
অভিনন্দন, আপনি সফলভাবে এমন একটি মাইক্রোসার্ভিস তৈরি ও স্থাপন করেছেন যা অন্যান্য মাইক্রোসার্ভিসের সাথে পাল্লা দিতে পারে! শুভকামনা!