fix: migrate to kvrocks

This commit is contained in:
devthejo 2025-10-20 19:30:26 +02:00
parent 8e0adf6ba0
commit acbc18b038
No known key found for this signature in database
GPG key ID: 00CCA7A92B1D5351
9 changed files with 47 additions and 45 deletions

View file

@ -12,7 +12,7 @@ EXPOSE_MINO_CONSOLE_PORT=4291
EXPOSE_FILES_PORT=4292
EXPOSE_REDIS_QD_PORT=4278
EXPOSE_REDIS_HG_PORT=4279
EXPOSE_KEYDB_CG_PORT=4277
EXPOSE_KVROCKS_CG_PORT=4277
EXPOSE_RABBITMQ_NODE_PORT=4272
EXPOSE_RABBITMQ_MANAGEMENT_PORT_PORT=4273

View file

@ -79,19 +79,19 @@ services:
REDIS_AOF_ENABLED: "yes"
REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL
keydb-cold-geodata:
image: eqalpha/keydb:x86_64_v6.3.4
kvrocks-cold-geodata:
image: apache/kvrocks
# restart: always
ports:
- "${EXPOSE_KEYDB_CG_PORT:-4277}:6379"
- "${EXPOSE_KVROCKS_CG_PORT:-4277}:6666"
volumes:
- keydb_cg_data:/data
- kvrocks_cg_data:/data
command:
- keydb-server
- /etc/keydb/redis.conf
- kvrocks-server
- /etc/kvrocks/redis.conf
- --requirepass
- keydb-password
- kvrocks-password
- --server-threads
- "2"
@ -180,7 +180,7 @@ services:
- db
- rabbitmq
- redis-hot-geodata
- keydb-cold-geodata
- kvrocks-cold-geodata
- redis-q-dedup
files:
@ -245,15 +245,15 @@ services:
REDIS_QUEUE_DEDUP_PASSWORD: redis-password
REDIS_HOT_GEODATA_HOST: redis-hot-geodata
REDIS_HOT_GEODATA_PASSWORD: redis-password
KVROCKS_COLD_GEODATA_HOST: keydb-cold-geodata
KVROCKS_COLD_GEODATA_PASSWORD: keydb-password
KVROCKS_COLD_GEODATA_HOST: kvrocks-cold-geodata
KVROCKS_COLD_GEODATA_PASSWORD: kvrocks-password
SENTRY_DSN: ${SENTRY_DSN_TASKS:-""}
SENTRY_ENVIRONMENT: ${SENTRY_ENVIRONMENT:-development}
depends_on:
- db
- rabbitmq
- redis-hot-geodata
- keydb-cold-geodata
- kvrocks-cold-geodata
- redis-q-dedup
watchers:
@ -272,15 +272,15 @@ services:
HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET:-admin}
REDIS_HOT_GEODATA_HOST: redis-hot-geodata
REDIS_HOT_GEODATA_PASSWORD: redis-password
KVROCKS_COLD_GEODATA_HOST: keydb-cold-geodata
KVROCKS_COLD_GEODATA_PASSWORD: keydb-password
KVROCKS_COLD_GEODATA_HOST: kvrocks-cold-geodata
KVROCKS_COLD_GEODATA_PASSWORD: kvrocks-password
SENTRY_DSN: ${SENTRY_DSN_WATCHERS:-""}
SENTRY_ENVIRONMENT: ${SENTRY_ENVIRONMENT:-development}
depends_on:
- db
- rabbitmq
- redis-hot-geodata
- keydb-cold-geodata
- kvrocks-cold-geodata
web:
image: helpme_web
@ -300,5 +300,5 @@ volumes:
name: helpme-rabbitmq-data
redis_hg_data:
name: helpme-redishg-data
keydb_cg_data:
name: helpme-keydbcg-data
kvrocks_cg_data:
name: helpme-kvrockscg-data

View file

@ -79,19 +79,19 @@ services:
REDIS_AOF_ENABLED: "yes"
REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL
keydb-cold-geodata:
image: eqalpha/keydb:x86_64_v6.3.4
kvrocks-cold-geodata:
image: apache/kvrocks
# restart: always
ports:
- "${EXPOSE_KEYDB_CG_PORT:-4277}:6379"
- "${EXPOSE_KVROCKS_CG_PORT:-4277}:6379"
volumes:
- keydb_cg_data:/data
- kvrocks_cg_data:/data
command:
- keydb-server
- /etc/keydb/redis.conf
- kvrocks-server
- /etc/kvrocks/redis.conf
- --requirepass
- keydb-password
- kvrocks-password
- --server-threads
- "2"
@ -193,7 +193,7 @@ services:
- db
- rabbitmq
- redis-hot-geodata
- keydb-cold-geodata
- kvrocks-cold-geodata
- redis-q-dedup
files:
@ -259,15 +259,15 @@ services:
REDIS_QUEUE_DEDUP_PASSWORD: redis-password
REDIS_HOT_GEODATA_HOST: redis-hot-geodata
REDIS_HOT_GEODATA_PASSWORD: redis-password
KVROCKS_COLD_GEODATA_HOST: keydb-cold-geodata
KVROCKS_COLD_GEODATA_PASSWORD: keydb-password
KVROCKS_COLD_GEODATA_HOST: kvrocks-cold-geodata
KVROCKS_COLD_GEODATA_PASSWORD: kvrocks-password
SENTRY_DSN: ${SENTRY_DSN_TASKS:-""}
SENTRY_ENVIRONMENT: ${SENTRY_ENVIRONMENT:-development}
depends_on:
- db
- rabbitmq
- redis-hot-geodata
- keydb-cold-geodata
- kvrocks-cold-geodata
- redis-q-dedup
watchers:
@ -287,15 +287,15 @@ services:
HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET:-admin}
REDIS_HOT_GEODATA_HOST: redis-hot-geodata
REDIS_HOT_GEODATA_PASSWORD: redis-password
KVROCKS_COLD_GEODATA_HOST: keydb-cold-geodata
KVROCKS_COLD_GEODATA_PASSWORD: keydb-password
KVROCKS_COLD_GEODATA_HOST: kvrocks-cold-geodata
KVROCKS_COLD_GEODATA_PASSWORD: kvrocks-password
SENTRY_DSN: ${SENTRY_DSN_WATCHERS:-""}
SENTRY_ENVIRONMENT: ${SENTRY_ENVIRONMENT:-development}
depends_on:
- db
- rabbitmq
- redis-hot-geodata
- keydb-cold-geodata
- kvrocks-cold-geodata
osrm-car: &osrm
image: osrm/osrm-backend:latest
@ -419,8 +419,8 @@ volumes:
name: helpme-redishg-data
labels:
project: "alertesecours"
keydb_cg_data:
name: helpme-keydbcg-data
kvrocks_cg_data:
name: helpme-kvrockscg-data
labels:
project: "alertesecours"
rabbitmq_data:

View file

@ -76,17 +76,18 @@ modjo({
})
},
},
keydbColdGeodata: {
kvrocksColdGeodata: {
pluginName: "ioredis",
context: (ctx) => {
ctx.set("config", {
...ctx.get("config"),
redis: {
host: process.env.KVROCKS_COLD_GEODATA_HOST,
port: process.env.KEYDB_COLD_GEODATA_PORT || "6379",
username: process.env.KEYDB_COLD_GEODATA_USERNAME || "default",
port: process.env.KVROCKS_COLD_GEODATA_PORT || "6379",
username:
process.env.KVROCKS_COLD_GEODATA_USERNAME || "default",
password: process.env.KVROCKS_COLD_GEODATA_PASSWORD,
db: process.env.KEYDB_COLD_GEODATA_DB || "0",
db: process.env.KVROCKS_COLD_GEODATA_DB || "0",
},
})
},

View file

@ -1,7 +1,7 @@
const { ctx } = require("@modjo/core")
module.exports = async function () {
const redis = ctx.require("keydbColdGeodata")
const redis = ctx.require("kvrocksColdGeodata")
return Object.assign(
async function geocodeDeviceUpdate(params) {

View file

@ -20,7 +20,7 @@ module.exports = async function () {
async function iosGeolocationHeartbeatSync(params) {
const logger = taskCtx.require("logger")
const sql = ctx.require("postgres")
const redisCold = ctx.require("keydbColdGeodata")
const redisCold = ctx.require("kvrocksColdGeodata")
const { deviceId } = params

View file

@ -39,17 +39,18 @@ modjo({
})
},
},
keydbColdGeodata: {
kvrocksColdGeodata: {
pluginName: "ioredis",
context: (ctx) => {
ctx.set("config", {
...ctx.get("config"),
redis: {
host: process.env.KVROCKS_COLD_GEODATA_HOST,
port: process.env.KEYDB_COLD_GEODATA_PORT || "6379",
username: process.env.KEYDB_COLD_GEODATA_USERNAME || "default",
port: process.env.KVROCKS_COLD_GEODATA_PORT || "6379",
username:
process.env.KVROCKS_COLD_GEODATA_USERNAME || "default",
password: process.env.KVROCKS_COLD_GEODATA_PASSWORD,
db: process.env.KEYDB_COLD_GEODATA_DB || "0",
db: process.env.KVROCKS_COLD_GEODATA_DB || "0",
},
})
},

View file

@ -21,7 +21,7 @@ const cleanupAge = Math.floor(ms(DEVICE_GEODATA_CLEANUP_AGE) / 1000) // Convert
module.exports = async function () {
const logger = ctx.require("logger")
const redisCold = ctx.require("keydbColdGeodata")
const redisCold = ctx.require("kvrocksColdGeodata")
const redisHot = ctx.require("redisHotGeodata")
const { addTask } = ctx.require("amqp")

View file

@ -34,7 +34,7 @@ suppress_multiple_term_dialog = True
type = Terminal
parent = paned1
profile = default
command = bash -lc "docker compose logs --follow --tail=10 db minio rabbitmq redis-hot-geodata redis-q-dedup keydb-cold-geodata; exec bash"
command = bash -lc "docker compose logs --follow --tail=10 db minio rabbitmq redis-hot-geodata redis-q-dedup kvrocks-cold-geodata; exec bash"
[[[terminal2]]]
type = Terminal
parent = paned2