{"id":18773526,"url":"https://github.com/farfetch/kafkaflow-retry-extensions","last_synced_at":"2025-05-09T00:06:29.784Z","repository":{"id":38363627,"uuid":"351415456","full_name":"Farfetch/kafkaflow-retry-extensions","owner":"Farfetch","description":"Kafka Flow Retry Patterns Extensions","archived":false,"fork":false,"pushed_at":"2025-04-03T22:57:07.000Z","size":1397,"stargazers_count":58,"open_issues_count":45,"forks_count":9,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-05-09T00:06:20.747Z","etag":null,"topics":["dotnet","fault-handler","hacktoberfest","kafka","kafka-flow","kafkaflow","messaging","resilience","retry-strategies","transient-fault-handling"],"latest_commit_sha":null,"homepage":"https://farfetch.github.io/kafkaflow-retry-extensions/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Farfetch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-25T11:42:58.000Z","updated_at":"2025-03-27T11:47:28.000Z","dependencies_parsed_at":"2023-02-19T09:46:01.208Z","dependency_job_id":"4b1ce800-aef2-4653-88f5-ede7799ed9ba","html_url":"https://github.com/Farfetch/kafkaflow-retry-extensions","commit_stats":null,"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Farfetch%2Fkafkaflow-retry-extensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Farfetch%2Fkafkaflow-retry-extensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Farfetch%2Fkafkaflow-retry-extensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Farfetch%2Fkafkaflow-retry-extensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Farfetch","download_url":"https://codeload.github.com/Farfetch/kafkaflow-retry-extensions/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253166518,"owners_count":21864476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","fault-handler","hacktoberfest","kafka","kafka-flow","kafkaflow","messaging","resilience","retry-strategies","transient-fault-handling"],"created_at":"2024-11-07T19:34:19.319Z","updated_at":"2025-05-09T00:06:29.771Z","avatar_url":"https://github.com/Farfetch.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KafkaFlow Retry Extensions · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/farfetch/kafkaflow-retry-extensions/blob/main/LICENSE) [![nuget version](https://img.shields.io/nuget/v/kafkaflow.retry.svg?style=flat)](https://www.nuget.org/packages/KafkaFlow.Retry/) ![Build Main](https://github.com/Farfetch/kafkaflow-retry-extensions/workflows/Build/badge.svg?branch=main) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/2a86b45f0ec2487fb63dfd581071465a)](https://www.codacy.com/gh/Farfetch/kafkaflow-retry-extensions/dashboard?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=Farfetch/kafkaflow-retry-extensions\u0026utm_campaign=Badge_Grade)\n\n## Introduction\n\n🔁 KafkaFlow Retry is an extension to [KafkaFlow](https://github.com/Farfetch/kafkaflow) that implements resilience on Apache Kafka consumers.\n\nWant to give it a try? Check out our [Quickstart](https://farfetch.github.io/kafkaflow-retry-extensions/getting-started/quickstart)!\n\n### Resilience policies\n\n| Policy                                                                               | Description                                                                                                                                                                                                                                                                                                                      |                                                       Aka                                                      | Required Packages                                                                                                                               |\n| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------: |-------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Simple Retry** \u003cbr/\u003e(policy family)\u003cbr/\u003e\u003csub\u003e([quickstart](#simple) ; deep)\u003c/sub\u003e  | Many faults are transient and may self-correct after a short delay.                                                                                                                                                                                                                                                              |                                            \"Maybe it's just a blip\"                                            | KafkaFlow.Retry                                                                                                                                 |\n| **Forever Retry**\u003cbr/\u003e(policy family)\u003cbr/\u003e\u003csub\u003e([quickstart](#forever) ; deep)\u003c/sub\u003e | Many faults are semi-transient and may self-correct after multiple retries.                                                                                                                                                                                                                                                      |                                                 \"Never give up\"                                                | KafkaFlow.Retry                                                                                                                                 |\n| **Durable Retry**\u003cbr/\u003e\u003csub\u003e([quickstart](#durable) ; deep)\u003c/sub\u003e                     | Beyond a certain amount of retries and waiting, you want to keep processing next-in-line messages but you can't lose the current offset message. As persistence databases, MongoDb, Postgres or SqlServer is available. And you can manage in-retry messages through HTTP API. | \"I can't stop processing messages but I can't lose messages\" | KafkaFlow.Retry \u003cbr/\u003eKafkaFlow.Retry.API\u003cbr/\u003e\u003cbr/\u003eKafkaFlow.Retry.SqlServer\u003cbr/\u003e or\u003cbr/\u003eKafkaFlow.Retry.Postgres or\u003cbr/\u003eKafkaFlow.Retry.MongoDb |\n\n## Installation\n\n[Read the docs](https://farfetch.github.io/kafkaflow-retry-extensions/getting-started/installation) for any further information.\n\n## Documentation\n\nLearn more about using KafkaFlow Retry Extensions [here](https://farfetch.github.io/kafkaflow-retry-extensions/)!\n\n## Contributing\n\nRead our [contributing guidelines](CONTRIBUTING.md) to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes.\n\n## Maintainers\n\n-   [Luís Garcês](https://github.com/luispfgarces)\n-   [Martinho Novais](https://github.com/martinhonovais)\n-   [Rodrigo Belo](https://github.com/rodrigobelo)\n\n## Get in touch\n\nYou can find us at:\n\n-   [GitHub Issues](https://github.com/Farfetch/kafkaflow-retry-extensions/issues)\n\n## License\n\nKafkaFlow Retry is a free and open source project, released under the permissible [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarfetch%2Fkafkaflow-retry-extensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarfetch%2Fkafkaflow-retry-extensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarfetch%2Fkafkaflow-retry-extensions/lists"}