Giter Club home page Giter Club logo

lib-xpush-android's Introduction

visit XPUSH (for version 0.0.23)

We are preparing the documents for version 0.1.x

xpush

XPUSH (eXtensional PUSH) is a real-time communication server and a programmable library that supports websocket, GCM and APN. It is suitable for implementing components such as messengers and push system.

Features

You can easily build real-time services with HTML5 Websocket and socket.io, the module on node.js.

But, there are a lot of things to consider on building the real-time services. You need to consider various things such as distributed server configuration in consideration of the users who are rapidly increasing, network traffic processing of large capacity and scale-out strategy.

XPUSH is a server platform that provides such as real-time message communication, message storage, user and device management and Mobile Push Notification. Everyone will be able to install and use after you downloaded. And, XPUSH is a service platform for developing a wide range of real-time services and applications over a single XPUSH server platform.

Without having to directly implement the real-time communication servers, After you install XPUSH platform, try adding a real-time data communication features of your service.

1. Real-time Web Communication Platform

" We help you easily build real-time applications. XPUSH was designed for developers. "

XPUSH consists of real-time communication servers that has been developed as a Web technology. You can build a variety of real-time messaging applications such as your own messenger and chat services

Currently, XPUSH developers are provided Javascript libraries for developing Web services and JAVA libraries for developing JAVA applications and Android applications. We are continually developing additional libraries.

Real-time data communication, while maintaining the network connection between the Client and the Server, can transmit and receive data bidirectionally. If the connection to the server is lost, or even if some servers fails, it guarantees the service availability.

2. Works Everywhere

" At the core of XPUSH is the HTML5 WebSocket protocol, but we also have fallback mechanisms so that XPUSH just works anywhere, anytime. "

XPUSH was developed by node.js to implement high-performance servers. It uses Socket.IO, one of the modules for web-based real-time messaging. And we continue to update the modules to use the latest version.

Socket.IO enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

3. Scalable Web Architecture

" XPUSH was designed to work with commodity servers, an elastic virtualised environments saving you money and headaches. A scalable web application can handle growth โ€“ of users or work โ€“ without requiring changes to the source code and stoping existed servers "

Real time server platform has to be designed to be able to handle a large amount of network traffic to a sharply rising splice. It has to run a large number of servers for load balancing, needs to designed to be non-disruptive expansion. XPUSH developers designed the Scalable Web Architecture for a long time, and continue to optimize the architecture design.

XPUSH manages the real-time status of the distributed servers through a zookeeper and use Redis to store connection information of the visitors and meta datas in the memory. And XPUSH stores various types of unstructured messages sent or received in MongoDB.

XPUSH server platform run each in the Session server and Channel server. Channel server is responsible to authenticate users, managing user and device information, and assigning distribution server for load balancing. Since relatively Channel servers are easy to increase the load on the network traffic, so that it can be added separately as an expansion only Channel server

1. Prepare

To use the XPUSH is, nodejs, zookeeper, redis is required .

The following is how to install 64bit linux. Please install to suit your environment. If you have already been installed, please skip these preparation steps.

Install nodejs

nodejs installation by referring to Download and unzip the nodejs.

cd $HOME/xpush
wget http://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-x64.tar.gz
tar zvf node-v5.0.0-linux-x64.tar.gz
cd node-v5.0.0-linux-x64
./configure
make
sudo make install

Install zookeeper

Install and run zookeeper with reference Zookeeper installation.

The following is the code to install and run the zookeeper3.4.9.

cd $HOME/xpush
wget http://apache.mirror.cdnetworks.com/zookeeper/stable/zookeeper-3.4.9.tar.gz
tar xvf zookeeper-3.4.9.tar.gz
cp zookeeper-3.4.9/conf/zoo_sample.cfg zookeeper-3.4.9/conf/zoo.cfg
cd zookeeper-3.4.9/bin
./zkServer.sh start

Install redis

Install and run redis with reference Redis installation.

The follow is the code to install and run redis 3.2.6.

cd $HOME/xpush
wget http://download.redis.io/releases/redis-3.2.6.tar.gz
tar xzf redis-3.2.6.tar.gz
cd redis-3.2.6
make
src/redis-server
(daemon : $ nohup src/redis-server & )

2. Run your application with push module

clone xpush repository

git clone https://github.com/xpush/node-xpush.git
cd xpush
npm install

run session server

bin/start --session

run channel server

bin/start --channel

with config.json

bin/start ---config config.json

Config Options

- host : bind ip
- port : bind port

lib-xpush-android's People

Contributors

0nlyoung7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

crazyfire bakxun

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.