যেহেতু সেবাগুলি স্বাধীনভাবে স্থাপন করা হয়, আপনি কখনই অনুমান করতে পারবেন না যে কলাররা সমন্বিতভাবে আপগ্রেড করবে। API সংস্করণ নির্ধারণ এবং পশ্চাদপদ সামঞ্জস্য উৎপাদকদের বিদ্যমান ভোক্তাদের ভাঙা ছাড়াই বিকশিত হতে দেয়।
যেহেতু সেবাগুলি স্বাধীনভাবে স্থাপন করা হয়, আপনি কখনই অনুমান করতে পারবেন না যে কলাররা সমন্বিতভাবে আপগ্রেড করবে। API সংস্করণ নির্ধারণ এবং পশ্চাদপদ সামঞ্জস্য উৎপাদকদের বিদ্যমান ভোক্তাদের ভাঙা ছাড়াই বিকশিত হতে দেয়।
| কৌশল | উদাহরণ |
|---|
| URI পথ | GET /v2/orders/42 |
| হেডার | Accept: application/vnd.api.v2+json |
| স্কিমা বিবর্তন | ক্ষেত্র যোগ করুন, কখনই সরান/পুনর্নাম করবেন না |
NON-BREAKING (safe):
✓ add a new optional field
✓ add a new endpoint
✓ add a new enum value (if clients tolerate unknowns)
BREAKING (needs a new version):
✗ remove or rename a field
✗ change a type or make a field required
✗ change semantics of an existing field
message Order {
string id = 1;
double total = 2;
string currency = 3; // NEW field 3 — old clients ignore it safely
}
ক্ষেত্র সংখ্যা, নাম নয়, ওয়্যার ফরম্যাট সংজ্ঞায়িত করে, তাই ক্ষেত্র যোগ করা পশ্চাদপদ সামঞ্জস্যপূর্ণ।
Release v2 ─▶ run v1 + v2 together ─▶ migrate consumers ─▶ deprecate v1 ─▶ remove v1
যখন বাস্তব ট্রাফিক এখনও এটি ব্যবহার করছে তখন কখনই একটি সংস্করণ সরান না। অবসর গ্রহণের আগে ব্যবহার ট্র্যাক করুন।
স্বাধীন স্থাপনযোগ্যতা শুধুমাত্র কাজ করে যখন একটি উৎপাদক প্রতিটি ভোক্তার রিলিজ সমন্বয় না করেই একটি পরিবর্তন পাঠাতে পারে।
যোগমূলক পরিবর্তনের জন্য ডিজাইন করা এবং মাইগ্রেশনের সময় পুরানো সংস্করণগুলি সমর্থন করা সেই স্বাধীনতা সংরক্ষণ করে যা ভঙ্গুর বড় আকারের আপগ্রেড জোর না করে।
বিস্তারিত উত্তরসহ IT ইন্টারভিউ প্রশ্নের একটি লাইব্রেরি — জুনিয়র থেকে সিনিয়র পর্যন্ত।
দান করুন