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:
- Un sitio web coloca todos estes elementos estáticos nun servidor orixinal.
- Estes datos cópianse en servidores denominados Edge Servers.
- 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.