Title: Redis High Availability · Issue #478 · feast-dev/feast · GitHub
Open Graph Title: Redis High Availability · Issue #478 · feast-dev/feast
X Title: Redis High Availability · Issue #478 · feast-dev/feast
Description: Is your feature request related to a problem? Please describe. Currently we do not natively support Redis in high availability mode for online serving. Redis is a single point of failure Redis cannot currently scale out more than one nod...
Open Graph Description: Is your feature request related to a problem? Please describe. Currently we do not natively support Redis in high availability mode for online serving. Redis is a single point of failure Redis cann...
X Description: Is your feature request related to a problem? Please describe. Currently we do not natively support Redis in high availability mode for online serving. Redis is a single point of failure Redis cann...
Opengraph URL: https://github.com/feast-dev/feast/issues/478
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Redis High Availability","articleBody":"**Is your feature request related to a problem? Please describe.**\r\n\r\nCurrently we do not natively support Redis in high availability mode for online serving. \r\n- Redis is a single point of failure\r\n- Redis cannot currently scale out more than one node, leading to resource utilization problems (disk, cpu).\r\n\r\nAdditionally, there is a problem with the current implementation of the Redis client in Apache Beam where it establishes too many connections to Redis.\r\n\r\n**Describe the solution you'd like**\r\nThe goal is to add support for HA Redis as part of Feast. This would require\r\n1. Users should be able to configure the addresses to these stores as part of their serving deployment. This may necessitate an update the Redis store in the [store.proto](https://github.com/gojek/feast/blob/master/protos/feast/core/Store.proto) (or the creation of a new type of store like `RedisCluster`.\r\n2. Refactoring the [Feast Redis IO](https://github.com/gojek/feast/blob/master/ingestion/src/main/java/feast/store/serving/redis/RedisCustomIO.java#L302) in the Apache Beam ingestion code to support Redis clusters.\r\n3. Refactoring the [Feast Serving client](https://github.com/gojek/feast/blob/master/serving/src/main/java/feast/serving/service/RedisServingService.java) to support Redis clusters.\r\n4. Ensuring that the Redis clients (both for cluster and non-cluster mode) do not create an excessive amount of connections. Ideally each dataflow or beam node should be sharing a single connection pool between all bundles.\r\n5. EDIT: We should try to use [Lettuce](https://github.com/lettuce-io/lettuce-core) as the Redis Client for both serving and ingestion. \r\nhttps://github.com/spring-projects/spring-session/issues/789\r\nhttps://github.com/lettuce-io/lettuce-core","author":{"url":"https://github.com/woop","@type":"Person","name":"woop"},"datePublished":"2020-02-18T01:00:22.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/478/feast/issues/478"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:c3cd0888-9e57-af96-62ac-491d908667fa |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C06C:2BA996:18032B8:217A9A4:697BA6C6 |
| html-safe-nonce | 5a66fd6a7286acb603b70a599c85d76c6aec05b138295aa98c8d25d2ab251e88 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMDZDOjJCQTk5NjoxODAzMkI4OjIxN0E5QTQ6Njk3QkE2QzYiLCJ2aXNpdG9yX2lkIjoiNzAyODc0Mjk4MTI5Mjg5Mzg5NSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | a361898eae50668734db2e396fa3f79a664b24855e5dac74fe13e53fea460d9e |
| hovercard-subject-tag | issue:566584419 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/feast-dev/feast/478/issue_layout |
| twitter:image | https://opengraph.githubassets.com/69c65f1f987b98450e0117c131046f5c30ecdd6838e5a1fe5c26ed27f1805c4b/feast-dev/feast/issues/478 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/69c65f1f987b98450e0117c131046f5c30ecdd6838e5a1fe5c26ed27f1805c4b/feast-dev/feast/issues/478 |
| og:image:alt | Is your feature request related to a problem? Please describe. Currently we do not natively support Redis in high availability mode for online serving. Redis is a single point of failure Redis cann... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | woop |
| hostname | github.com |
| expected-hostname | github.com |
| None | 7ba9ae7380317898f1b98f4cf41e78605ff2d68007cb4db4e46bdaf7e9423d2e |
| turbo-cache-control | no-preview |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | d52dd9b71f0e5da9cfd694fb2faae78a81d8e46f |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width