আমি একটি ত্রি-স্তরের সিস্টেমের জন্য একটি REST এপিআই ডিজাইন করছি: Client application-> Front-end API cloud server-> user's home API server (Home)।
Homeএকটি হোম ডিভাইস, এবং Front-endওয়েবসকেট বা একটি দীর্ঘ পোলের মাধ্যমে সংযোগ বজায় রাখার কথা রয়েছে (এটিই প্রথম জায়গা যেখানে আমরা REST লঙ্ঘন করছি It এটি পরে আরও খারাপ হয়ে যায়) । Front-endবেশিরভাগ টানেল সংযোগের Clientজন্য অনুরোধ করে Homeএবং কিছু কল নিজেই পরিচালনা করে। কখনও কখনও Homeবিজ্ঞপ্তি প্রেরণ Client।
Front-endএবং Homeমূলত একই এপিআই রয়েছে; ল্যানের মাধ্যমে সরাসরি Clientসংযোগ করা হতে পারে Home। এই ক্ষেত্রে, নিজেই Homeকিছু Clientক্রিয়া নিবন্ধিত Front-endকরতে হবে।
এই সিস্টেমে রেস্টের জন্য পেশাদাররা হলেন:
- REST হ'ল মানব-পঠনযোগ্য;
- REST এর ক্রিয়াগুলি (সিআরইউডি এর মতো), প্রোটোকল অবজেক্টগুলিতে বিশেষ্য এবং প্রতিক্রিয়া কোডগুলির একটি সুস্পষ্ট সংজ্ঞায়িত ম্যাপিং রয়েছে;
- এটি এইচটিটিপি-র উপর কাজ করে এবং সম্ভাব্য সমস্ত প্রক্সি পাস করে;
REST বিপরীতে রয়েছে:
- আমাদের কেবল একটি অনুরোধ-প্রতিক্রিয়া যোগাযোগের স্টাইলই নয়, একটি প্রকাশ-সাবস্ক্রাইবও দরকার;
- এইচটিটিপি ত্রুটি কোডগুলি ত্রি-স্তরের যোগাযোগের ত্রুটিগুলি পরিচালনা করতে অপর্যাপ্ত হতে পারে; প্রয়োজনীয় সংযোগটি ভেঙে গেছে এবং সেখানে থাকা উচিত ছিল কেবলমাত্র এটির জন্য কিছু অ্যাসিঙ্ক কলটিতে
Front-endফিরে202 Acceptedযেতে পারে ;Home503 Homeএর কাছে বার্তা প্রেরণ করা দরকারClient।Clientপোল করতে হবেFront-endবা সংযোগ বজায় রাখতে হবে।
কার্যকারিতা প্রকাশ / সাবস্ক্রাইব করার জন্য আমরা ডাব্লুএইচএমপি / অটোবাহনের উপর বিবেচনা করছি যখন এটি আমার মনে হয়েছে যে এটি ইতিমধ্যে কোনও বার্তার সারির মতো দেখাচ্ছে।
এটি পরিবহন হিসাবে কোনও ধরণের বার্তাবাহকের সারি মূল্যায়ন করার মতো?
বার্তার সারি বিপরীতে মনে হচ্ছে:
- আমাকে নিজের বার্তা স্তরে CRUD ক্রিয়া এবং ত্রুটি কোডগুলি সংজ্ঞায়িত করতে হবে।
- আমি "উচ্চ রক্ষণাবেক্ষণ ব্যয়" সম্পর্কে কিছু পড়েছি, তবে এর অর্থ কী?
এই বিবেচনা কতটা গুরুতর?
@Jimmy Hoffaবৈধ পয়েন্ট, ধন্যবাদ এটা ঠিক, কিন্তু সম্পূর্ণ না। এটি একটি সাধারণ ডাটাবেস, সঞ্চয়স্থান এবং আরও অনেক কিছু। @Javierআপনাকে ধন্যবাদ, এটি একটি উত্তরের একটি ভাল অংশ।
@Mike Brownঠিক। দয়া করে।