যেমন গুগল Keep, Notion, কিংবা WhatsApp— আমরা অফলাইনে অনেক সময় অনেক কিছু লেখি,, সেগুলো আবার অনলাইনে আসতেই কীভাবে সার্ভারের সাথে মিলিয়ে ফেলে। আসলে এর পেছনে কাজ করে Offline-First Architecture, Local Database, Sync Queue, এবং smart conflict resolution techniques। প্রথমে ব্যবহারকারী যেকোনো কিছু লিখলে বা অ্যাকশন নিলে অ্যাপ সেটিকে সরাসরি লোকাল ডাটাবেজে সেভ করে। মোবাইল অ্যাপগুলো সাধারণত SQLite/CoreData, আর ওয়েব অ্যাপগুলো IndexedDB বা Cache Storage ব্যবহার করে। এতে ইন্টারনেট না থাকলেও ব্যবহারকারী কাজ চালিয়ে যেতে পারে। অ্যাপ সবসময় ডিভাইসের নেটওয়ার্ক Status দেখে। অফলাইনে থাকলে সব পরিবর্তন Pending Sync Queue-তে জমা হয়। অনলাইনে ফিরলেই Background Sync চালু হয় একে একে সব pending changes সার্ভারে পাঠানো হয়। সার্ভার কোন অ্যাকশন গ্রহণ করলে তা লোকাল কিউ থেকে সরিয়ে ফেলা হয় এবং UI আপডেট হয়। WhatsApp-এর offline message sending বা Keep/Notion-এর offline note sync হওয়ার পেছনে এই প্রক্রিয়াই কাজ করে। খুব গুরুত্বপূর্ণ একটি বিষয় হলো conflict resolution। দুই ডিভাইস বা দুই ব্যবহারকারী যদি একই...
gRPC হচ্ছে একটি high-performance, open-source Remote Procedure Call (RPC) framework, যা মূলত Google দ্বারা তৈরি করা হয়েছে। এটি বিভিন্ন সার্ভিস বা অ্যাপ্লিকেশনের মধ্যে দ্রুত এবং কার্যকর যোগাযোগ নিশ্চিত করে, বিশেষত microservices architecture-এ। 🔹 gRPC কীভাবে কাজ করে: এটি Protocol Buffers (Protobuf) ব্যবহার করে ডাটা serialize করে। অর্থাৎ JSON/XML এর বদলে Protobuf ব্যবহার করে, যা size এ ছোট, parsing এ দ্রুত, এবং network-efficient। এটি HTTP/2 প্রোটোকলের ওপর চলে, যার ফলে multiplexing, streaming, এবং header compression সুবিধা পাওয়া যায়। 🔹 কেন gRPC ব্যবহার করা হয়: High Performance Communication JSON এর তুলনায় 5–10 গুণ দ্রুত data transfer হয়।Cross-Language Support C#, Java, Python, Go, Node.js সহ অনেক ভাষায় সহজে কাজ করে। Strongly Typed Contracts Protobuf .proto ফাইলের মাধ্যমে strict contract define করা হয়। এর ফলে client-server উভয়েই একই ডাটা স্ট্রাকচারে কাজ করে। Bi-directional Streaming Support gRPC একসাথে client থেকে server এবং server থেকে client-এ ডাটা স্ট্রিম করতে পারে। এটি ...