zitadel/internal
Tim Möhlmann 3b7b0c69e6
feat(cache): redis circuit breaker (#8890)
# Which Problems Are Solved

If a redis cache has connection issues or any other type of permament
error,
it tanks the responsiveness of ZITADEL.
We currently do not support things like Redis cluster or sentinel. So
adding a simple redis cache improves performance but introduces a single
point of failure.

# How the Problems Are Solved

Implement a [circuit
breaker](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/dn589784(v=pandp.10)?redirectedfrom=MSDN)
as
[`redis.Limiter`](https://pkg.go.dev/github.com/redis/go-redis/v9#Limiter)
by wrapping sony's [gobreaker](https://github.com/sony/gobreaker)
package. This package is picked as it seems well maintained and we
already use their `sonyflake` package

# Additional Changes

- The unit tests constructed an unused `redis.Client` and didn't cleanup
the connector. This is now fixed.

# Additional Context

Closes #8864
2024-11-13 19:11:48 +01:00
..
actions fix: correctly check denied domains and ips for actions (#8810) 2024-10-22 16:16:44 +02:00
activity
admin/repository/eventsourcing
api fix(oidc): do not return access token for response type id_token (#8777) 2024-11-12 15:20:48 +00:00
auth/repository feat(OIDC): add back channel logout (#8837) 2024-10-31 15:57:17 +01:00
auth_request/repository
authz docs: standardize multi-factor spelling and related string updates (#8752) 2024-10-22 14:59:16 +00:00
cache feat(cache): redis circuit breaker (#8890) 2024-11-13 19:11:48 +01:00
command fix(oidc): do not return access token for response type id_token (#8777) 2024-11-12 15:20:48 +00:00
config feat(v3alpha): read actions (#8357) 2024-08-12 22:32:01 +02:00
crypto perf(query): remove transactions for queries (#8614) 2024-11-04 10:06:14 +01:00
database perf(query): remove transactions for queries (#8614) 2024-11-04 10:06:14 +01:00
domain fix(oidc): do not return access token for response type id_token (#8777) 2024-11-12 15:20:48 +00:00
eventstore perf(query): remove transactions for queries (#8614) 2024-11-04 10:06:14 +01:00
execution feat: add schema user create and remove (#8494) 2024-08-28 19:46:45 +00:00
feature feat(OIDC): add back channel logout (#8837) 2024-10-31 15:57:17 +01:00
form
i18n
iam
id
idp fix(SAML): log underlying error if SAML response validation fails (#8721) 2024-10-11 07:04:15 +00:00
integration feat(cache): redis cache (#8822) 2024-11-04 10:44:51 +00:00
logstore
migration fix(setup): improve search query to use index (#8898) 2024-11-13 07:50:23 +00:00
net
notification feat(OIDC): add back channel logout (#8837) 2024-10-31 15:57:17 +01:00
org
project
protoc
qrcode
query fix(milestones): use previous spelling for milestone types (#8886) 2024-11-11 11:28:27 +00:00
renderer
repository fix(milestones): use previous spelling for milestone types (#8886) 2024-11-11 11:28:27 +00:00
static docs: standardize multi-factor spelling and related string updates (#8752) 2024-10-22 14:59:16 +00:00
statik
telemetry feat: enable application performance profiling (#8442) 2024-08-16 13:26:53 +00:00
test
user feat(OIDC): add back channel logout (#8837) 2024-10-31 15:57:17 +01:00
v2 fix(eventstore): revert precise decimal (#8527) (#8679) 2024-09-24 18:43:29 +02:00
view/repository perf(query): remove transactions for queries (#8614) 2024-11-04 10:06:14 +01:00
webauthn fix: add domain as attribute to list user auth methods (#8718) 2024-10-10 16:50:53 +00:00
zerrors fix(crypto): reject decrypted strings with non-UTF8 characters. (#8374) 2024-08-02 08:38:37 +00:00