Skip to content

Commit

Permalink
Rename files according to lowerCamelCase
Browse files Browse the repository at this point in the history
Update README.md

rename variables on agent.js
  • Loading branch information
Aitor Magán committed Feb 4, 2013
1 parent a31b0f4 commit 8f8695b
Show file tree
Hide file tree
Showing 33 changed files with 287 additions and 297 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ before_script:
- openssl rsa -in server.key.org -passin pass:test1234 -out server.key
- openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- cd ..
- node src/Agent.js &
- node src/agent.js &
16 changes: 7 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
[![Build Status](https://travis-ci.org/telefonicaid/PopBox.png)](https://travis-ci.org/telefonicaid/PopBox)

POPBox
POPBox [![Build Status](https://travis-ci.org/telefonicaid/PopBox.png)](https://travis-ci.org/telefonicaid/PopBox)
===
##Simple High-Performance High-Scalability Inbox Notification Service
####Do you need really simple queues to distribute your work through a P&C schema?
Expand All @@ -16,7 +14,7 @@ Scalability has been taken into account from the very beginning (not dynamic yet
### Dependencies:
Requires node.js
npm install package.json to install node modules dependencies
node Agent.js to launch a PopBox Agent.
node agent.js to launch a PopBox Agent.
Requires REDIS
Optional MongoDB (historic data support)
#####Edit src/config.js for configuration Options
Expand Down Expand Up @@ -54,8 +52,8 @@ The same Redis instance may be used between transactions and queues.

###Historic support (optional)
```
exports.ev_lsnr.mongo_host = 'localhost';
exports.ev_lsnr.mongo_port = 27017;
exports.evLsnr.mongoHost = 'localhost';
exports.evLsnr.mongoPort = 27017;
```
Optionally you may indicate a MongoDB in order to keep track of historic data.

Expand Down Expand Up @@ -84,7 +82,7 @@ The certificates are located in /PopBox/utils/ by default, or you can choose you
*
* @type {String} absolute path for the certs and keys. Default will be chosen when empty.
*/
exports.agent.crt_path = "";
exports.agent.crtPath = "";
```
Epected files:
```
Expand All @@ -106,7 +104,7 @@ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
At this point you should be able to start all the processes:
Redis
External Systems (Optional)
Agents (node Agent.js)
Agents (node agent.js)

##PopBox HA current approach
Several PopBox replicas Master-SlaveChain may be deployed. To do so we must specify several properties in the config.js file:
Expand All @@ -128,7 +126,7 @@ When slave===true this property must define a one to one relationship between ex

####Deployment architecture for HA
```
(Agent->node Agent.js, Ri->Redis server)
(Agent->node agent.js, Ri->Redis server)
Agent(slave===false) --> {R1,..,Rn}
Expand Down
28 changes: 14 additions & 14 deletions benchmark/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@ exports.dbKeyTransPrefix = 'PB:T|';
/**
* @type {String}
*/
exports.db_key_queue_prefix = 'PB:Q|';
exports.dbKeyQueuePrefix = 'PB:Q|';

/**
* @type {Number}
*/
exports.payload_length = 1000;
exports.payloadLength = 1000;

/**
* @type {Number}
Expand Down Expand Up @@ -96,27 +96,27 @@ exports.maxProvision.description = 'Max Provisions';
/**
* @type {Number}
*/
exports.maxProvision.start_number_provisions = 1000;
exports.maxProvision.startNumberProvisions = 1000;

/**
* @type {Number}
*/
exports.maxProvision.max_queues = 20000;
exports.maxProvision.maxQueues = 20000;

/**
* @type {Number}
*/
exports.maxProvision.max_payload = 5000;
exports.maxProvision.maxPayload = 5000;

/**
* @type {Number}
*/
exports.maxProvision.queues_inteval = 1000;
exports.maxProvision.queuesInteval = 1000;

/**
* @type {Number}
*/
exports.maxProvision.payload_length_interval = 1000;
exports.maxProvision.payloadLengthInterval = 1000;

///////////
//MAX POP//
Expand Down Expand Up @@ -144,27 +144,27 @@ exports.maxPop.pf.folder = '.';
/**
* @type {Number}
*/
exports.maxPop.start_number_pops = 1000;
exports.maxPop.startNumberPops = 1000;

/**
* @type {Number}
*/
exports.maxPop.max_pops = 20000;
exports.maxPop.maxPops = 20000;

/**
* @type {Number}
*/
exports.maxPop.queues_inteval = 1000;
exports.maxPop.queuesInteval = 1000;

/**
* @type {Number}
*/
exports.maxPop.max_payload = 5000;
exports.maxPop.maxPayload = 5000;

/**
* @type {Number}
*/
exports.maxPop.payload_length_interval = 1000;
exports.maxPop.payloadLengthInterval = 1000;

///////////////
//RANDOM TEST//
Expand Down Expand Up @@ -214,9 +214,9 @@ exports.randomTest.maxMessages = 1000;
///////////
//MAX_CON//
///////////
exports.max_con = {};
exports.maxCon = {};

/**
* @type {Number}
*/
exports.max_con.numCon = 20000;
exports.maxCon.numCon = 20000;
6 changes: 3 additions & 3 deletions benchmark/DBPusher.js → benchmark/dbPusher.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ var config = require('./config.js');

var dbTr = redisModule.createClient(config.redisTrans.port,
config.redisTrans.host);
dbTr.select(config.selected_db);
dbTr.select(config.selectedDB);

var dbArray = [];
for (var i = 0; i < config.redisServers.length; i++) {
var port = config.redisServers[i].port || redisModule.DEFAULT_PORT;
var host = config.redisServers[i].host;
var cli = redisModule.createClient(port, host);
cli.select(config.selected_db);
cli.select(config.selectedDB);
dbArray.push(cli);
}

Expand Down Expand Up @@ -52,7 +52,7 @@ var pushTransaction = function(appPrefix, provision, callback) {

async.forEach(queues, function(queue, asyncCallback) {

fullQueueId = config.db_key_queue_prefix +
fullQueueId = config.dbKeyQueuePrefix +
priority + appPrefix + queue.id;

//Choose DB
Expand Down
24 changes: 8 additions & 16 deletions benchmark/genProvision.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,26 @@
/**
* Created with JetBrains WebStorm.
* User: fernando
* Date: 18/09/12
* Time: 10:04
* To change this template use File | Settings | File Templates.
*/
var genProvision = function(numPops, payloadSize) {

var genProvision = function(num_pops, payload_size) {

var queues_array = [];
var string_length = payload_size;
var queuesArray = [];
var stringLength = payloadSize;

var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
var randomstring = '';

for (var i = 0; i < string_length; i++) {
for (var i = 0; i < stringLength; i++) {
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum, rnum + 1);
}

for (var i = 0; i < num_pops; i++) {
queues_array[i] = {};
queues_array[i].id = 'q' + i;
for (var i = 0; i < numPops; i++) {
queuesArray[i] = {};
queuesArray[i].id = 'q' + i;
}

var provision = {};

provision.payload = randomstring;
provision.priority = 'H';
provision.queue = queues_array;
provision.queue = queuesArray;

return provision;
};
Expand Down
4 changes: 2 additions & 2 deletions benchmark/maxCon.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
var rest = require('restler');
var config = require('./config.js');
var http = require('http');
http.globalAgent.maxSockets = config.max_con.numCon;
http.globalAgent.maxSockets = config.maxCon.numCon;

var numCon = config.max_con.numCon;
var numCon = config.maxCon.numCon;
var requestCompleted = 0;
var ok = 0;

Expand Down
22 changes: 11 additions & 11 deletions benchmark/maxPop.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var dbPusher = require('./DBPusher.js');
var dbPusher = require('./dbPusher.js');
var config = require('./config.js');
var genProvision = require('./genProvision.js');
var async = require('async');
Expand All @@ -16,14 +16,14 @@ var testFrameWork = framework.describe(
config.maxPop.pf.monitors,
config.maxPop.pf.folder);

var doNtimes_queues = function(startNumPops, provision, callback) {
var doNtimesQueues = function(startNumPops, provision, callback) {

testFrameWork.test('Payload ' + provision.payload.length +
' bytes', function(log, point) {

var numPops = startNumPops;

var _doNtimes_queues = function() {
var _doNtimesQueues = function() {
async.series([

/**
Expand Down Expand Up @@ -135,10 +135,10 @@ var doNtimes_queues = function(startNumPops, provision, callback) {

dbPusher.flushBBDD(function() {
//Increase the number of pops until it reaches the maximum number of pops defined in the config file,
if (numPops < config.maxPop.max_pops) {
if (numPops < config.maxPop.maxPops) {

numPops += config.maxPop.queues_inteval;
_doNtimes_queues(callback);
numPops += config.maxPop.queuesInteval;
_doNtimesQueues(callback);

} else {
callback();
Expand All @@ -149,7 +149,7 @@ var doNtimes_queues = function(startNumPops, provision, callback) {
};


_doNtimes_queues();
_doNtimesQueues();
});
};

Expand All @@ -163,12 +163,12 @@ var doNtimes = function(numPops, payloadLength) {

var provision = genProvision.genProvision(1, payloadLength);

doNtimes_queues(numPops, provision, function() {
doNtimesQueues(numPops, provision, function() {

//Increase the payload until it reaches the maximum payload size defined in the config file.
if (payloadLength < config.maxPop.max_payload) {
if (payloadLength < config.maxPop.maxPayload) {

payloadLength += config.maxPop.payload_length_interval;
payloadLength += config.maxPop.payloadLengthInterval;
doNtimes(numPops, payloadLength);

} else {
Expand All @@ -179,4 +179,4 @@ var doNtimes = function(numPops, payloadLength) {
});
};

doNtimes(config.maxPop.start_number_pops, config.payload_length);
doNtimes(config.maxPop.startNumberPops, config.payloadLength);
24 changes: 12 additions & 12 deletions benchmark/maxProvision.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var dbPusher = require('./DBPusher.js');
var dbPusher = require('./dbPusher.js');
var rest = require('restler');
var config = require('./config.js');
var genProvision = require('./genProvision.js');
Expand All @@ -13,7 +13,7 @@ var testFrameWork = framework.describe(
config.maxProvision.pf.monitors,
config.maxProvision.pf.folder);

var doNtimes_queues = function(numQueues, payload_length, callback) {
var doNtimesQueues = function(numQueues, payload_length, callback) {

testFrameWork.test('Payload ' + payload_length +
' bytes', function(log, point) {
Expand All @@ -29,25 +29,25 @@ var doNtimes_queues = function(numQueues, payload_length, callback) {
host = config.agentsHosts[i].host,
port = config.agentsHosts[i].port;

if (numQueues <= config.maxProvision.max_queues) {
if (numQueues <= config.maxProvision.maxQueues) {

functionParallel = function(host, port, numQueues) {
return function functionDoNTimes(cb) {
_doNtimes_queues(provision, payload_length,
_doNtimesQueues(provision, payload_length,
host, port, numQueues, cb);
}
};

functionArray.push(functionParallel(host, port, numQueues));
}

numQueues += config.maxProvision.queues_inteval;
numQueues += config.maxProvision.queuesInteval;
}

async.parallel(functionArray, function() {

dbPusher.flushBBDD(function() {
if (numQueues <= config.maxProvision.max_queues) {
if (numQueues <= config.maxProvision.maxQueues) {
process.nextTick(agentsTime);
} else {
callback();
Expand All @@ -56,7 +56,7 @@ var doNtimes_queues = function(numQueues, payload_length, callback) {
});
};

var _doNtimes_queues = function(provision, payload_length,
var _doNtimesQueues = function(provision, payloadLength,
host, port, numQueues, endCallback) {
'use strict';

Expand All @@ -73,7 +73,7 @@ var doNtimes_queues = function(numQueues, payload_length, callback) {

qps = Math.round((numQueues / time) * 1000);
message = numQueues + ' inboxes have been provisioned with ' +
payload_length + ' bytes of payload in ' + time +
payloadLength + ' bytes of payload in ' + time +
' ms with no errors (' + qps + ' qps)';

console.log(message);
Expand All @@ -99,12 +99,12 @@ var doNtimes_queues = function(numQueues, payload_length, callback) {

var doNtimes = function(numQueues, payloadLength) {

doNtimes_queues(numQueues, payloadLength, function() {
doNtimesQueues(numQueues, payloadLength, function() {

//Increase the payload of the messages to be provisioned.
if (payloadLength < config.maxProvision.max_payload) {
if (payloadLength < config.maxProvision.maxPayload) {

payloadLength += config.maxProvision.payload_length_interval;
payloadLength += config.maxProvision.payloadLengthInterval;
process.nextTick(function() {
doNtimes(numQueues, payloadLength);
});
Expand All @@ -117,4 +117,4 @@ var doNtimes = function(numQueues, payloadLength) {
});
};

doNtimes(config.maxProvision.start_number_provisions, config.payload_length);
doNtimes(config.maxProvision.startNumberProvisions, config.payloadLength);
2 changes: 1 addition & 1 deletion examples/Queues.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,4 @@ Connection: keep-alive
------------------------------------------------
------------------------------------------------

curl -v --header "Content-type: application/json" -d @Provision.json http://localhost:3001/trans
curl -v --header "Content-type: application/json" -d @provision.json http://localhost:3001/trans
Loading

0 comments on commit 8f8695b

Please sign in to comment.