jheusser / js-collider

Java network (NIO) application framework: performance and scalability.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

                 JS-Collider
                 ===========

                   +-----+
             /-----|     |-----\        +---+ 
            /      |     |      <=======|A/C| Session emitters
           /   /---|     |---\   \      +---+ (acceptor/connector)
          /   /    +-----+    \   \
          |   |     <----     |   |
TCP/IP ---+-S |               |   |
session  +-----+             +-----+
         |     |             |     |
         |     |             |     |
         |     |             |     |
         +-----+             +-----+
          |   |               |   |
          |   |     ---->     |   |
          \   \    +-----+    /   /
           \   \---|     |---/   /
            \      |     |  S   /
             \-----|     |--+--/
                   +-----+  |
                            |
                          TCP/IP
                          session

Join the chat at https://gitter.im/js-labs/js-collider

JS-Collider is an asynchronous event-driven Java network (NIO) application framework designed to provide maximum performance and scalability for applications having not too many connections but significant amount of network traffic (both incoming and outgoing).

Performance is achieved by specially designed threading model and lock-free algorithms (learn more)

Main features:

  • simple and flexible API (learn more)
  • UDP (with multicast) support
  • shared memory IPC support out-of-the-box (learn more)
  • no GC overhead on income data, only one allocation per output message
  • plain Java 1.7 (no any unsafe cheating)

Refer the Wiki for API documentation and performance tests results.

Downloading from the Maven central repository

Add the following dependency section to your pom.xml:

<dependencies>
  ...
    <dependency>
      <groupId>org.js-labs</groupId>
      <artifactId>js-collider</artifactId>
      <version>A.B.C</version>
      <scope>compile</scope>
    </dependency>
  ...
</dependencies>

Building

You will require JDK 1.7 and appache ant or maven.

ant package

or

mvn package

Running tests

ant tests

Contacts

Need more features or support? Contact info@js-labs.org

About

Java network (NIO) application framework: performance and scalability.

License:Other


Languages

Language:Java 100.0%