xmsg

所属分类:聚类算法
开发工具:JavaScript
文件大小:11KB
下载次数:0
上传日期:2016-12-20 15:16:26
上 传 者sh-1993
说明:  集群应用程序消息中心
(cluster app msg center)

文件列表:
.npmignore (56, 2016-12-20)
.travis.yml (320, 2016-12-20)
LICENSE (1063, 2016-12-20)
UPDATELOG (372, 2016-12-20)
benchmark (0, 2016-12-20)
benchmark\server.js (934, 2016-12-20)
benchmark\size.js (674, 2016-12-20)
example (0, 2016-12-20)
example\client.js (359, 2016-12-20)
example\server.js (268, 2016-12-20)
example\size_time.js (297, 2016-12-20)
index.js (4944, 2016-12-20)
package.json (853, 2016-12-20)
parse.js (1530, 2016-12-20)
profile.js (2023, 2016-12-20)
test (0, 2016-12-20)
test\index.js (11550, 2016-12-20)

# XMSG [![Build Status](https://travis-ci.org/hardog/xmsg.svg?branch=master)](https://travis-ci.org/hardog/xmsg) [![Coverage Status](https://img.shields.io/codecov/c/github/hardog/xmsg.svg)](https://codecov.io/github/hardog/xmsg?branch=master) [![License](https://img.shields.io/npm/l/xmsg.svg)](https://www.npmjs.com/package/xmsg) [![xmsg](http://img.shields.io/npm/dm/xmsg.svg)](https://www.npmjs.org/package/xmsg) [![npm Version](https://img.shields.io/npm/v/xmsg.svg)](https://www.npmjs.com/package/xmsg) cluster app msg communication center! # Features - all function based on [Promise](#https://www.promisejs.org/) - create listen server - send to one/bunch server - performance log - log cache - connection pool size - keep alive with server - msg queue size set when loss connection # Install `$ npm install xmsg -g` # Benchmark ``` // 1C1G in virutal box // uname -a: Linux localhost.localdomain 3.10.0-229.el7.x86_*** #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_*** x86_*** x86_*** GNU/Linux max: 17750 ops/s min: 12900 ops/s ``` # Test run test: ``` $ npm test ``` run test coverage: ``` $ npm run cover ``` # SETTINGS - **xmsg.set('keep_alive', true), default is false** if keep alive with server - **xmsg.set('profile', true), default is false** show the following profile log ``` Tag:api Host:v10-2-23-23.hx Target:10.2.21.186:8103@file.get Start:Thu Nov 24 2016 11:57:38 GMT+0800 (CST) Net1:147ms Fn:1ms Net2:6ms Attach:None Net1: the time from client to server Fn: server deal through time Net2: the time from server to client ``` - **xmsg.set('sock_timeout', 2000), default is 100** the time threshold when send request to server - **xmsg.set('q_timeout', 2000), default is 1000** the time to flush profile log queue, be sure profile is on - **xmsg.set('pool_size', 100), default is 20** pool size for client connection to prevent lots of request use one connection - **xmsg.set('hwm', 1000), default is Infinity** when client loss connection with server, msg would be store in queue, hwm is the queue size # Usage ## xmsg.reset() clear previous settings. ## xmsg.create_server ``` // local machine create a server listen port 3000 // by `reply` return msg to client xmsg.create_server(3000, { fn: function(data, reply){reply('hello')}, args: function(data, reply){reply(data)}, multi: { fn: function(data, reply){reply(data)} } }); ``` ## xmsg.send_one ``` // send to one of the cluster machine // machine address: 127.0.0.1:3001 // server fn: fn // passed data: 'hello' xmsg.send_one('127.0.0.1:3001', 'fn', 'hello')) ``` ## xmsg.send_bunch the target server have different method name ``` // send to multi machine of the cluster xmsg.send_bunch([ ['127.0.0.1:3000', 'fn1'], ['127.0.0.1:3001', 'fn2'], ['137.233.222.123:3001', 'fn3'] ], 'hello')) ``` ## xmsg.send_bunch2 the target server share the same method name ``` // send to multi machine of the cluster xmsg.send_bunch2(['127.0.0.1:3000', '127.0.0.1:3001'], 'fn', hello')) ``` # License [MIT](https://github.com/hardog/xmsg/blob/master/LICENSE)

近期下载者

相关文件


收藏者