ফ্লিট ইঞ্জিন এবং ফ্লিট ইভেন্টস রেফারেন্স সলিউশন দিয়ে কাছাকাছি-রিয়েল টাইম ইভেন্ট তৈরি করুন

স্থলে অপারেটিং বহর থেকে কাছাকাছি-বাস্তব সময়ের সংকেতগুলি বিভিন্ন উপায়ে ব্যবসার জন্য উপযোগী। উদাহরণস্বরূপ, ব্যবসাগুলি এগুলি ব্যবহার করতে পারে:

  • তাদের বহরের কর্মক্ষমতা নিরীক্ষণ করুন এবং সম্ভাব্য সমস্যাগুলি প্রাথমিকভাবে চিহ্নিত করুন
  • সঠিক ETA এবং ট্র্যাকিং তথ্য প্রদান করে গ্রাহক পরিষেবা উন্নত করুন
  • অদক্ষতা চিহ্নিত এবং মোকাবেলা করে খরচ কমাতে
  • ড্রাইভারের আচরণ নিরীক্ষণ এবং সম্ভাব্য বিপদ চিহ্নিত করে নিরাপত্তা উন্নত করুন
  • দক্ষতা উন্নত করতে ড্রাইভার রুট এবং সময়সূচী অপ্টিমাইজ করুন
  • গাড়ির অবস্থান এবং পরিষেবার সময় ট্র্যাক করে প্রবিধান মেনে চলুন

এই নথিটি ব্যাখ্যা করে যে কীভাবে বিকাশকারীরা Google মানচিত্র প্ল্যাটফর্মের " গতিশীলতা পরিষেবা " (" লাস্ট মাইল ফ্লিট সলিউশন" (LMFS) বা " অন-ডিমান্ড রাইডস অ্যান্ড ডেলিভারি সলিউশন" (ODRD) থেকে সংকেতগুলিকে কার্যযোগ্য কাস্টম ইভেন্টে পরিণত করতে পারে৷ এর মূল ধারণা এবং নকশা সিদ্ধান্তগুলি GitHub-এ উপলব্ধ ফ্লিট ইভেন্ট রেফারেন্স সলিউশনও কভার করা হয়েছে।

এই নথিটি প্রাসঙ্গিক:

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

এই ডকুমেন্টের শেষ নাগাদ, Google Maps প্ল্যাটফর্ম এবং Google ক্লাউড থেকে বিল্ডিং ব্লক যা ফ্লিট ইভেন্টস রেফারেন্স সলিউশন তৈরি করে তার সাথে আপনার একটি স্ট্রিমিং সিস্টেমের মূল উপাদান এবং বিবেচনার একটি ভিত্তিগত বোঝাপড়া থাকা উচিত।

ফ্লিট ইভেন্ট রেফারেন্স সমাধান ওভারভিউ

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

সমাধানটি স্বয়ংক্রিয়ভাবে কাজ বা ভ্রমণের সাথে সম্পর্কিত নির্দিষ্ট ডেটাতে পরিবর্তনের উপর ভিত্তি করে ইভেন্ট তৈরি করে। আপনি এই ইভেন্টগুলিকে স্টেকহোল্ডারদের কাছে নিম্নলিখিতগুলির মতো বিজ্ঞপ্তি পাঠাতে বা আপনার বহরের জন্য অন্যান্য ক্রিয়াকলাপ ট্রিগার করতে ব্যবহার করতে পারেন৷

  • টাস্ক আগমনের জন্য ETA পরিবর্তন
  • টাস্ক আগমনের জন্য আপেক্ষিক ETA পরিবর্তন
  • টাস্ক পৌঁছানোর বাকি সময়
  • টাস্ক আগমনের দূরত্ব বাকি
  • টাস্কআউটকামের স্থিতি পরিবর্তন

রেফারেন্স সমাধানের প্রতিটি উপাদান আপনার ব্যবসার প্রয়োজন অনুসারে কাস্টমাইজ করা যেতে পারে।

লজিক্যাল বিল্ডিং ব্লক

ডায়াগ্রাম : নিম্নলিখিত চিত্রটি উচ্চ স্তরের বিল্ডিং ব্লকগুলি দেখায় যা ফ্লিট ইভেন্টস রেফারেন্স সমাধান তৈরি করে

ফ্লিট ইভেন্ট ওভারভিউ এবং লজিক্যাল বিল্ডিং ব্লক

রেফারেন্স সমাধান নিম্নলিখিত উপাদান ধারণ করে:

  • ইভেন্ট উত্স : মূল ইভেন্ট স্ট্রীম কোথা থেকে আসে। " লাস্ট মাইল ফ্লিট সলিউশন" বা " অন-ডিমান্ড রাইডস এবং ডেলিভারি সলিউশন" উভয়েরই ক্লাউড লগিংয়ের সাথে একীকরণ রয়েছে যা বিকাশকারীদের জন্য উপলব্ধ ইভেন্ট স্ট্রীমে ফ্লিট ইঞ্জিন RPC কল লগগুলিকে পরিণত করতে সহায়তা করে। এটি গ্রাস করার মূল উত্স।
  • প্রক্রিয়াকরণ : কাঁচা RPC কল লগগুলিকে এই ব্লকের মধ্যে স্টেট চেঞ্জ ইভেন্টে রূপান্তরিত করা হয় যা লগ ইভেন্টগুলির একটি স্ট্রীমের উপর গণনা করে। এই ধরনের পরিবর্তন শনাক্ত করার জন্য, এই উপাদানটির একটি রাষ্ট্রীয় দোকানের প্রয়োজন যাতে নতুন আগত ইভেন্টগুলি পরিবর্তন সনাক্ত করতে পূর্ববর্তীগুলির সাথে তুলনা করা যায়। ইভেন্ট সবসময় আগ্রহের সব তথ্য অন্তর্ভুক্ত নাও হতে পারে. এই ধরনের ক্ষেত্রে, এই ব্লক প্রয়োজন অনুযায়ী ব্যাকএন্ডে কল করতে পারে।
    • স্টেট স্টোর : কিছু প্রসেসিং ফ্রেমওয়ার্ক তার নিজের থেকে স্থায়ীভাবে মধ্যবর্তী ডেটা প্রদান করে। কিন্তু যদি তা না হয়, আপনার নিজের অবস্থা সংরক্ষণ করার জন্য, যেহেতু এগুলি একটি যানবাহন এবং ইভেন্টের জন্য অনন্য হওয়া উচিত, একটি KV টাইপ ডেটা পারসিসটেন্স পরিষেবা উপযুক্ত।
  • সিঙ্ক (কাস্টম ইভেন্টস) : সনাক্ত করা রাষ্ট্র পরিবর্তন যেকোন অ্যাপ্লিকেশন বা পরিষেবার জন্য উপলব্ধ করা উচিত যা এটি থেকে উপকৃত হতে পারে। তাই এই কাস্টম ইভেন্টটিকে ডাউনস্ট্রিম ব্যবহারের জন্য একটি ইভেন্ট ডেলিভারি সিস্টেমে প্রকাশ করা একটি স্বাভাবিক পছন্দ।
  • ডাউনস্ট্রিম পরিষেবা : কোড যা জেনারেট হওয়া ইভেন্টগুলি ব্যবহার করে এবং আপনার ব্যবহারের ক্ষেত্রে অনন্য পদক্ষেপ নেয়।

পরিষেবা নির্বাচন

" লাস্ট মাইল ফ্লিট সলিউশন" বা " অন-ডিমান্ড রাইডস অ্যান্ড ডেলিভারি সলিউশন" (প্রায় 2023 সালের দেরীতে আসছে), "উৎস" এবং "সিঙ্ক" এর জন্য প্রযুক্তি নির্বাচন সহজবোধ্য। অন্যদিকে হ্যান্ড, "প্রসেসিং" বিকল্পের একটি বিস্তৃত পরিসর রয়েছে রেফারেন্স সমাধান নিম্নলিখিত Google পরিষেবাগুলি বেছে নিয়েছে৷

ডায়াগ্রাম : নিম্নলিখিত চিত্রটি রেফারেন্স সমাধান বাস্তবায়নের জন্য Google ক্লাউড পরিষেবা দেখায়

ফ্লিট ইভেন্ট রেফারেন্স সমাধান বিল্ডিং ব্লক

ক্লাউড প্রজেক্ট লেআউট

আমরা আপনাকে একটি বহু-প্রকল্প স্থাপনার ডিফল্ট করার পরামর্শ দিই। এটি যাতে Google মানচিত্র প্ল্যাটফর্ম এবং Google ক্লাউড খরচ পরিষ্কারভাবে আলাদা করা যায় এবং আপনার পছন্দের বিলিং ব্যবস্থার সাথে আবদ্ধ করা যায়।

ইভেন্ট সোর্স

"লাস্ট মাইল ফ্লিট সলিউশন" এবং " অন-ডিমান্ড রাইডস এবং ডেলিভারি সলিউশন" ক্লাউড লগিং- এ API অনুরোধ এবং প্রতিক্রিয়া পেলোডগুলি লিখে৷ ক্লাউড লগিং পছন্দের এক বা একাধিক পরিষেবাতে লগ সরবরাহ করে। ক্লাউড পাব/সাব-এ রাউটিং এখানে একটি নিখুঁত পছন্দ এবং কোডিং ছাড়াই লগগুলিকে ইভেন্ট স্ট্রীমে রূপান্তর করার অনুমতি দেয়।

ডুব

Google ক্লাউডে, ক্লাউড পাব/সাব হল পছন্দের কাছাকাছি-রিয়েল-টাইম মেসেজ ডেলিভারি সিস্টেম। ঠিক যেমন উৎস থেকে ইভেন্টগুলি Pub/Sub-এ বিতরণ করা হয়েছিল, কাস্টম ইভেন্টগুলিও ডাউনস্ট্রিম ব্যবহারের জন্য Pub/Sub-এ প্রকাশিত হয়।

প্রক্রিয়াকরণ

নিম্নলিখিত উপাদানগুলি ইভেন্ট প্রক্রিয়াকরণে ভূমিকা পালন করে। অন্যান্য বিল্ডিং ব্লকের মতো, প্রক্রিয়াকরণের উপাদানগুলি সম্পূর্ণরূপে সার্ভারহীন এবং উপরে এবং নীচে উভয়ই ভালভাবে স্কেল করে।

  • প্রাথমিক প্রকাশের জন্য একটি গণনা প্ল্যাটফর্ম হিসাবে ক্লাউড ফাংশন (*)
    • সার্ভারহীন, খরচ পরিচালনা করতে স্কেলিং নিয়ন্ত্রণের সাথে উপরে এবং নিচের স্কেল
    • ফ্লিট ইঞ্জিন সম্পর্কিত API-এর জন্য ক্লায়েন্ট লাইব্রেরিগুলির প্রাপ্যতা দেওয়া প্রোগ্রামিং ভাষা হিসাবে জাভা যা বাস্তবায়ন সহজতর করতে অবদান রাখে
  • একটি রাষ্ট্রীয় দোকান হিসাবে ক্লাউড ফায়ারস্টোর
    • সার্ভারহীন কী-ভ্যালু স্টোর
  • আপস্ট্রিম এবং ডাউনস্ট্রিম উপাদানগুলির সাথে ইন্টিগ্রেশন পয়েন্ট হিসাবে ক্লাউড পাব/সাব
    • শিথিলভাবে মিলিত কাছাকাছি-রিয়েল টাইম ইন্টিগ্রেশন

ফাংশনগুলি ডিফল্ট সেটিংসের মতো ব্যবহার করা যেতে পারে, তবে পুনরায় কনফিগার করা যেতে পারে। কনফিগারেশন প্যারামিটারগুলি স্থাপনার স্ক্রিপ্টের মাধ্যমে সেট করা হয় এবং সংশ্লিষ্ট টেরাফর্ম মডিউল README-এ বিস্তারিতভাবে নথিভুক্ত করা হয়।

*দ্রষ্টব্য: এই রেফারেন্স সমাধানটি বিকল্প বাস্তবায়ন প্রকাশ করার পরিকল্পনা করে যা বিভিন্ন প্রয়োজনীয়তা পূরণে সহায়তা করতে পারে।

স্থাপনা

রেফারেন্স সমাধান স্থাপন প্রক্রিয়া পুনরাবৃত্তিযোগ্য, কাস্টমাইজযোগ্য, সোর্স কোড নিয়ন্ত্রণযোগ্য এবং সুরক্ষিত করতে, টেরাফর্মকে অটোমেশন টুল হিসাবে বেছে নেওয়া হয়েছে। Terraform হল Google ক্লাউডের জন্য সমৃদ্ধ সমর্থন সহ একটি ব্যাপকভাবে গৃহীত IaC (কোড হিসাবে অবকাঠামো) টুল।

টেরাফর্ম মডিউল

একটি বৃহৎ মনোলিথিক রেফারেন্স সলিউশন ডিপ্লয়মেন্ট মডিউল তৈরি করার পরিবর্তে, অটোমেশনের পুনঃব্যবহারযোগ্য ব্লকগুলিকে টেরাফর্ম মডিউল হিসাবে প্রয়োগ করা হয় যা স্বাধীনভাবে ব্যবহার করা যেতে পারে। মডিউলগুলি কনফিগারযোগ্য ভেরিয়েবলের বিস্তৃত পরিসর সরবরাহ করে, যার বেশিরভাগেরই ডিফল্ট মান রয়েছে যাতে আপনি দ্রুত শুরু করতে পারেন তবে আপনার প্রয়োজন এবং পছন্দগুলির উপর ভিত্তি করে কাস্টমাইজ করার নমনীয়তাও রয়েছে।

রেফারেন্স সমাধান অন্তর্ভুক্ত মডিউল:

  • ফ্লিট ইঞ্জিন লগিং কনফিগারেশন : ফ্লিট ইঞ্জিনের সাথে ব্যবহারের জন্য ক্লাউড লগিং সম্পর্কিত কনফিগারেশন স্বয়ংক্রিয় করুন। রেফারেন্স সমাধানে, এটি ফ্লিট ইঞ্জিন সম্পর্কিত লগগুলিকে একটি নির্দিষ্ট পাব/সাব বিষয়ে রুট করতে ব্যবহৃত হয়।
  • ফ্লিট ইভেন্টস ক্লাউড ফাংশন স্থাপনা : নমুনা ফাংশন কোড স্থাপনা ধারণ করে এবং নিরাপদ ক্রস-প্রকল্প ইন্টিগ্রেশনের জন্য প্রয়োজনীয় অনুমতি সেটিংসের অটোমেশন পরিচালনা করে।
  • সম্পূর্ণ রেফারেন্স সমাধান স্থাপনা : পূর্ববর্তী দুটি মডিউল কল করে এবং পুরো সমাধানটি মোড়ানো হয়।

নিরাপত্তা

Google ক্লাউডের নিরাপত্তার সর্বোত্তম অনুশীলন যেমন পরিষেবা অ্যাকাউন্ট ছদ্মবেশীকরণের সাথে ন্যূনতম বিশেষাধিকার নীতিগুলি প্রয়োগ করার জন্য IAM গৃহীত হয়৷ Google ক্লাউড আপনাকে নিরাপত্তার উপর আরও নিয়ন্ত্রণ দিতে কী অফার করে তা আরও ভালভাবে বুঝতে নিম্নলিখিত নিবন্ধগুলি উল্লেখ করুন৷

পরবর্তী কর্ম

আপনি এখন ফ্লিট ইভেন্টস রেফারেন্স সলিউশন অ্যাক্সেস করতে এবং আরও অন্বেষণ করতে প্রস্তুত৷ শুরু করতে GitHub- এ যান।

পরিশিষ্ট

আপনার প্রয়োজনীয়তা সংগ্রহ করুন

আমরা সুপারিশ করি যে আপনি প্রক্রিয়াটির আগে আপনার প্রয়োজনীয়তাগুলি সংগ্রহ করুন।

প্রথমে, আপনি কেন আগ্রহী বা কাছাকাছি-রিয়েলটাইম ইভেন্টগুলি ব্যবহার করতে চান তার বিশদ বিবরণ ক্যাপচার করুন৷ আপনার প্রয়োজনগুলিকে স্ফটিক করতে সাহায্য করার জন্য এখানে কিছু প্রশ্ন রয়েছে৷

  • একটি ইভেন্ট স্ট্রিম দরকারী হতে কি তথ্য প্রয়োজন?
    • ফলাফল কি Google পরিষেবাগুলিতে ক্যাপচার করা বা উত্পাদিত ডেটা থেকে সম্পূর্ণরূপে প্রাপ্ত করা যেতে পারে? অথবা, সমন্বিত বাহ্যিক সিস্টেমের সাথে ডেটা সমৃদ্ধকরণ প্রয়োজন? যদি তাই হয়, সেই সিস্টেমগুলি কী এবং তারা কী ইন্টিগ্রেশন ইন্টারফেসগুলি অফার করে?
    • একটি ব্যবসা হিসাবে আপনি পরিমাপ করতে চান মেট্রিক্স কি? কিভাবে তারা সংজ্ঞায়িত করা হয়?
    • আপনার যদি ইভেন্ট জুড়ে মেট্রিক্স গণনা করতে হয়, তাহলে এর জন্য কী ধরনের সমষ্টি প্রয়োজন? লজিক্যাল ধাপ লেআউট করার চেষ্টা করুন. (যেমন। সম্পদের সীমাবদ্ধতার অধীনে পারফরম্যান্স গণনা করার জন্য পিক আওয়ারে বহরের একটি উপভাগ জুড়ে SLO-এর সাথে ETA/ATA তুলনা করুন।)
  • কেন আপনি একটি ইভেন্ট ভিত্তিক মডেল বা ব্যাচ পরিবর্তে আগ্রহী? এটি কি কম লেটেন্সি (টাইম-টু-অ্যাকশন) বা ঢিলেঢালাভাবে সংযুক্ত ইন্টিগ্রেশন (চপলতা) জন্য?
    • কম বিলম্বের জন্য, "নিম্ন" সংজ্ঞায়িত করুন। মিনিট? সেকেন্ড? সাব-সেকেন্ড? এবং কি বিলম্ব?
  • আপনি ইতিমধ্যে একটি দল হিসাবে একটি প্রযুক্তি স্ট্যাক এবং সম্পর্কিত দক্ষতা বিনিয়োগ করেছেন? যদি তাই হয়, এটা কি এবং এটা কি একীকরণ পয়েন্ট প্রদান করে?
    • এমন কোন প্রয়োজনীয়তা আছে যা আপনার বর্তমান সিস্টেমগুলি পূরণ করতে পারে না বা আপনার বহর থেকে আগত ইভেন্টগুলি প্রক্রিয়া করার সময় সংগ্রাম করতে পারে?

নকশার মূলনীতি

কিছু চিন্তা প্রক্রিয়া অনুসরণ করা সবসময় দরকারী। এটি সামঞ্জস্যপূর্ণ ডিজাইনের সিদ্ধান্ত নিতে সাহায্য করে, বিশেষ করে যখন আপনার কাছে বেছে নেওয়ার জন্য বিভিন্ন বিকল্প থাকে।

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

স্ট্রিমিং ধারণা

আপনি যদি ইভেন্ট ভিত্তিক বা স্ট্রিমিং-এ তুলনামূলকভাবে নতুন হন, তবে সচেতন হওয়ার মতো মূল ধারণা রয়েছে, যার মধ্যে কয়েকটি ব্যাচ প্রক্রিয়াকরণ থেকে খুব আলাদা হতে পারে।

  • স্কেল : ব্যাচ প্রসেসিংয়ের বিপরীতে, যেখানে আপনার সাধারণত প্রক্রিয়াকরণের ডেটার পরিমাণ সম্পর্কে ভাল ধারণা থাকে, স্ট্রিমিংয়ে আপনি তা পারবেন না। একটি শহরে একটি ট্রাফিক জ্যাম নির্দিষ্ট এলাকা থেকে হঠাৎ করে অনেক ইভেন্ট তৈরি করতে পারে এবং আপনাকে এখনও এটি প্রক্রিয়া করতে সক্ষম হতে হবে।
  • উইন্ডোজিং : একের পর এক ইভেন্ট প্রক্রিয়াকরণের পরিবর্তে, প্রায়শই এমন হয় যে আপনি গণনার জন্য একটি ইউনিট হিসাবে একটি টাইমলাইনে ইভেন্টগুলিকে ছোট "উইন্ডোজ"-এ গোষ্ঠীবদ্ধ করতে চান। "নির্ধারিত উইন্ডোজ (যেমন প্রতি ক্যালেন্ডার দিনে)", "স্লাইডিং উইন্ডোজ (শেষ 5 মিনিট)", "সেশন উইন্ডোজ (এই ট্রিপের সময়)" এর মতো বিভিন্ন উইন্ডো করার কৌশল রয়েছে, যেগুলো থেকে আপনার বেছে নেওয়া উচিত। জানালা যত দীর্ঘ হবে, ফলাফল প্রকাশে বিলম্ব তত বেশি হবে। আপনার প্রয়োজনীয়তা পূরণ করে এমন সঠিক মডেল এবং কনফিগারেশন চয়ন করুন।
  • ট্রিগারিং : এমন কিছু ক্ষেত্রে আপনার কাছে অপেক্ষাকৃত লম্বা উইন্ডো থাকা ছাড়া আর কোনো বিকল্প নেই। তবুও, আপনি ইভেন্টগুলি তৈরি করার জন্য উইন্ডোর একেবারে শেষ পর্যন্ত অপেক্ষা করতে চান না, বরং এর পরিবর্তে মধ্যবর্তী ফলাফলগুলি নির্গত করুন। এই ধারণাটি ব্যবহারের ক্ষেত্রে প্রয়োগ করা যেতে পারে যেখানে এটি প্রথমে দ্রুত ফলাফল প্রদানের জন্য মূল্যবান, এবং তারপরে তাদের সংশোধন করুন। একটি প্রসবের 25%, 50%, 75% সমাপ্তিতে মধ্যবর্তী অবস্থা নির্গত করার কল্পনা করুন।
  • অর্ডারিং : ইভেন্টগুলি যে ক্রমানুসারে তৈরি হয়েছিল সেই ক্রমে সিস্টেমে পৌঁছায় না। বিশেষ করে মোবাইল নেটওয়ার্কের মাধ্যমে যোগাযোগের জড়িত থাকার ক্ষেত্রে ব্যবহারের ক্ষেত্রে যা বিলম্ব এবং জটিল রাউটিং পাথ যোগ করে। আপনাকে "ইভেন্টের সময়" (যখন ঘটনাটি আসলে ঘটেছিল) এবং "প্রক্রিয়ার সময়" (যখন ইভেন্টটি সিস্টেমে পৌঁছেছিল) এর মধ্যে পার্থক্য সম্পর্কে সচেতন হতে হবে এবং সেই অনুযায়ী ইভেন্টগুলি পরিচালনা করতে হবে। সাধারণভাবে, আপনি "ইভেন্ট সময়" এর উপর ভিত্তি করে ইভেন্টগুলি প্রক্রিয়া করতে চান।
  • মেসেজ ডেলিভারি - অন্তত-একবার বনাম হুবহু-একবার : বিভিন্ন ইভেন্ট প্ল্যাটফর্মের এগুলির উপর আলাদা সমর্থন রয়েছে। আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে, আপনাকে পুনরায় চেষ্টা বা অনুলিপি কৌশল বিবেচনা করতে হবে।
  • সম্পূর্ণতা : অর্ডার পরিবর্তনের মতোই, বার্তাগুলি হারিয়ে যাওয়ার সম্ভাবনা রয়েছে। এটি ডিভাইসের ব্যাটারি লাইফ, ফোনের অনিচ্ছাকৃত ক্ষতি, একটি টানেলে থাকাকালীন সংযোগ হারিয়ে যাওয়ার কারণে বা শুধুমাত্র একটি গ্রহণযোগ্য উইন্ডোর বাইরে প্রাপ্ত একটি বার্তার কারণে অ্যাপ্লিকেশন এবং ডিভাইস শাটডাউন হতে পারে। কিভাবে অসম্পূর্ণতা আপনার ফলাফল প্রভাবিত করবে?

এটি একটি সম্পূর্ণ তালিকা নয় কিন্তু একটি ভূমিকা. এখানে কিছু অত্যন্ত প্রস্তাবিত পঠন রয়েছে যা আপনাকে প্রতিটি সম্পর্কে আপনার বোঝার আরও গভীর করতে সহায়তা করতে পারে।

অবদানকারী

Google এই ডকুমেন্ট রক্ষণাবেক্ষণ করে। নিম্নলিখিত অবদানকারীরা মূলত এটি লিখেছেন।

প্রধান লেখক: