Since my team needed a message push system to replace JPUSH, I had been looking for a long time and basically had no really available open source system

So I directly built a wheel. When I built the wheel, I was planning to open source, but I didn’t have time to sort out the failure of my entrepreneurial project

This set of code, recently more free to take out to open source to do some contribution.

As the Java version of the open source push system, MPUSH has a lot of good design, especially for teams who want to build their own push system

Is of great reference significance. Of course, open source is also not to have done the work of waste, especially hope to this aspect of the students interested in

Let’s make this set of things better and serve more users!

mpusher.github.io

System is introduced

Mpush is an open source real-time message push system. It is developed in Java language and the server side is modular. It has the features of simple protocol, secure transmission, smooth interface, real-time efficiency, strong scalability, configurable, convenient deployment and perfect monitoring. It is also one of the few commercially available open source push systems.

Features and Advantages

1. Open source all, including server, Android, ios (unlike some open source services only open part of the code, disdain)

2. High code quality, all modular design, real commercial-grade products, considering most of the scenes encountered in push

3. High security, based on RSA thin encryption handshake protocol, simple, efficient and secure

4. Support disconnection reconnection, and fast reconnection under weak network, automatic sleep without network to save power and resources

5. Simple protocol, smooth interface, support data compression, save traffic

6. Supports cluster deployment and load balancing based on the mature ZooKeeper implementation

7. Redis cluster is used for user routing, supporting single write, double write and cluster grouping; Good performance and high availability

8. Support HTTP proxy, a TCP link to take over most application requests, so that HTTP requests more timely

9. Highly configurable, you can modify the configuration to meet most scenarios

10. Strong expansibility, highly modularized, pluggable design based on SPI mode to meet special needs

11. Perfect monitoring, detailed log, quick troubleshooting of online problems and service tuning

Tutorials and Documentation

Development Manual: mpusher. Github. IO /docs

The source code

Server github.com/mpusher/mpu…

Java – client github.com/mpusher/mpu…

Android sdk&demo github.com/mpusher/mpu…

The iOS SDK github.com/mpusher/mpu…