- Guan Wang :https://mpusher.github.io
- Wen Dang :http://mpush.mydoc.io
- QQQun :114583699
Yuan Ma
- group https://github.com/mpusher/ Yuan Dai Ma Kong Jian
- server https://github.com/mpusher/mpush Fu Wu Duan Yuan Ma
- alloc https://github.com/mpusher/alloc Diao Du Qi Yuan Ma
- mpns https://github.com/mpusher/mpns Ge Xing Hua Tui Song Zhong Xin Yuan Ma
- java-client https://github.com/mpusher/mpush-client-java Chun javaKe Hu Duan Yuan Ma
- android sdk&demo https://github.com/mpusher/mpush-android An Zhuo SDKHe DEMOYuan Ma
- IOS sdk(swift) https://github.com/mpusher/mpush-client-swift swiftBan Ke Hu Duan Yuan Ma
- IOS sdk(OC) https://github.com/mpusher/mpush-client-oc Object C Ke Hu Duan Yuan Ma
ps:You Yu Yuan Ma Fen Bie Zai githubHe Ma Yun You Liang Fen ,Zui Xin De Dai Ma Yi githubWei Zhu
Fu Wu Diao Yong Guan Xi
Yuan Ma Ce Shi
git clone https://github.com/mpusher/mpush.git- Dao Ru Dao eclipseHuo Intellij IDEA
- Da Kai
mpush-testMo Kuai ,Suo You De Ce Shi Dai Ma Du Zai Gai Mo Kuai Xia - Xiu Gai Pei Zhi Wen Jian
src/test/resource/application.confWen Jian Xiu Gai Fang Shi Can Zhao Fu Wu Bu Shu Di 6Dian - Yun Xing
com.mpush.test.sever.ServerTestMain.javaQi Dong Chang Lian Jie Fu Wu - Yun Xing
com.mpush.test.client.ConnClientTestMain.javaMo Ni Yi Ge Ke Hu Duan - Yun Xing
com.mpush.test.push.PushClientTestMainMo Ni Gei Yong Hu Xia Fa Xiao Xi - Ke Yi Zai Kong Zhi Tai Guan Cha Ri Zhi Kan Fu Wu Shi Fou Zheng Chang Yun Xing ,Xiao Xi Shi Fou Xia Fa Cheng Gong
Fu Wu Bu Shu
Shuo Ming :mpush Fu Wu Zhi Yi Lai Yu zookeeperHe redis,Dang Ran Huan You JDK>=1.8
-
An Zhuang
jdk 1.8Yi Shang Ban Ben Bing She Zhi%JAVA_HOME% -
An Zhuang
zookeeper(An Zhuang Pei Zhi Bu Zou Lue ) -
An Zhuang
Redis(An Zhuang Pei Zhi Bu Zou Lue ) -
Xia Zai mpush server Zui Xin De Zheng Shi Bao https://github.com/mpusher/mpush/releases
-
Jie Ya Xia Zai De tarBao
tar -zvxf mpush-release-0.0.2.tar.gzDao mpush Mu Lu , Jie Gou Ru Xiadrwxrwxr-x 2 shinemo shinemo 4096 Aug 20 09:30 bin --> Qi Dong Jiao Ben
drwxrwxr-x 2 shinemo shinemo 4096 Aug 20 09:52 conf --> Pei Zhi Wen Jian
drwxrwxr-x 2 shinemo shinemo 4096 Aug 20 09:29 lib --> He Xin Lei Ku
-rw-rw-r-- 1 shinemo shinemo 11357 May 31 11:07 LICENSE
drwxrwxr-x 2 shinemo shinemo 4096 Aug 20 09:32 logs --> Ri Zhi Mu Lu
-rw-rw-r-- 1 shinemo shinemo 21 May 31 11:07 README.md
drwxrwxr-x 2 shinemo shinemo 4096 Aug 20 09:52 tmp
-
Xiu Gai conf Mu Lu Xia De
vi mpush.confWen Jian ,mpush.confLi De Pei Zhi Xiang Hui Fu Gai Tong Mu Lu Xia Dereference.confWen Jian#Zhu Yao Xiu Gai Yi Xia Pei Zhi
mp.net.connect-server-port=3000//Chang Lian Jie Fu Wu Dui Wai Duan Kou , Gong Wang Duan Kou
mp.zk.server-address="127.0.0.1:2181"//zk Ji Qi De Di Zhi
mp.redis={//redis Xiang Guan Pei Zhi
nodes:["127.0.0.1:6379"] //Ge Shi Shi ip:port
cluster-model:single //single, cluster
}
//Huan You Yong Yu An Quan Jia Mi De RSA mp.security.private-key He mp.security.public-key Deng ...Ru Guo Yao Xiu Gai Qi Ta Pei Zhi Qing Can Zhao reference.confWen Jian
-
Gei binMu Lu Xia De Jiao Ben Zeng Jia Zhi Xing Quan Xian
chmod u+x *.sh -
Zhi Xing
./mp.sh startQi Dong Fu Wu , Cha Kan Bang Zhu./mp.shMu Qian Zhi Chi De Ming Ling :Usage: ./mp.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}set-env.shYong Yu Zeng Jia He Xiu Gai jvmQi Dong Can Shu ,Bi Ru Dui Nei Cun , Kai Qi Yuan Cheng Diao Shi Duan Kou , Kai Qi jmxDeng -
cd logsMu Lu ,cat mpush.outCha Kan Fu Wu Shi Fou Qi Dong Cheng Gong -
Ji Cheng Bu Shu ,Bi Ru Ji Cheng Dao Xian You webGong Cheng Yi Qi Bu Shu Dao tomcat,Ke Yi Tian Jia Ru Xia Yi Lai
<groupId>com.github.mpushergroupId>
<artifactId>mpush-bootartifactId>
<version>0.0.2version>
dependency>
Qi Dong Ru Kou com.mpush.bootstrap.ServerLauncher.java
Pei Zhi Wen Jian Xiang Jie
#
# NOTICE:
#
# Xi Tong Pei Zhi Wen Jian ,Suo You Lie Chu De Xiang Shi Xi Tong Suo Zhi Chi Quan Bu Pei Zhi Xiang
# Ru Guo Yao Fu Gai Mou Xiang De Zhi Ke Yi Tian Jia Dao mpush.confZhong .
#
# Pei Zhi Wen Jian Ge Shi Cai Yong HOCONGe Shi . Jie Xi Ku You https://github.com/typesafehub/configTi Gong .
# Ju Ti Ke Can Zhao Shuo Ming Wen Dang ,Bi Ru Han You Te Shu Zi Fu De Zi Fu Chuan Bi Xu Yong Shuang Yin Hao Bao Qi Lai .
#
##################################################################################################################
mp {
#Ji Chu Pei Zhi
home=${user.dir} //Cheng Xu Gong Zuo Mu Lu
#Ri Zhi Pei Zhi
log-level=warn
log-dir=${mp.home}/logs
log-conf-path=${mp.home}/conf/logback.xml
#He Xin Pei Zhi
core {
max-packet-size=10k //Xi Tong Yun Xu Chuan Shu De Zui Da Bao De Da Xiao
compress-threshold=10k //Shu Ju Bao Qi Yong Ya Suo De Lin Jie Zhi ,Chao Guo Gai Zhi Hou Dui Shu Ju Jin Xing Ya Suo
min-heartbeat=3m //Zui Xiao Xin Tiao Jian Ge
max-heartbeat=3m //Zui Da Xin Tiao Jian Ge
max-hb-timeout-times=2 //Yun Xu De Xin Tiao Lian Xu Chao Shi De Zui Da Ci Shu
session-expired-time=1d //Yong Yu Kuai Su Zhong Lian De session Guo Qi Shi Jian Mo Ren 1Tian
epoll-provider=netty //nio:jdkZi Dai ,netty:You nettyShi Xian
}
#An Quan Pei Zhi
security {
#rsa Si Yao , Gong Yao keyChang Du Wei 1024;Ke Yi Shi Yong Jiao Ben bin/rsa.shSheng Cheng , @see com.mpush.tools.crypto.RSAUtils#main
private-key="MIIBNgIBADANBgkqhkiG9w0BAQEFAASCASAwggEcAgEAAoGBAKCE8JYKhsbydMPbiO7BJVq1pbuJWJHFxOR7L8Hv3ZVkSG4eNC8DdwAmDHYu/wadfw0ihKFm2gKDcLHp5yz5UQ8PZ8FyDYvgkrvGV0ak4nc40QDJWws621dm01e/INlGKOIStAAsxOityCLv0zm5Vf3+My/YaBvZcB5mGUsPbx8fAgEAAoGAAy0+WanRqwRHXUzt89OsupPXuNNqBlCEqgTqGAt4Nimq6Ur9u2R1KXKXUotxjp71Ubw6JbuUWvJg+5Rmd9RjT0HOUEQF3rvzEepKtaraPhV5ejEIrB+nJWNfGye4yzLdfEXJBGUQzrG+wNe13izfRNXI4dN/6Q5npzqaqv0E1CkCAQACAQACAQACAQACAQA="
public-key="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCghPCWCobG8nTD24juwSVataW7iViRxcTkey/B792VZEhuHjQvA3cAJgx2Lv8GnX8NIoShZtoCg3Cx6ecs+VEPD2fBcg2L4JK7xldGpOJ3ONEAyVsLOttXZtNXvyDZRijiErQALMTorcgi79M5uVX9/jMv2Ggb2XAeZhlLD28fHwIDAQAB"
aes-key-length=16 //AES key Chang Du
}
#Wang Luo Pei Zhi
net {
local-ip="" //Ben Di ip, Mo Ren Qu Di Yi Ge Wang Qia De Ben Di IP
public-ip="" //Wai Wang ip, Mo Ren Qu Di Yi Ge Wang Qia De Wai Wang IP
connect-server-bind-ip="" //connSrv Bang Ding De Ben Di ip (Mo Ren anyLocalAddress 0.0.0.0 or ::0)
connect-server-register-ip=${mp.net.public-ip} //Gong Wang ip, Zhu Ce Dao zkZhong De ip, Mo Ren Shi public-ip
connect-server-port=3000 //Chang Lian Jie Fu Wu Dui Wai Duan Kou , Gong Wang Duan Kou
connect-server-register-attr { //Zhu Ce Dao zkLi De E Wai Shu Xing ,Bi Ru Pei Zhi Quan Zhong ,Ke Zai allocLi Pai Xu
weight:1
}
gateway-server-bind-ip="" //gatewaySrv Bang Ding De Ben Di ip (Mo Ren anyLocalAddress 0.0.0.0 or ::0)
gateway-server-register-ip=${mp.net.local-ip} //Ben Di ip, Zhu Ce Dao zkZhong De ip, Mo Ren Shi local-ip
gateway-server-port=3001 //Wang Guan Fu Wu Duan Kou , Nei Bu Duan Kou
gateway-server-net=tcp //Wang Guan Fu Wu Shi Yong De Wang Luo Lei Xing tcp/udp/sctp/udt
gateway-client-port=4000 //UDP Ke Hu Duan Duan Kou
gateway-server-multicast="239.239.239.88" //239.0.0.0~239.255.255.255Wei Ben Di Guan Li Zu Bo Di Zhi ,Jin Zai Te Ding De Ben Di Fan Wei Nei You Xiao
gateway-client-multicast="239.239.239.99" //239.0.0.0~239.255.255.255Wei Ben Di Guan Li Zu Bo Di Zhi ,Jin Zai Te Ding De Ben Di Fan Wei Nei You Xiao
gateway-client-num=1 //Wang Guan Ke Hu Duan Lian Jie Shu
admin-server-port=3002 //Kong Zhi Tai Fu Wu Duan Kou , Nei Bu Duan Kou
ws-server-port=0 //websocketDui Wai Duan Kou , Gong Wang Duan Kou , 0Biao Shi Jin Yong websocket
ws-path="/" //websocket path
public-host-mapping { //Ben Ji Ju Yu Wang IPHe Gong Wang IPDe Ying She Guan Xi , Gai Pei Zhi Hou Xu Hui Bei Fei Qi
//"10.0.10.156":"111.1.32.137"
//"10.0.10.166":"111.1.33.138"
}
snd_buf { //tcp/udp Fa Song Huan Chong Qu Da Xiao
connect-server=32k
gateway-server=0
gateway-client=0 //0Biao Shi Shi Yong Cao Zuo Xi Tong Mo Ren Zhi
}
rcv_buf { //tcp/udp Jie Shou Huan Chong Qu Da Xiao
connect-server=32k
gateway-server=0
gateway-client=0 //0Biao Shi Shi Yong Cao Zuo Xi Tong Mo Ren Zhi
}
write-buffer-water-mark { //netty Xie Bao Hu
connect-server-low=32k
connect-server-high=64k
gateway-server-low=10m
gateway-server-high=20m
}
traffic-shaping { //Liu Liang Zheng Xing Pei Zhi
gateway-client {
enabled:false
check-interval:100ms
write-global-limit:30k
read-global-limit:0
write-channel-limit:3k
read-channel-limit:0
}
gateway-server {
enabled:false
check-interval:100ms
write-global-limit:0
read-global-limit:30k
write-channel-limit:0
read-channel-limit:3k
}
connect-server {
enabled:false
check-interval:100ms
write-global-limit:0
read-global-limit:100k
write-channel-limit:3k
read-channel-limit:3k
}
}
}
#ZookeeperPei Zhi
zk {
server-address="127.0.0.1:2181" //Duo Tai Ji Qi Shi Yong ","Fen Ge Ru :"10.0.10.44:2181,10.0.10.49:2181" @see org.apache.zookeeper.ZooKeeper#ZooKeeper()
namespace=mpush
digest=mpush //zkCli.sh acl Ming Ling addauth digest mpush
watch-path=/
retry {
#initial amount of time to wait between retries
baseSleepTimeMs=3s
#max number of times to retry
maxRetries=3
#max time in ms to sleep on each retry
maxSleepMs=5s
}
connectionTimeoutMs=5s
sessionTimeoutMs=5s
}
#RedisJi Qun Pei Zhi
redis {
cluster-model=single //single,cluster,sentinel
sentinel-master:""
nodes:[] s//["127.0.0.1:6379"]Ge Shi ip:port
password="" //your password
config {
maxTotal:8,
maxIdle:4,
minIdle:1,
lifo:true,
fairness:false,
maxWaitMillis:5000,
minEvictableIdleTimeMillis:300000,
softMinEvictableIdleTimeMillis:1800000,
numTestsPerEvictionRun:3,
testOnCreate:false,
testOnBorrow:false,
testOnReturn:false,
testWhileIdle:false,
timeBetweenEvictionRunsMillis:60000,
blockWhenExhausted:true,
jmxEnabled:false,
jmxNamePrefix:pool,
jmxNameBase:pool
}
}
#HTTPDai Li Pei Zhi
http {
proxy-enabled=false //Qi Yong HttpDai Li
max-conn-per-host=5 //Mei Ge Yu Ming De Zui Da Lian Jie Shu , Jian Yi webFu Wu nginxChao Shi Shi Jian She Chang Yi Dian , Yi Bian Bao Chi Chang Lian Jie
default-read-timeout=10s //Qing Qiu Chao Shi Shi Jian
max-content-length=5m //response body Zui Da Da Xiao
dns-mapping { //Yu Ming Ying She Wai Wang Di Zhi Zhuan Nei Bu IP, Yu Ming Bu Fen Bu Bao Han Duan Kou Hao
//"mpush.com":["127.0.0.1:8080", "127.0.0.1:8081"]
}
}
#Xian Cheng Chi Pei Zhi
thread {
pool {
conn-work:0 //Jie Ru Fu Wu Xian Cheng Chi Da Xiao ,0Biao Shi Xian Cheng Shu Gen Ju cpuHe Shu Dong Tai Diao Zheng (2*cpu)
gateway-server-work:0 //Wang Guan Fu Wu Xian Cheng Chi Da Xiao ,0Biao Shi Xian Cheng Shu Gen Ju cpuHe Shu Dong Tai Diao Zheng (2*cpu)
http-work:0 //http proxy netty client work pool size,0Biao Shi Xian Cheng Shu Gen Ju cpuHe Shu Dong Tai Diao Zheng (2*cpu)
ack-timer:1 //Chu Li ACKXiao Xi Chao Shi
push-task:0 //Xiao Xi Tui Song Zhong Xin ,Tui Song Ren Wu Xian Cheng Chi Da Xiao , Ru Guo Wei 0Biao Shi Shi Yong Gateway ServerDe workXian Cheng Chi ,tcpXia Tui Jian 0
gateway-client-work:0 //Wang Guan Ke Hu Duan Xian Cheng Chi Da Xiao ,0Biao Shi Xian Cheng Shu Gen Ju cpuHe Shu Dong Tai Diao Zheng (2*cpu),Gai Xian Cheng Chi Zai Ke Hu Duan Yun Xing
push-client:2 //Xiao Xi Tui Song Hui Diao Chu Li ,Gai Xian Cheng Chi Zai Ke Hu Duan Yun Xing
event-bus { //Yong Hu Chu Li Nei Bu Shi Jian Fen Fa
min:1
max:16
queue-size:10000 //Da Liang De online,offline
}
mq { //Yong Hu Shang Xia Xian Xiao Xi , Ti Ren Deng
min:1
max:4
queue-size:10000
}
}
}
#Tui Song Xiao Xi Liu Kong
push {
flow-control { //qps = limit/(duration)
global:{ //Zhen Dui Fei Yan Bo Tui Song De Liu Kong ,Quan Ju You Xiao
limit:5000 //qps = 5000
max:0 //UN limit
duration:1s //1s
}
broadcast:{ //Zhen Dui Yan Bo Xiao Xi De Liu Kong ,Dan Ci Ren Wu You Xiao
limit:3000 //qps = 3000
max:100000 //10w
duration:1s //1s
}
}
}
#Xi Tong Jian Kong Pei Zhi
monitor {
dump-dir=${mp.home}/tmp
dump-stack=false //Shi Fou Ding Shi dumpDui Zhan
dump-period=1m //Duo Jiu Jian Kong Yi Ci
print-log=true //Shi Fou Da Yin Jian Kong Ri Zhi
profile-enabled=false //Kai Qi Xing Neng Jian Kong
profile-slowly-duration=10ms //Hao Shi Chao Guo 10msDa Yin Ri Zhi
}
#SPIKuo Zhan Pei Zhi
spi {
thread-pool-factory:"com.mpush.tools.thread.pool.DefaultThreadPoolFactory"
dns-mapping-manager:"com.mpush.common.net.HttpProxyDnsMappingManager"
}
}
- Wei Wan Dai Xu ...