![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
loadfire
Advanced tools
Readme
LoadFire is an easy to script load balancer and reverse proxy in NodeJS.
It allows you to write your own pieces of logic as "Patterns" and the core engine takes care of all the proxying logic so you don't have to worry about it.
The real power is that all it's behavior is entirely scriptable in JavaScript (NodeJS). :)
###This allows for many different use cases, such as:
###It supports proxying:
var http = require('http');
var loadfire = require('loadfire');
var EDITOR_PORTS = [7001, 7002, 7003,7004];
var EDITOR_SERVERS = EDITOR_PORTS.map(function (x) {
return {
host: 'localhost',
port: x
};
});
// Start all our different http servers
function startEditorServers(ports) {
ports.forEach(function (port) {
// Setup HTTP Server
var httpServer = http.createServer(function(req, res) {
// Output the port number the server is running on
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(port.toString());
});
// Listen on assigned port
httpServer.listen(port);
});
}
// Config for our loadfire server
var CONFIG = {
'resources': [
{
// resource is some value identify this resource
// by default it should be the hostname to match
resource: 'localhost:8000',
// List of backends to hit
backends: EDITOR_SERVERS,
// Load balancing pattern
// As of now a few are builtin
// random, roundrobin, sticky
pattern: 'roundrobin'
}
],
// Server to start loadfire on
port: 8000
};
function main() {
// Start our http servers
startEditorServers(EDITOR_PORTS);
// Setup our load balancer with the above config
var loadServer = loadfire.createServer(CONFIG);
// Now start our load balancer
loadServer.run();
// Check out localhost:8000
// Refresh a few times and you'll see different port numbers appear
// depending on which http server the requests are proxied to
// since we are using the roundrobin pattern it will cycle through them
}
// Run main
main();
It was initially built to satisfy our needs at FriendCode, and we've been using it in product for months without any issues, so it can be considered as stable.
The API however will be changed soon due to some design decisions aiming to simplify it's API. (Patterns are quite monolithic as of now, they will be split up into different parts: matcher, mapper, balancer, store).
FAQs
A clean and simple load balancer
The npm package loadfire receives a total of 11 weekly downloads. As such, loadfire popularity was classified as not popular.
We found that loadfire demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.