আমি আমাদের পৃষ্ঠার (সামাজিক গেমিং ধরণের) জন্য একটি ফেসবুক স্টাইল বিজ্ঞপ্তি সিস্টেম তৈরির শুরুতে এসেছি এবং আমি এখন গবেষণা করছি যে এই জাতীয় সিস্টেমটি ডিজাইনের সর্বোত্তম উপায় কী হবে। আমি কীভাবে ব্যবহারকারীর কাছে বিজ্ঞপ্তি বা এটির মতো কোনও কিছুর দিকে নজর দিতে পারি না (এখনকার জন্য)। সার্ভারে কীভাবে সিস্টেমটি তৈরি করা যায় (কীভাবে বিজ্ঞপ্তিগুলি সংরক্ষণ করা যায়, কোথায় সংরক্ষণ করা যায়, কীভাবে সেগুলি আনতে হবে ইত্যাদি) নিয়ে গবেষণা করছি।
সুতরাং ... কিছু প্রয়োজনীয়তা যা আমাদের রয়েছে:
- শিখর সময়ে আমাদের প্রায় 1 ক সমকালীন লগ-ইন ব্যবহারকারী রয়েছে (এবং আরও অনেক অতিথি, তবে তারা এখানে বিজ্ঞপ্তি পাবে না কারণ এগুলি গুরুত্বপূর্ণ নয়) যা অনেক ইভেন্ট উত্পন্ন করবে
- বিভিন্ন ধরণের বিজ্ঞপ্তি থাকবে (ব্যবহারকারী এ আপনাকে বন্ধু হিসাবে যুক্ত করেছে, ব্যবহারকারী বি আপনার প্রোফাইলে মন্তব্য করেছে, ব্যবহারকারী সি আপনার চিত্র পছন্দ করেছে, ব্যবহারকারী ডি আপনাকে গেম এক্সে পরাজিত করেছে, ...)
- বেশিরভাগ ইভেন্টগুলি 1 ব্যবহারকারীর জন্য 1 টি নোটিফিকেশন উত্পন্ন করবে (ব্যবহারকারী এক্স আপনার চিত্র পছন্দ করেছে), তবে এমন ঘটনা ঘটবে যেখানে একটি ইভেন্টে অনেকগুলি বিজ্ঞপ্তি উত্পন্ন করবে (উদাহরণস্বরূপ এটি ব্যবহারকারী ওয়াইয়ের জন্মদিন)
- বিজ্ঞপ্তিগুলি একসাথে গোষ্ঠীভুক্ত করা উচিত; উদাহরণস্বরূপ যদি চারটি পৃথক ব্যবহারকারী কিছু চিত্রের মতো হন, তবে সেই চিত্রটির মালিকের কাছে একটি বিজ্ঞপ্তি পাওয়া উচিত যাতে বলা হয় যে চারজন ব্যবহারকারী চিত্রটি পছন্দ করেছেন এবং চারটি পৃথক বিজ্ঞপ্তি নয় (ঠিক FB এর মতো)
ঠিক আছে তাই আমি যা ভাবছিলাম তা হ'ল আমার এমন কিছু সারি তৈরি করা উচিত যেখানে আমি ঘটনাগুলি ঘটতে থাকি store তারপরে আমার একটি পটভূমি কাজ হবে ( গিয়ারম্যান ?) যা সেই সারিটি দেখবে এবং সেই ইভেন্টগুলির উপর ভিত্তি করে বিজ্ঞপ্তি উত্পন্ন করবে। এই কাজটি তখন প্রতিটি ব্যবহারকারীর জন্য ডাটাবেসে বিজ্ঞপ্তিগুলি সংরক্ষণ করে (সুতরাং কোনও ইভেন্ট যদি 10 ব্যবহারকারীকে প্রভাবিত করে, তবে 10 টি পৃথক বিজ্ঞপ্তি থাকবে)। তারপরে ব্যবহারকারী যখন বিজ্ঞপ্তিগুলির তালিকা সহ একটি পৃষ্ঠা খুলবেন আমি তার জন্য এই সমস্ত বিজ্ঞপ্তিগুলি পড়ব (আমরা এটি 100 টি সর্বশেষ বিজ্ঞপ্তিগুলিতে সীমাবদ্ধ রাখার চিন্তাভাবনা করি) এবং তাদের একসাথে গোষ্ঠীভূত করতাম এবং শেষ পর্যন্ত সেগুলি প্রদর্শন করব।
এই পদ্ধতির সাথে আমি যে বিষয়গুলি নিয়ে উদ্বিগ্ন সেগুলি:
- নরকের মতো জটিল :)
- ডেটাবেস হ'ল এখানে সেরা স্টোরেজ (আমরা মাইএসকিউএল ব্যবহার করছি) বা আমার অন্য কিছু ব্যবহার করা উচিত (রেডিসও খুব ভাল ফিট মনে হচ্ছে)
- বিজ্ঞপ্তি হিসাবে আমার কী সংরক্ষণ করা উচিত? ব্যবহারকারী আইডি, ব্যবহারকারী আইডি যারা ইভেন্টটি সূচনা করেছিল, ইভেন্টের ধরণ (যাতে আমি তাদের গোষ্ঠীভূত করতে এবং উপযুক্ত পাঠ্য প্রদর্শন করতে পারি) তবে আমি কীভাবে বিজ্ঞপ্তির আসল ডেটা সংরক্ষণ করতে জানি না (উদাহরণস্বরূপ ইউআরএল এবং চিত্রের শিরোনাম যা পছন্দ হয়েছে)। আমি যখন বিজ্ঞপ্তিটি উত্পন্ন করি তখন কি কেবল সেই তথ্যটি "বেক" করব, বা বিজ্ঞপ্তিটি প্রদর্শন করার সময় আমি কীভাবে রেকর্ডের আইডি (চিত্র, প্রোফাইল, ...) আক্রান্ত হওয়া উচিত এবং তথ্যটি ডিবি থেকে সরিয়ে ফেলতে পারি?
- পারফরম্যান্স এখানে ঠিক থাকা উচিত, এমনকি বিজ্ঞপ্তি পৃষ্ঠাটি প্রদর্শন করার সময় আমাকে ফ্লাই-অন ফ্লাইতে 100 টি বিজ্ঞপ্তি প্রক্রিয়াকরণ করতে হবে
- প্রতিটি অনুরোধে পারফরম্যান্সের সম্ভাব্য সমস্যা কারণ আমাকে ব্যবহারকারীর কাছে অপঠিত বিজ্ঞপ্তিগুলির সংখ্যা প্রদর্শন করতে হবে (যা তার নিজের মধ্যে সমস্যা হতে পারে যেহেতু আমি একসাথে বিজ্ঞপ্তিগুলি গ্রুপ করব)। যদিও আমি যদি পটভূমিতে বিজ্ঞপ্তিগুলির (যেখানে তাদের গোষ্ঠীকরণ করা হয়) দৃষ্টিভঙ্গি তৈরি করা হয় এবং ফ্লাইটে না করে তবে এড়ানো যায়
তাহলে আমার প্রস্তাবিত সমাধান এবং আমার উদ্বেগগুলি সম্পর্কে আপনি কী ভাবেন? দয়া করে মন্তব্য করুন যদি আপনার মনে হয় যে এখানে প্রাসঙ্গিক কিছু হতে পারে আমার কিছু উল্লেখ করা উচিত।
ওহ, আমরা আমাদের পৃষ্ঠার জন্য পিএইচপি ব্যবহার করছি, তবে এখানে আমি মনে করি এটি একটি বড় কারণ হওয়া উচিত নয়।