fly-apps / redis Goto Github PK
View Code? Open in Web Editor NEWLaunch a Redis server on Fly
Launch a Redis server on Fly
For our semi-managed services, we want images to be generated automatically from Github tags. Postgres is already setup for this. We should setup this repo the same way.
This helps people track Redis versions with fly image
. fly image
is backed by our API which will automatically track new versions from specific repositories. The tracking is already setup for this repository in the Fly backend.
Tools like Sidekiq expect Redis to not evict entries, while others may benefit from using it as an LRU cache. We should make this configurable via an environment variable.
I tried setting a REDIS_PASSWORD with special characters and I couldn't auth to the resulting server instance.
Commit 3f51e80 set the WORKDIR
to /
"to prevent files from being overwritten in /data"
.
This unfortunately means that I can't use a bind mount locally in docker-compose
with this image. I have to use a separate redis image in development which isn't ideal given I'm trying to replicate environments as closely as possible.
This is not an issue about this project, but about the official doc. ( https://fly.io/docs/reference/redis/ ๏ผ
The Official doc for running a new REDIS is totally not working, it would generate an incorrect fly.toml
and doesn't work.
I spent hours until I found this demo project, and its fly.toml
is correct
Please contact related employee to fix the bug, thanks ~
To help mitigate OOM'ing the VM, we should by default configure a max_memory
policy.
Things to consider when setting max memory:
Persistence
Redis needs to fork() when dumping to disk for RDB and when rewriting the AOF. So we will need to reserve a percentage of the VM's allocated memory to account for CoW.
Evictions
Key evictions happen when memory_usage
exceeds the max_memory
policy. So regardless of whether persistence is enabled or not, we still need some buffer room to work with between the max_memory
policy specified and the total memory allocated to the VM.
Additional processes running within the VM
The metrics exporter, health checks, and any other processes that run within the same VM will need to be carefully evaluated to ensure we don't inadvertently trigger an OOM.
Hi there, I've been using this image on fly and for local dev without much issues for a while now.
However, I recently upgraded to a M2 MBA, and started experiencing crashes in local dev similar to the ones reported in this issue: redis/redis#10162 (comment)
Apparently this crash only happens when running amd64 redis images on top of QEMU for M1/M2. Recommended solution is to use a native arm64 image.
Ideally I'd like to use the same image for local dev and prod, so it would be awesome if this image could be updated to support arm64 like the official redis image does!
Add some basic health checks to cover:
Connectivity
Something that periodically issues a PING would be fine.
Connections
Something that communicates active connections/max connections.
Disk/Memory/CPU/IO
Same VM stats as PG would be fine. However, we will need to tweak memory alerting a bit for configurations with a memory eviction policy set.
There's plenty more we could add, but I think this would be a good start.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.