2 puntos por GN⁺ 2024-11-17 | Aún no hay comentarios. | Compartir por WhatsApp
  • Los datos públicos de Bluesky han crecido hasta una escala de 15 millones de usuarios, y con Jetstream se puede recibir en tiempo real todo el flujo de eventos de la red para hacer experimentos
  • Como es un firehose en formato de feed JSON por WebSocket, también se puede conectar desde el navegador, y es posible empezar gratis con experimentos simples de datos en tiempo real
  • La app de ejemplo detecta eventos delete y muestra por última vez el texto de publicaciones recién borradas en un feed efímero y anonimizado
  • El entorno de operación usa una máquina shared-cpu-1x con 256 MB de RAM de Fly.io y un volumen persistente de 2 GB, con costos de $1.94 y $0.30 al mes respectivamente
  • No se puede garantizar que todas las apps del firehose funcionen así de pequeñas, pero algunas apps de consumo en tiempo real sí pueden operar suficientemente bien solo con una instancia mínima

Recibir el firehose de Bluesky con Jetstream

  • Los datos de Bluesky son muy públicos, y actualmente existe un conjunto de datos públicos a escala de 15 millones de usuarios
  • Si usas Jetstream, puedes recibir en tiempo real todo lo que ocurre en la red como un feed JSON por WebSocket
  • Incluso es posible conectarse directamente al firehose desde el navegador y hacer experimentos simples, como extraer palabras aleatorias de las publicaciones que se están publicando en ese momento

Una pequeña app que muestra eventos de borrado

  • La app experimental deletions.bsky.bad-example.com escucha todos los eventos delete del firehose y muestra el texto recién borrado en un feed efímero y anonimizado
  • Esta app fue creada cuando la red de Bluesky era mucho más pequeña que ahora, y hoy la velocidad de la red ya se ha vuelto lo bastante rápida como para ser caótica
  • Funciona en la instancia más pequeña de Fly.io
    • Fly machine, shared-cpu-1x, 256MB RAM: $1.94 al mes
    • Volumen persistente de 2 GB: $0.30 al mes
  • El flujo de funcionamiento se compone de un caché simple y emparejamiento de eventos de borrado
    • Recibe todos los nuevos eventos create-post de la colección app.bsky.feed.post
    • Filtra las publicaciones vacías y aplica redacción a menciones y enlaces
    • Guarda el texto limpio en pebbledb con la clave did+rkey
    • Cada pocos segundos, elimina por rango los textos guardados con más de 48 horas de antigüedad
    • Cuando llega un evento delete-post, busca el texto en el caché y, si existe, lo transmite a los observadores actuales
  • Aunque el alcance funcional es pequeño, opera de forma estable en la instancia mínima de Fly.io, y algunas apps más interesantes también podrían funcionar con una escala similar

Aún no hay comentarios.

Aún no hay comentarios.