Saltar al contenido

Python + ZMQ: la operación no se puede realizar en el estado actual

Después de consultar expertos en esta materia, programadores de varias ramas y profesores dimos con la respuesta al dilema y la compartimos en este post.

Solución:

P: ¿Cómo puedo resolver esto?
R: Evite el riesgo conocido de REQ/REP estancamiento!

Si bien ZeroMQ es un marco poderoso, es necesario comprender su composición interna para robusto y de confianza diseño y prototipado de sistemas distribuidos.

Después de una mirada más cercana, usando un común REQ/REP El patrón de comunicación formal puede dejar (y deja) a las contrapartes en un punto muerto mutuo: donde uno espera que el otro dé un paso, que nunca se logrará, y no hay forma de escapar del estado de punto muerto.

Para más detalles ilustrados y FSA-esquema diagrama, ver este post

próximo, un sistema de conmutación por error tiene que sobrevivir a cualquier colisión de sus propios componentes. Por lo tanto, uno tiene que diseñar bien la señalización de estado del sistema distribuido y evitar tantas dependencias en el diseño/paso a paso/bloqueo de elemento-FSA como sea posible, de lo contrario, el comportamiento a prueba de fallas sigue siendo solo una ilusión.

Siempre maneje los recursos con cuidado, no considere los componentes de la señalización/mensajería inteligente ZeroMQ como ningún tipo de “desechables prescindibles”, hacerlo podría tolerarse en ejemplos académicos, no en entornos de sistemas de producción. Todavía tiene que pagar los costos (tiempo, asignaciones de recursos/desasignaciones/recolección(es) de basura). Como se señaló en los comentarios, nunca deje la creación/asignación de recursos sin un debido control. while True: .socket(); .bind(); .send(); es brutalmente erróneo en principio y deteriorando el resto del diseño.

Reseñas y valoraciones del artículo

Si tienes alguna desconfianza o disposición de acrecentar nuestro reseña eres capaz de escribir una nota y con gusto lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *