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 feat: trusted (instance) domains (#8369) 2024-07-31 18:00:38 +03:00
admin/repository/eventsourcing feat(cmd): mirror (#7004) 2024-05-30 09:35:30 +00:00
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 fix(login): correctly reload policies on auth request (#7839) 2024-04-24 08:44:55 +00:00
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 refactor: rename package errors to zerrors (#7039) 2023-12-08 15:30:55 +01:00
i18n fix(middleware): init translation messages (#7778) 2024-04-16 12:08:18 +00:00
iam refactor: cleanup unused code (#7130) 2024-01-02 14:26:31 +00:00
id feat(cmd): Added machine ID mode to zitadel start up logs (#8251) 2024-07-16 09:53:57 +00:00
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 perf: project quotas and usages (#6441) 2023-09-15 16:58:45 +02:00
migration fix(setup): improve search query to use index (#8898) 2024-11-13 07:50:23 +00:00
net perf: project quotas and usages (#6441) 2023-09-15 16:58:45 +02:00
notification feat(OIDC): add back channel logout (#8837) 2024-10-31 15:57:17 +01:00
org refactor: cleanup unused code (#7130) 2024-01-02 14:26:31 +00:00
project refactor: cleanup unused code (#7130) 2024-01-02 14:26:31 +00:00
protoc merge main into next 2023-10-19 12:34:00 +02:00
qrcode docs(legal): Updated agreements and policies v2 (#3823) 2022-06-15 08:30:58 +02:00
query fix(milestones): use previous spelling for milestone types (#8886) 2024-11-11 11:28:27 +00:00
renderer fix(login): (re)allow HTML in custom login texts (#7575) 2024-03-15 16:29:10 +01:00
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 chore: initial version of a devcontainer (#6352) 2023-08-15 10:49:05 +02:00
telemetry feat: enable application performance profiling (#8442) 2024-08-16 13:26:53 +00:00
test refactor(fmt): run gci on complete project (#7557) 2024-04-03 10:43:43 +00:00
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