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

স্থলভাগে কর্মরত নৌবহর থেকে আগত প্রায়-রিয়েল-টাইম সিগন্যালগুলি ব্যবসার জন্য বিভিন্ন উপায়ে কার্যকর। উদাহরণস্বরূপ, ব্যবসাগুলি এগুলি ব্যবহার করতে পারে:

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

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

এই নথিটি নিম্নলিখিত বিষয়গুলির জন্য প্রাসঙ্গিক:

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

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

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

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

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

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

রেফারেন্স সলিউশনের প্রতিটি উপাদান আপনার ব্যবসার চাহিদা অনুসারে কাস্টমাইজ করা যেতে পারে।

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

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

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

রেফারেন্স সমাধানটিতে নিম্নলিখিত উপাদানগুলি রয়েছে:

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

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

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

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

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

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

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

ইভেন্ট সোর্স

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

সিঙ্ক

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

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

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

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

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

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

স্থাপনা

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

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

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

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

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

নিরাপত্তা

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

পরবর্তী পদক্ষেপ

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

পরিশিষ্ট

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

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

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

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

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

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

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

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

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

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

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

অবদানকারীরা

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

প্রধান লেখক: