Server cluster to hold a realtime JSON database.
Flamebase is an open source project that tries to emulate Firebase Database features as much as possible. In this repo you can find the proper package for run a server cluster with node framework. For now it still developing, so please be patient with errors.
Prepare Redis server
OSX:
// install
brew install redis
// run
redis-server
// for testing with physical devices
redis-server --protected-mode no
// logs
redis-cli monitor
// test channels (sub/pub)
redis-cli PUBLISH d7bec76dac4e holi // redis-cli PUBLISH <Flamebase.id> message
Ubuntu:
// install
sudo apt-get install redis-server
// run
sudo service redis-server status
Install Flamebase:
npm install flamebase-server --save
Create a server cluster to hold all realtime changes.
var FlamebaseServer = require('flamebase-server');
var server = new FlamebaseServer();
server.initCluster({
start: function () {
console.log("flamebase server ready")
},
config: {
server_port: 1507,
redis_port: 6379,
db_name: "database",
log_dir: "logs/",
debug: true
}
});
Alternatively you can start the server cluster by cloning this repo and launch on terminal:
node launcher.js
Console Output:
start!!
[2017-07-02 21:05:48.337] [INFO] SERVER CLUSTER - Master 40001 is running
[2017-07-02 21:05:48.836] [INFO] SERVER CLUSTER - server cluster started on port 1507 | worker => 2
[2017-07-02 21:05:48.836] [INFO] SERVER CLUSTER - server cluster started on port 1507 | worker => 5
[2017-07-02 21:05:48.837] [INFO] SERVER CLUSTER - server cluster started on port 1507 | worker => 3
[2017-07-02 21:05:48.836] [INFO] SERVER CLUSTER - server cluster started on port 1507 | worker => 1
[2017-07-02 21:05:48.839] [INFO] SERVER CLUSTER - server cluster started on port 1507 | worker => 4
[2017-07-02 21:05:48.838] [INFO] SERVER CLUSTER - server cluster started on port 1507 | worker => 7
[2017-07-02 21:05:48.839] [INFO] SERVER CLUSTER - server cluster started on port 1507 | worker => 8
[2017-07-02 21:05:48.839] [INFO] SERVER CLUSTER - server cluster started on port 1507 | worker => 6
Client options to connect with server cluster.
// gradle
implementation 'com.flamebase:database:1.5.1'