Separate out cache + data servers

This commit is contained in:
Michael Jackson 2018-07-06 10:53:16 -07:00
parent ffde00c444
commit 8ef362ba09
12 changed files with 43 additions and 38 deletions

View File

@ -1,11 +0,0 @@
.env
.git
.gitignore
.travis.yml
data
deploy
node_modules
private.key
scripts
tokens
unpkg.sketch

3
.gitignore vendored
View File

@ -1,6 +1,7 @@
.DS_Store
.env
/data
/redis
/node_modules
/public/_assets
/stats.json

View File

@ -8,34 +8,43 @@ services:
cache:
image: redis
volumes:
- ./data:/data
ports:
- "6379:6379"
- ./redis/cache:/data
networks:
- localnet
data:
image: redis
volumes:
- ./redis/data:/data
networks:
- localnet
server:
build: .
image: server
command: nodemon --ignore client server.js
environment:
- CACHE_URL=redis://cache:6379
- DATA_URL=redis://data:6379
env_file: .env
volumes:
- .:/app
depends_on:
- cache
ports:
- "8080:5000"
- data
networks:
- localnet
ports:
- "8080:5000"
worker:
build: .
image: worker
command: nodemon --ignore client server/ingestLogs.js
environment:
- DATA_URL=redis://data:6379
env_file: .env
volumes:
- .:/app
depends_on:
- cache
- data
networks:
- localnet

View File

@ -1,7 +1,7 @@
const crypto = require("crypto");
const jwt = require("jsonwebtoken");
const db = require("./utils/redis");
const db = require("./utils/data");
const secretKey = require("./secretKey");
function getCurrentSeconds() {

View File

@ -1,4 +1,4 @@
const db = require("./utils/redis");
const db = require("./utils/data");
const blacklistSet = "blacklisted-packages";

View File

@ -1,4 +1,4 @@
const db = require("./utils/redis");
const db = require("./utils/data");
const CloudflareAPI = require("./CloudflareAPI");
const BlacklistAPI = require("./BlacklistAPI");

View File

@ -3,7 +3,7 @@ const startOfDay = require("date-fns/start_of_day");
const startOfMinute = require("date-fns/start_of_minute");
const addDays = require("date-fns/add_days");
const db = require("./utils/redis");
const db = require("./utils/data");
const isValidPackageName = require("./utils/isValidPackageName");
const parsePackageURL = require("./utils/parsePackageURL");

9
server/utils/cache.js Normal file
View File

@ -0,0 +1,9 @@
const redis = require("redis");
redis.debug_mode = process.env.DEBUG_REDIS != null;
const client = redis.createClient(
process.env.CACHE_URL || process.env.OPENREDIS_URL || "redis://localhost:6379"
);
module.exports = client;

View File

@ -1,4 +1,4 @@
const db = require("./redis");
const db = require("./cache");
/**
* A persistent cache for JSON values, using Redis.

9
server/utils/data.js Normal file
View File

@ -0,0 +1,9 @@
const redis = require("redis");
redis.debug_mode = process.env.DEBUG_REDIS != null;
const client = redis.createClient(
process.env.DATA_URL || process.env.OPENREDIS_URL || "redis://localhost:6379"
);
module.exports = client;

View File

@ -1,4 +1,4 @@
const db = require("./redis");
const db = require("./data");
function incrementCounter(counter, key, by = 1) {
return new Promise((resolve, reject) => {

View File

@ -1,12 +0,0 @@
const redis = require("redis");
redis.debug_mode = process.env.DEBUG_REDIS != null;
const redisURL =
process.env.OPENREDIS_URL ||
process.env.REDIS_URL ||
"redis://localhost:6379";
const client = redis.createClient(redisURL);
module.exports = client;