আমি মাইক্রো-পরিষেবাগুলি ব্যবহার করে একটি অ্যাপ্লিকেশন ডিজাইন করছি এবং একাধিক পরিষেবা থেকে ডেটা সংগ্রহ করার জন্য সেরা পদ্ধতির বিষয়ে আমি অনিশ্চিত।
আমি বিশ্বাস করি যে দুটি বিকল্প রয়েছে:
- একটি 'আন্তঃ-পরিষেবা' যোগাযোগ ব্যবস্থা সংহত করুন যা পরিষেবাগুলিকে সরাসরি কথা বলতে দেয়। এপিআই গেটওয়ে একটি পৃথক পরিষেবা কল করবে, যা এপিআই গেটওয়ের একীভূত প্রতিক্রিয়া ফিরিয়ে দেওয়ার আগে ডেটা সংগ্রহ করার জন্য অন্যান্য পরিষেবাগুলিকে কল করে। এরপরে এপিআই কলরকে প্রতিক্রিয়া জানায়। (যখন সার্ভিস বি-তে কল এলে সার্ভিসএর প্রতিক্রিয়া প্রয়োজন তখন এটি সিঙ্ক্রোনাস কল হতে হবে IE IE ব্যক্তি এবং ঠিকানা পরিষেবাগুলি পৃথক করুন))
- এপিআই গেটওয়ে প্রতিটি পরিষেবা সরাসরি কল করুন এবং প্রতিক্রিয়া ফিরিয়ে দেওয়ার আগে এপিআইয়ের মধ্যে ডেটা একত্রিত করুন।
আমি দ্বিতীয় বিকল্পের দিকে ঝুঁকছি, কারণ একে অপরের সাথে পরিষেবাগুলি কথা বলার ফলে কাপলিংয়ের পরিচয় হবে, সেক্ষেত্রে আমি কেবল একরকম অ্যাপ্লিকেশনটি স্থপতি করতে পারি। যাইহোক, কয়েকটি গুরুতর ত্রুটি রয়েছে যা আমি এই বিকল্পটি দিয়ে আমার মাথার উপরের অংশটি বন্ধ করে ভাবতে পারি:
একাধিক পরিষেবাদিতে একাধিক কল সম্পাদন করা এআইপিআই সার্ভারে লোড বাড়িয়ে তোলে, বিশেষত যখন এই কলগুলির মধ্যে কয়েকটি ব্লক করা হয়।
এই পদ্ধতির অর্থ হ'ল অ্যাপ্লিকেশনটি কী চেষ্টা করছে সে সম্পর্কে 'সচেতন' থাকতে হবে (IE লজিককে পরিষেবাগুলিকে কল করার জন্য, এবং তারপরে ডেটা একত্রীকরণের জন্য API এ প্রোগ্রাম করাতে হবে), তবে কেবল মাইক্রো পরিষেবাগুলির জন্য বোবা 'এন্ডপয়েন্ট' হিসাবে কাজ করুন।
আমি জানতে চাই যে এই সমস্যার স্ট্যান্ডার্ড অ্যাপ্রোচ কি এবং যদি অন্য কোনও তৃতীয় বিকল্পটি আমি মিস করছি?