Tamamen @Cloudflare üzerine bir Instant Messenger uygulaması yaptım. 1 gün, 3 dosya, 4 kaynak aldı... Ve sıfırdan milyonlara ölçeklenmeye hazır. Worker → autentifensi ve yönlendirme D1 veritabanı → kullanıcı / geçiş deposu Kullanıcı DO → kullanıcı profili ve arkadaşları Konuşma DO → mesajları Yanıt olarak blog yazıyorum, ama burada hızlı bir tanıtım var: Cloudflare/Actors Library, kalıcı özellikler, kolay web socket bağlantı yönetimi ve tüm dinleyicilere mesaj göndererek bu sürecin büyük kısmını kolaylaştırdı. Peki her parça ne işe yarıyordu? Doğrulama ve Yönlendirme (Işçi + D1) Tüm talepler ya doğrulanmış ya da değil, Çalışan üzerinden gelir. Doğrulanmamışsa, giriş veya kayıt olmak için yapılabilecek işlemler vardır. Kimlik doğrulaması sağlandığında, isteği Dayanıklı Nesnelerimizden birine (kullanıcı veya konuşma) ileterek web soketi bağlantısı kurulabilir. Tüm kullanıcıların kimlik doğrulama bilgileri bir D1 veritabanında saklanır (bu örnekte hepsi CF olarak tutuldu). Kullanıcı Hizmeti (Dayanıklı Nesne) Arkadaş listesi görünümümüz, web soketi üzerinden doğrudan kullanıcımızın Dayanıklı Nesnesine bağlanıyor. Durumumuzu güncelledikçe, bireysel DO'ya bir mesaj gönderiyoruz, o da RPC aracılığıyla arkadaşlarımızın DO'larına yayın yapabiliyor ve çevrimiçi olup olmadıklarını belirleyip canlı güncelleme için web soketi mesajı gönderiyor. Burada ayrıca arkadaş listemizi kullanıcımıza özel bir SQLite veritabanında saklıyoruz. Konuşma Hizmeti (Dayanıklı Nesne) İki kullanıcı arasındaki her bireysel konuşma kendi DO örneğine sahiptir. Tek sorumluluğu, mesajları depolamak, yeni mesajlar gönderildiğinde (socketler aracılığıyla) bildirim göndermek ve kullanıcı yazmaya başladığında bildirim göndermek ki "Kişi yazıyor..." Özet; Nostaljik çocukluk anılarını yeniden yaşamak için eğlence amaçlı uygulamalar yapmak... değer.