Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Presentación de Resultados: Code Challenge — Franklin Barrios Sanchez
He completado todos los 3 retos, sé que sólo se requería de uno pero me ha parecido interesante los otros dos retos y los realicé también . Cada uno de ellos se encuentra debidamente separado y organizado en su respectiva carpeta (
challenge-1,challenge-2ychallenge-3) para facilitar su revisión técnica y ejecución independiente.1. ¿Qué challenge elegí para profundizar y por qué?
Aunque completé los tres, me enfoqué en el Challenge 1 (Pipeline de Liquidación de Pagos) como pieza central de arquitectura distribuida. Lo elegí porque me permite demostrar el manejo de garantías críticas en sistemas de pagos: consistencia eventual, tolerancia a fallos y el manejo de flujos asíncronos complejos donde un error de "doble gasto" o "mensaje perdido" no es una opción.
2. Decisiones Arquitecturales Clave y Alternativas Rechazadas
SagaConsumercoordina el estado final basándose en eventos de Fraude y Ledger. Utilicé claves de idempotencia compuestas (eventId+consumer_name) para que el sistema sea inmune a la duplicidad de mensajes de Kafka.pe.,mx.,co.). Esto permite un aislamiento total; un problema en el pipeline de un país no afecta el procesamiento de los demás.3. ¿Qué haría diferente con más tiempo?
.enva un gestor de secretos profesional (como AWS Secrets Manager).4. Limitaciones Conocidas y Atajos Tomados