Open IoTeacher opened 6 months ago
Patrón | Descripción | Ejemplos |
---|---|---|
Publish-Subscribe | Permite a los publicadores generar mensajes sin conocer a los suscriptores, y a los suscriptores recibir mensajes sin conocer a los publicadores. Un broker gestiona el envío de mensajes. | RabbitMQ, Java Messaging Service (JMS) |
Filter | Crea una cadena de filtros donde los datos fluyen de un filtro al siguiente. Usado comúnmente para filtrar datos entre una fuente y un destino. | Jakarta EE Filter y FilterChain, Spring Security Filter Chain |
Model-View-Controller (MVC) | Separa la lógica de negocio (Modelo), la presentación de los datos (Vista) y la gestión de eventos (Controlador). El controlador procesa los datos del modelo y selecciona la vista apropiada. | Spring Web MVC, frameworks web |
Thread Pool | En lugar de crear hilos constantemente, se mantiene un grupo de hilos reutilizables. Los hilos liberados se devuelven al grupo y los nuevos hilos se obtienen del mismo. | Java ThreadPoolExecutor |
Reactor | Define un servicio manejador que acepta múltiples solicitudes concurrentes y las despacha a manejadores de solicitudes, cada uno manejando una solicitud. Útil para manejar grandes cantidades de solicitudes concurrentes. | Spring Reactive |
Patrón | Descripción | Ejemplos |
---|---|---|
Módulo | Divide un programa en bloques funcionales reutilizables. | Módulos de Node.js, librerías en Python. |
Paso de Mensajes | Permite la comunicación entre componentes de un sistema distribuido mediante el intercambio de mensajes. | Sistemas de colas de mensajes como RabbitMQ, Apache Kafka. |
Integración Empresarial | Facilita la integración de aplicaciones y servicios. | Patrones de datos transferidos (DTO), enrutamiento de mensajes en ESBs. |
Gestión de Transacciones | Gestiona transacciones en sistemas distribuidos. | Transacciones compensatorias en sistemas de comercio electrónico. |
Mensajería | Gestiona el envío y recepción de mensajes. | Publicación/Suscripción en sistemas de notificaciones. |
Observación | Facilita la monitorización y administración de sistemas distribuidos. | Patrones de sonda para monitorizar sistemas en tiempo real. |
Administración de Recursos | Gestiona recursos en sistemas concurrentes. | Agrupación de conexiones de bases de datos en un pool. |
Planificación | Gestiona la planificación de tareas y procesos. | Planificadores de hilos en servidores web. |
Tolerancia a Fallos | Mejora la tolerancia a fallos de un sistema. | Patrones de reinicio para recuperarse de fallos. |
Caché | Almacena datos en caché para mejorar el rendimiento. | Caching aparte de datos frecuentemente accedidos. |