Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/farfetch/kafkaflow-retry-extensions
Kafka Flow Retry Patterns Extensions
https://github.com/farfetch/kafkaflow-retry-extensions
dotnet fault-handler hacktoberfest kafka kafka-flow kafkaflow messaging resilience retry-strategies transient-fault-handling
Last synced: 8 days ago
JSON representation
Kafka Flow Retry Patterns Extensions
- Host: GitHub
- URL: https://github.com/farfetch/kafkaflow-retry-extensions
- Owner: Farfetch
- License: mit
- Created: 2021-03-25T11:42:58.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-05T14:48:10.000Z (9 months ago)
- Last Synced: 2024-02-06T14:47:33.691Z (9 months ago)
- Topics: dotnet, fault-handler, hacktoberfest, kafka, kafka-flow, kafkaflow, messaging, resilience, retry-strategies, transient-fault-handling
- Language: C#
- Homepage: https://farfetch.github.io/kafkaflow-retry-extensions/
- Size: 1.18 MB
- Stars: 51
- Watchers: 10
- Forks: 8
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
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&utm_medium=referral&utm_content=Farfetch/kafkaflow-retry-extensions&utm_campaign=Badge_Grade)
## Introduction
🔁 KafkaFlow Retry is an extension to [KafkaFlow](https://github.com/Farfetch/kafkaflow) that implements resilience on Apache Kafka consumers.
Want to give it a try? Check out our [Quickstart](https://farfetch.github.io/kafkaflow-retry-extensions/getting-started/quickstart)!
### Resilience policies
| Policy | Description | Aka | Required Packages |
| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------: |-------------------------------------------------------------------------------------------------------------------------------------------------|
| **Simple Retry**
(policy family)
([quickstart](#simple) ; deep) | Many faults are transient and may self-correct after a short delay. | "Maybe it's just a blip" | KafkaFlow.Retry |
| **Forever Retry**
(policy family)
([quickstart](#forever) ; deep) | Many faults are semi-transient and may self-correct after multiple retries. | "Never give up" | KafkaFlow.Retry |
| **Durable Retry**
([quickstart](#durable) ; deep) | 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
KafkaFlow.Retry.API
KafkaFlow.Retry.SqlServer
or
KafkaFlow.Retry.Postgres or
KafkaFlow.Retry.MongoDb |## Installation
[Read the docs](https://farfetch.github.io/kafkaflow-retry-extensions/getting-started/installation) for any further information.
## Documentation
Learn more about using KafkaFlow Retry Extensions [here](https://farfetch.github.io/kafkaflow-retry-extensions/)!
## Contributing
Read 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.
## Maintainers
- [Bruno Gomes](https://github.com/brunohfgomes)
- [Carlos Miranda](https://github.com/carlosgoias)
- [Fernando Marins](https://github.com/fernando-a-marins)
- [Leandro Magalhães](https://github.com/spookylsm)
- [Luís Garcês](https://github.com/luispfgarces)
- [Martinho Novais](https://github.com/martinhonovais)
- [Rodrigo Belo](https://github.com/rodrigobelo)
- [Sérgio Ribeiro](https://github.com/sergioamribeiro)## Get in touch
You can find us at:
- [GitHub Issues](https://github.com/Farfetch/kafkaflow-retry-extensions/issues)
## License
KafkaFlow Retry is a free and open source project, released under the permissible [MIT license](LICENSE).