Gluon সেই ব্যবধান পূরণ করতে চায় এবং বিদ্যমান ওপেন সোর্স IMAP লাইব্রেরিতে সীমাবদ্ধতা কাটিয়ে উঠতে চায়।
সুইস কোম্পানি প্রোটন এজি, যা প্রোটন মেল এবং প্রোটন ভিপিএন পরিষেবাগুলি বিকাশ করে, সম্প্রতি Gluon IMAP লাইব্রেরি চালু করেছে, পরিকল্পিত পিআপনার নিজস্ব IMAP সার্ভার তৈরি করতে. লাইব্রেরিটি উল্লেখযোগ্য কারণ এটি IMAP4rev1 (RFC-3501) প্রোটোকল সমর্থন করে এবং প্রোটন ব্রিজ পরিষেবার নতুন সংস্করণে অন্তর্ভুক্ত।
উন্নয়নের সময়, ফোকাস বাস্তবায়নের সঠিকতা, স্থিতিশীলতা, নির্ভরযোগ্যতা, বিকাশকারীদের জন্য ব্যবহার সহজ এবং উচ্চ কার্যকারিতার উপর।
Gluon IMAP সম্পর্কে
এটি উল্লেখ করা হয় কারন IMAP প্রোটোকলের একটি নতুন বাস্তবায়ন তৈরি করতে একটি নির্ভরযোগ্য এবং উচ্চ-কর্মক্ষমতা সমাধানের আকাঙ্ক্ষা যেটি বড় মেইলবক্সের সাথে কাজ করতে পারে। প্রোটন মেলের ডেভেলপারদের মতে, বিদ্যমান ওপেন সোর্স IMAP লাইব্রেরিগুলি রক্ষণাবেক্ষণের সমস্যার সম্মুখীন হয়েছে বা স্কেল করেনি।
Gluon লেখার ক্ষেত্রে আমাদের প্রথম ধাপ ছিল RFC3501 (নতুন উইন্ডো) এ দেওয়া সিনট্যাক্স থেকে একটি IMAP পার্সার তৈরি করা। আমরা ANTLR4(নতুন উইন্ডো) ব্যবহার করেছি, একটি জনপ্রিয় পার্সার নির্মাতা, একটি পার্সার তৈরি করতে যা স্পেসিফিকেশন অনুযায়ী IMAP কমান্ড এবং প্রতিক্রিয়াগুলিকে পার্স করতে পারে৷ এটি আমাদের ইনপুট পার্সিং এবং যাচাইকরণের পরিবর্তে IMAP প্রোটোকলের যুক্তি বাস্তবায়নে ফোকাস করার অনুমতি দিয়েছে।
Gluon একাধিক ক্লায়েন্টের সাথে ভাল কাজ করে। একই সময়ে, উদাহরণস্বরূপ, যখন একজন ব্যবহারকারী ওয়েব ইন্টারফেসের মাধ্যমে মেল দেখছেন এবং একই সময়ে একটি পৃথক মেল ক্লায়েন্ট ব্যবহার করছেন।
এই ধরনের কাজ সংগঠিত করার জটিলতা এই কারণে যে IMAP ক্লায়েন্টরা সাধারণত মেল বার্তা সনাক্ত করতে মেলবক্সে বার্তাগুলির ক্রম সংখ্যা ব্যবহার করে, কিন্তু যখন একজন ক্লায়েন্ট একটি বার্তা মুছে ফেলে, তখন ক্রম সংখ্যাগুলি পরিবর্তিত হয় এবং অন্য গ্রাহকের এই পরিবর্তনটি গ্রহণ করা উচিত। অ্যাকাউন্ট
এই ধরনের পরিস্থিতিতে, সার্ভার ক্লায়েন্টদের কাছে একটি পরিবর্তনের বিজ্ঞপ্তি পাঠায়, তবে বিজ্ঞপ্তিটি স্বীকার করার আগে, সার্ভারকে অবশ্যই নিশ্চিত করতে হবে যে প্রেরিত কমান্ডের বার্তা নম্বরগুলি সঠিকভাবে ব্যাখ্যা করা হয়েছে।
ইমেল নির্ভরযোগ্য হতে হবে, তবে এটি উচ্চ-সম্পাদক হওয়াও প্রয়োজন, বিশেষ করে যেহেতু গত দশকে সাধারণ ইনবক্সের আকার উল্লেখযোগ্যভাবে বৃদ্ধি পেয়েছে। অনেক ওপেন সোর্স IMAP বাস্তবায়নে একটির জন্য অপ্টিমাইজ করার প্রবণতা থাকে এবং অন্যটির জন্য নয়, যা মোটামুটি বড় বাগ বা ট্রেডঅফের দিকে পরিচালিত করে।
এই সমস্যা সমাধানের পাশাপাশি ড একটি ক্লায়েন্ট থেকে বেশ কয়েকটি সমান্তরাল সংযোগের প্রক্রিয়াকরণ সংগঠিত করতে, গ্লুন স্ন্যাপশট মেকানিজম প্রয়োগ করে। এই প্রক্রিয়াটির সারমর্ম হল যে Gluon প্রতিটি ক্লায়েন্টকে নিজস্ব মেলবক্স স্ন্যাপশট বরাদ্দ করে।
প্রতিটি স্ন্যাপশট ক্লায়েন্টের সাথে যুক্ত মেলবক্সের একটি অনন্য দৃশ্য প্রতিফলিত করে যা তার অবস্থা সংরক্ষণ করে এবং নিশ্চিত করে যে ক্রম সংখ্যাগুলি একই থাকে, অন্য ক্লায়েন্টদের দ্বারা নেওয়া পদক্ষেপগুলি নির্বিশেষে।
Gluon দুটি মেলবক্স অবস্থার ট্র্যাক রাখে: স্থায়ী এবং অধিবেশন। স্থায়ী অবস্থা নির্বাচিত মেলবক্সে বার্তাগুলির প্রকৃত অবস্থান প্রতিফলিত করে, যখন সেশনের অবস্থা প্রতিটি ক্লায়েন্টের মেলবক্স বিষয়বস্তুর দৃষ্টিভঙ্গি প্রতিফলিত করে।
স্থিতি সিঙ্ক করতে একাধিক সংযুক্ত ক্লায়েন্টের মধ্যে সেশন প্রতি, Gluon একটি "প্রতিক্রিয়াশীল" সিস্টেম ব্যবহার করে। এগুলি এমন ধরনের যা অবস্থার পরিবর্তনকে এনক্যাপসুলেট করে এবং কার্যকর করা হলে, IMAP প্রতিক্রিয়াগুলিতে রূপান্তরিত হয়।
যখন একটি ক্লায়েন্ট একটি ক্রিয়া সম্পাদন করে (যেমন একটি বার্তাকে পঠিত হিসাবে চিহ্নিত করা) যা অন্য ক্লায়েন্টের অবস্থা পরিবর্তন করবে, ব্যাকএন্ড কর্মের জন্য একটি প্রতিক্রিয়াশীল তৈরি করে এবং এটিকে প্রভাবিত অবস্থায় ঠেলে দেয়। প্রতিক্রিয়াকারী কার্যকর না হওয়া পর্যন্ত প্রভাবিত অবস্থা অপরিবর্তিত থাকে, সেই সময়ে এটি আপডেট করা হয় এবং একটি সংশ্লিষ্ট IMAP প্রতিক্রিয়া ক্লায়েন্টকে পাঠানো হয়।
এই পদ্ধতিটি একাধিক ক্লায়েন্ট জুড়ে ধারাবাহিকতা নিশ্চিত করার সময় Gluon-কে দক্ষতার সাথে প্রতি সেশনে অবস্থা পরিচালনা করতে দেয়।
সবশেষে রাষ্ট্রের কথা উল্লেখ করা হয় IMAP একটি DBMS-এ সংরক্ষণ করা হয় যা SQL সমর্থন করে. প্রোটন মেল ব্রিজ পরিষেবার বিটা পরীক্ষা, গ্লুওনে অনুবাদ করা হয়েছে, IMAP-এর সাথে কাজ করার গতিতে উল্লেখযোগ্য (1000%) বৃদ্ধি পেয়েছে। লাইব্রেরি কোডটি Go-তে লেখা এবং MIT লাইসেন্সের অধীনে বিতরণ করা হয়।
আপনি যদি এটি সম্পর্কে আরও জানতে আগ্রহী হন তবে আপনি বিস্তারিত পরামর্শ করতে পারেন নীচের লিঙ্কে।