আমি এই কিউএ ফিরে আসতে থাকি। এবং আমি বিদ্যমান উত্তরগুলি যথেষ্ট পরিমাণে খুঁজে পাইনি, তাই আমি এটি উত্তর যুক্ত করছি।
টি এল; ডিআর। হ্যাঁ বা না, আপনার ইভেন্ট স্যোসরিং ব্যবহারের উপর নির্ভর করে।
এখানে দুটি প্রাথমিক ধরণের ইভেন্ট সোর্স সিস্টেম রয়েছে যার সম্পর্কে আমি সচেতন।
ডাউন স্ট্রিম ইভেন্ট প্রসেসর = হ্যাঁ
এই ধরণের সিস্টেমে ঘটনা বাস্তব বিশ্বে ঘটে থাকে এবং ঘটনা হিসাবে তা রেকর্ড করা হয়। যেমন পণ্যগুলির প্যালেটগুলির উপর নজর রাখার জন্য একটি গুদাম সিস্টেম। মূলত কোনও বিরোধমূলক ঘটনা নেই। ভুল থাকলেও সবকিছু ইতিমধ্যে ঘটেছে। (অর্থাৎ 123456 ট্রাক এ এনে দেওয়া হয়েছিল, তবে এটি ট্রাক বিয়ের জন্য নির্ধারিত ছিল) তারপরে পরে রিপোর্টিং প্রক্রিয়াগুলির মাধ্যমে ব্যতিক্রমগুলির জন্য তথ্যগুলি পরীক্ষা করা হয়। কাফকা এই ধরণের ডাউন স্ট্রিম, ইভেন্ট প্রসেসিং অ্যাপ্লিকেশনটির জন্য বেশ উপযুক্ত বলে মনে হচ্ছে।
এই প্রসঙ্গে, এটি বোঝা যায় যে কাফকা লোকেরা কেন এটি ইভেন্ট সোর্সিং সমাধান হিসাবে সমর্থন করে। কারণ এটি ইতিমধ্যে এটি কীভাবে ব্যবহৃত হয় তার সাথে বেশ মিল, উদাহরণস্বরূপ, স্ট্রিম ক্লিক করুন। তবে ইভেন্ট সোর্সিং শব্দটি ব্যবহার করে (স্ট্রিম প্রক্রিয়াজাতকরণের বিপরীতে) সম্ভবত দ্বিতীয় ব্যবহারের কথা উল্লেখ করা হচ্ছে ...
সত্যের প্রয়োগ-নিয়ন্ত্রিত উত্স = না
ব্যবসায়িক যুক্তি দিয়ে যাওয়ার জন্য ব্যবহারকারীদের অনুরোধগুলির ফলাফল হিসাবে এই জাতীয় অ্যাপ্লিকেশনটি তার নিজস্ব ইভেন্টগুলি ঘোষণা করে। কাফকা দুটি প্রাথমিক কারণে এই ক্ষেত্রে ভাল কাজ করে না।
সত্তা বিচ্ছিন্নতা অভাব
এই দৃশ্যের জন্য নির্দিষ্ট সত্তার জন্য ইভেন্ট স্ট্রিমটি লোড করার ক্ষমতা প্রয়োজন। এর সাধারণ কারণ হ'ল অনুরোধটি প্রক্রিয়া করার জন্য ব্যবসায় যুক্তিটির জন্য একটি ক্ষণস্থায়ী রাইটিং মডেল তৈরি করা। কাফকার ক্ষেত্রে এটি করা অবৈধ। প্রতি-প্রতি সত্তা বিষয় ব্যবহার করা এটির অনুমতি দিতে পারে, যখন হাজার বা লক্ষ লক্ষ সত্ত্বা থাকতে পারে এটি অ-স্টার্টার ছাড়া। এটি কাফকা / চিড়িয়াখানায় প্রযুক্তিগত সীমাবদ্ধতার কারণে।
এইভাবে ক্ষণস্থায়ী লেখার মডেলটি ব্যবহার করার অন্যতম প্রধান কারণ হ'ল ব্যবসায়ের যুক্তি পরিবর্তনগুলি সস্তা এবং সহজ মোতায়েন করা সহজ।
কাফকার পরিবর্তে প্রতি-প্রকার টপিক ব্যবহারের পরামর্শ দেওয়া হয়, তবে কেবলমাত্র একটি একক সত্তার জন্য ইভেন্টগুলি পাওয়ার জন্য এই ধরণের প্রতিটি সত্তার জন্য লোডিং ইভেন্টগুলির প্রয়োজন হবে । যেহেতু আপনি লগ অবস্থানের মাধ্যমে বলতে পারবেন না কোন ইভেন্টগুলি কোন সত্তার সাথে সম্পর্কিত। এমনকি কোনও পরিচিত লগ অবস্থান থেকে শুরু করতে স্ন্যাপশটগুলি ব্যবহার করে , এটি বেশ কয়েকটি ইভেন্টের মধ্যে উল্লেখযোগ্য সংখ্যক ঘটনা হতে পারে।
বিরোধ সনাক্তকরণের অভাব ack
দ্বিতীয়ত, ব্যবহারকারীরা একই সত্তার বিরুদ্ধে একযোগে অনুরোধের কারণে রেস শর্ত তৈরি করতে পারে। বিবাদী ঘটনাগুলি সংরক্ষণ করা এবং সত্যতার পরে এগুলি সমাধান করা বেশ অপ্রয়োজনীয় হতে পারে। সুতরাং বিবাদমূলক ঘটনাগুলি রোধ করতে সক্ষম হওয়া জরুরী। অনুরোধের লোড স্কেল করার জন্য, শর্তাধীন লেখাগুলি ব্যবহার করে লেখার বিরোধগুলি রোধ করার সময় রাষ্ট্রবিহীন পরিষেবাগুলি ব্যবহার করা সাধারণ (কেবলমাত্র শেষ সত্তার ইভেন্টটি # x হলে লিখুন)। আকা আশাবাদী সমঝোতা rency কাফকা আশাবাদী সমঝোতা সমর্থন করে না। এমনকি যদি এটি বিষয় পর্যায়ে এটি সমর্থন করে তবে কার্যকর হওয়ার জন্য এটি সত্তা স্তরের নীচে নেমে যেতে হবে। কাফকা ব্যবহার এবং বিরোধী ঘটনাগুলি রোধ করতে আপনার অ্যাপ্লিকেশন পর্যায়ে একটি রাষ্ট্রীয়, সিরিয়ালযুক্ত লেখক ব্যবহার করতে হবে। এটি একটি গুরুত্বপূর্ণ স্থাপত্য প্রয়োজনীয়তা / সীমাবদ্ধতা।
আরো তথ্য
মন্তব্য প্রতি আপডেট
মন্তব্যটি মুছে ফেলা হয়েছে, তবে প্রশ্নটি এমন ছিল: লোকেরা ইভেন্ট স্টোরেজের জন্য কী ব্যবহার করে?
দেখে মনে হয় যে বেশিরভাগ লোকেরা একটি বিদ্যমান ডাটাবেসের উপরে তাদের নিজস্ব ইভেন্ট স্টোরেজ বাস্তবায়ন রোল করে। অভ্যন্তরীণ ব্যাক-এন্ড বা একা একা পণ্যগুলির মতো বিতরণবিহীন পরিস্থিতিগুলির জন্য, কীভাবে এসকিউএল-ভিত্তিক ইভেন্ট স্টোর তৈরি করা যায় তা ভালভাবে নথিবদ্ধ । এবং বিভিন্ন ধরণের ডাটাবেসের উপরে রয়েছে গ্রন্থাগারগুলি। ইভেন্ট স্টোরও রয়েছে , যা এই উদ্দেশ্যে নির্মিত।
বিতরণ করা পরিস্থিতিতে, আমি বেশ কয়েকটি বিভিন্ন বাস্তবায়ন দেখেছি। জেটের প্যান্থার প্রকল্প শ্রোতাদের অবহিত করার জন্য চেঞ্জ ফিড বৈশিষ্ট্য সহ আজুর কসমসডিবি ব্যবহার করে । এডাব্লুএস-এর বিষয়ে আমি আর একটি অনুরূপ বাস্তবায়ন শুনেছি শ্রোতাদের অবহিত করার জন্য তার স্ট্রিম বৈশিষ্ট্য সহ ডায়নামোডিবি ব্যবহার করছে। পার্টিশন কীটি সম্ভবত সেরা ডেটা বিতরণের জন্য স্ট্রিম আইডি হওয়া উচিত (অতিরিক্ত সংস্থার পরিমাণ হ্রাস করার জন্য)। তবে ডায়নামোর স্ট্রিমগুলিতে একটি সম্পূর্ণ রিপ্লে ব্যয়বহুল (পড়া এবং ব্যয়বহুল) is সুতরাং এই ইমপ্লিটটি ডায়নামো স্ট্রিমিজে এস 3-তে ইভেন্টগুলি ডাম্প করার জন্যও সেটআপ করা হয়েছিল। যখন কোনও নতুন শ্রোতা অনলাইনে আসে, বা কোনও বিদ্যমান শ্রোতা সম্পূর্ণ রিপ্লে চায় তখন প্রথমে তা জানতে এস 3 পড়ে।
আমার বর্তমান প্রকল্পটি একটি বহু-ভাড়াটে পরিস্থিতি, এবং আমি পোস্টগ্রিসের শীর্ষে আমার নিজস্ব ঘূর্ণিত। সিটাসের মতো কিছু স্কেলাবিলিটির জন্য উপযুক্ত বলে মনে হচ্ছে, টেন্টেন্ট + স্ট্রিম দিয়ে বিভাজন।
কাফকা বিতরণ করা পরিস্থিতিতে এখনও খুব দরকারী useful প্রতিটি পরিষেবাদির ইভেন্টগুলি অন্য পরিষেবায় প্রকাশ করা এটি একটি তুচ্ছ ত্রুটিযুক্ত সমস্যা। একটি ইভেন্টের স্টোরটি সাধারণত এটির জন্য নির্মিত হয় না তবে কাফকা ভালভাবে এটি করেন। প্রতিটি পরিষেবার নিজস্ব সত্যের অভ্যন্তরীণ উত্স রয়েছে (ইভেন্ট স্টোরেজ বা অন্যথায় হতে পারে), তবে "বাইরে" কী হচ্ছে তা জানতে কাফকার শোনেন। পরিষেবাটি যে আকর্ষণীয় কাজগুলি করেছে তার "বাইরের" অবহিত করার জন্য পরিষেবাটি কাফকার কাছে ইভেন্টগুলি পোস্ট করতে পারে।