ticketing.toml(ঐচ্ছিক)-এর প্রতিটি আইটেম এনভায়রনমেন্ট ভ্যারিয়েবল হিসেবেও দেওয়া যায়। অগ্রাধিকার হলো এনভায়রনমেন্ট ভ্যারিয়েবল > ticketing.toml > ডিফল্ট মান, এবং কী ও বুলিয়ান মান বড়/ছোট হাতের অক্ষর নির্বিশেষে গ্রহণযোগ্য। Docker ইমেজ scratch-ভিত্তিক হওয়ায় কনফিগারেশন এনভায়রনমেন্ট ভ্যারিয়েবল দিয়ে ইনজেক্ট করাই ডিফল্ট পদ্ধতি (কনফিগারেশন ফাইল ব্যবহার করতে চাইলে মাউন্ট করার পর CONFIG দিয়ে পাথ নির্দিষ্ট করুন)।
| এনভায়রনমেন্ট ভ্যারিয়েবল | ডিফল্ট মান | বিবরণ |
|---|---|---|
PORT (SERVER_PORT) | 5225 | TCP লিসেন পোর্ট। ক্লাস্টার মোডে উপেক্ষিত হয় এবং CLUSTER_SELF-এর পোর্ট ব্যবহৃত হয় |
DEBUG (SERVER_DEBUG) | বিল্ড অনুযায়ী | 1/true হলে debug লগ |
SOCKET_BIND | 0.0.0.0 | লিসেন ঠিকানা |
SOCKET_NODELAY | true | TCP_NODELAY |
SOCKET_READ_BUF_LEN | 4096 | সংযোগ প্রতি রিড বাফার (বাইট) |
SOCKET_REPLY_QUEUE | 1024 | সংযোগ প্রতি সাড়ার সারির দৈর্ঘ্য |
SOCKET_REPLY_BATCH | 64 | একটি write-এ একত্রে পাঠানো সর্বোচ্চ সাড়ার সংখ্যা |
SWEEP_INTERVAL_SECS | 5 | মেয়াদোত্তীর্ণ কী পরিষ্কারের ব্যবধান (সেকেন্ড) |
CLUSTER_SELF | (নেই) | এই নোডের প্রচারিত ঠিকানা host:port। থাকলে ক্লাস্টার মোড |
CLUSTER_PEERS | (নেই) | নোড ঠিকানার তালিকা (কমা দিয়ে বিভক্ত)। ক্রম = পদোন্নতির অগ্রাধিকার, self-সহ, ২টি বা তার বেশি |
CONFIG | ./conf/ticketing.toml | কনফিগারেশন ফাইলের পাথ |
[cluster](বা CLUSTER_*) না থাকলে সিঙ্গেল নোড। সবচেয়ে দ্রুত, তবে পুনরায় চালু হওয়ার সময় সংক্ষিপ্ত বিচ্ছিন্নতা ঘটে এবং অবস্থা ইন-মেমরি হওয়ায় পুনরায় চালু হলে হারিয়ে যায় (lease একটি নিরাপত্তা জাল)।CLUSTER_PEERS (অগ্রাধিকার ক্রমে) এবং নিজেকে নির্দেশকারী CLUSTER_SELF থাকে। জীবিত নোডগুলোর মধ্যে সর্বোচ্চ অগ্রাধিকারসম্পন্ন একটি অ্যাক্টিভ হয় এবং বাকিরা স্ট্যান্ডবাই হিসেবে রিয়েল-টাইম রেপ্লিকেশন গ্রহণ করে। বিস্তারিত কার্যপ্রণালীর জন্য কার্যপ্রণালী এবং প্রোটোকল — সার্ভার ↔ সার্ভার দেখুন।Kubernetes ক্লাস্টার ডিপ্লয়মেন্টে StatefulSet + হেডলেস সার্ভিস ব্যবহার করা হয়। প্রতিটি পড যেন স্থিতিশীল DNS নাম (
ticketing-0.ticketing…,ticketing-1.ticketing…) পায় তা নিশ্চিত করে, সেই নামগুলো অগ্রাধিকার ক্রমেCLUSTER_PEERS-এ দিয়ে প্রতিটি পডেরCLUSTER_SELFdownward API (metadata.name) দিয়ে স্বয়ংক্রিয়ভাবে ইনজেক্ট করা হয়।
Ctrl+C) হ্যান্ডঅফের মাধ্যমে স্ট্যান্ডবাই পদোন্নতি পায় এবং ক্লায়েন্ট স্থানান্তরিত হয়।sarolab/ticketing · Github: saro-lab/ticketing