Saltar al contenido principal

Outros compoñentes e tecnoloxías

Redis

Redis (Remote Dictionary Server) é unha base de datos non relacional, que garda os datos na memoria RAM, o que lle permite acceder e escribir información de xeito moi rápido (moito máis rápido ca unha base de datos tradicional). É open source. Ademais é persistente (pode gardar datos en disco, pero traballa na memoria).

Podemos utilizar REDIS para as seguintes :

  • Caché de datos. Gardar resultados de consultas frecuentes (por exemplo: datos de usuario, produtos populares, etc.).
  • Xestión de sesións. Gardar información de sesións de usuario (como tokens ou datos temporais) de xeito rápido e compartido entre varios servidores.

Message Broker

Un message broker é un compoñente de software que xestiona, transmite e organiza mensaxes entre diferentes servizos ou aplicacións dentro dunha arquitectura.

Un message broker:

  • Recibe mensaxes dun servizo (o produtor).
  • Almacénaas temporalmente (nunha cola ou queue).
  • Entrega esas mensaxes a outro servizo (o consumidor).

Pode encamiñar, transformar ou priorizar as mensaxes, segundo as regras configuradas. É unha forma de comunicación asincrónica entre compoñentes dunha aplicación.

Nunha arquitectura web moderna (como por exemplo, microservizos), os compoñentes precisan comunicarse sen depender directamente uns dos outros. Aquí entra o message broker:

Algunhas implantacións máis utilizadas son:

  • RabbitMQ: Baseado en AMQP, soporta encamiñado avanzado e confiable.

  • Apache Kafka: Alta capacidade, ideal para streaming de eventos.

CDN

CDN (Content Delivery Network) é unha rede superposta de computadoras que contén copias de datos, colocados en varios puntos dunha rede co fin de maximizar o ancho de banda para o acceso minimizar o tráfico de rede.

Con esta tecnoloxía, un cliente accede a copia da información que se encontre máis próxima a si mesmo, en contraposición de que todos os clientes accedan ao mesmo servidor central. A parte de conxestionar menos o servidor central, o cliente gaña rapidez de acceso a recibir información dun cliente achegado. Son unha especie de servidores web cache.

Nestes servidores gárdanse xeralmente elementos estáticos:

  • Imaxes
  • Documentos
  • Vídeos
  • Software
  • Follas de estilo CSS
  • Scripts JavaScript

O seu funcionamento é o seguinte:

  1. Un sitio web coloca todos estes elementos estáticos nun servidor orixinal.
  2. Estes datos cópianse en servidores denominados Edge Servers.
  3. Os clientes acceden o contido estático dende o seu servidor máis próximo.

WebSockets

WebSockets é unha tecnoloxía avanzada que fai posible abrir unha sesión de comunicación interactiva entre o navegador de usuario e un servidor. Está deseñada para ser implantada en navegadores e servidores. A API de WebSocket está sendo normalizada pola W3C. Utilizan un protocolo propio, polo que non se serven dos protocolos HTTP e HTTPS, aínda que para establecer a conexión fai uso destes protocolos.

Con esta tecnoloxía, pódense enviar mensaxes a un servidor e recibir respostas controladas por eventos sen ter que consultar ao servidor para unha resposta. Un exemplo de utilización sería para realizar un chat.

Algúns ferramentas:

  • Socket.io: API de WebSocket escrita inicialmente para o framework Node.js. Existe actualmente unha versión para Python.
  • WebSocket-Node: servidor de WebSocket escrito en Node.js.
  • PHP-Websockets: servidor WebSocket escrito en PHP.

Web Push Notifications

Web Push Notifications é unha tecnoloxía que ofrecen os navegadores modernos. Permite enviar mensaxes aos usuarios que visitaron en algún momento a nosa páxina web, aínda que no momento do envío o usuario non teña a páxina aberta.

Funciona similar as Push Notifications das aplicacións móbiles, pero nos cales os navegadores son quen recibe esta notificación.