Актуальные темы
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Я создал приложение Instant Messenger полностью на @Cloudflare. Это заняло 1 день, 3 файла, 4 ресурса... и оно готово к масштабированию от 0 до миллионов.
Worker → аутентификация и маршрутизация
База данных D1 → хранение пользователя/пароля
User DO → профиль пользователя и друзья
Conversation DO → сообщения
Блог в ответ, но краткий тизер здесь:
Библиотека cloudflare/actors сделала большую часть этого легкой благодаря свойствам сохранения, простому управлению веб-сокетами и отправке сообщений всем слушателям. Но что делала каждая часть?
Аутентификация и маршрутизация (Worker + D1)
Все запросы проходят через Worker, аутентифицированные или нет. Если не аутентифицирован, доступные действия — войти или зарегистрироваться. Когда аутентифицирован, он может передать запрос в один из наших Durable Objects (пользователь или разговор), чтобы установить соединение по веб-сокету. Вся информация об аутентификации пользователей хранится в базе данных D1 (в этом примере все было на CF).
Служба пользователей (Durable Object)
Наш вид списка друзей напрямую подключается к нашему Durable Object пользователя через веб-сокет. Когда мы обновляем наш статус, мы отправляем сообщение в наш индивидуальный DO, который затем может транслировать через RPC в DO наших друзей и определить, онлайн ли они, чтобы отправить им сообщение по веб-сокету для живого обновления. Здесь мы также храним наш список друзей в базе данных SQLite, ограниченной нашим пользователем.
Служба разговоров (Durable Object)
Каждый отдельный разговор между двумя пользователями получает свой собственный экземпляр DO. Его единственная ответственность — хранить сообщения, отправлять уведомления (через сокеты), когда отправляются новые сообщения, и отправлять уведомление, когда пользователь начинает печатать, чтобы мы могли видеть "Человек печатает..."
Кратко;
Создание приложений для удовольствия ради воспоминаний о детстве — это... стоит того.


Топ
Рейтинг
Избранное
