1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mpush-mpush

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

log-level=warn log-dir=${mp.home}/logs log-conf-path=${mp.home}/conf/logback.xml

#核心配置
core {
    max-packet-size=10k //система разрешает передачу пакетов размером не более 10 килобайт
    compress-threshold=10k //данные пакета будут сжаты, если их размер превышает 10 килобайт
    min-heartbeat=3m //минимальный интервал между «сердцебиениями»
    max-heartbeat=3m //максимальный интервал между «сердцебиениями»
    max-hb-timeout-times=2 //допускается не более двух последовательных тайм-аутов «сердцебиений»
    session-expired-time=1d //используется для быстрого переподключения, по умолчанию срок действия сессии составляет 1 день
    epoll-provider=netty //nio: JDK, netty: реализация от Netty
}

#安全配置
security {
    #rsa 私钥、公钥key长度为1024;можно использовать скрипт bin/rsa.sh для генерации, @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
}

#网络配置
net {
    local-ip=""  //локальный IP, по умолчанию используется первый сетевой адаптер
    public-ip="" //внешний IP, по умолчанию также используется первый сетевой адаптер

    connect-server-bind-ip=""  //connSrv привязан к локальному IP (по умолчанию anyLocalAddress 0.0.0.0 или ::0)
    connect-server-register-ip=${mp.net.public-ip}  //публичный IP, регистрируется в ZK, по умолчанию это public-ip
    connect-server-port=3000 //порт для длинного соединения, публичный порт
    connect-server-register-attr { //дополнительные атрибуты для регистрации в ZK, например, настройки веса, которые можно использовать для сортировки в alloc
        weight:1
    }

    gateway-server-bind-ip=""  //gatewaySrv привязан к локальному IP (по умолчанию anyLocalAddress 0.0.0.0 или ::0)
    gateway-server-register-ip=${mp.net.local-ip}  //локальный IP, регистрируется в ZK, по умолчанию local-ip
    gateway-server-port=3001 //порт сервера шлюза, внутренний порт
    gateway-server-net=tcp //тип сети, используемый сервером шлюза: tcp/udp/sctp/udt

    gateway-client-port=4000 //UDP клиентский порт
    gateway-server-multicast="239.239.239.88" //239.0.0.0~239.255.255.255 — это локальный адрес управления многоадресной рассылкой, который действует только в пределах определённого локального диапазона
    gateway-client-multicast="239.239.239.99" //239.0.0.0~239.255.255.255 — это локальный адрес управления многоадресной рассылкой, который действует только в пределах определённого локального диапазона
    gateway-client-num=1 //количество подключений клиента шлюза

    admin-server-port=3002 //порт службы управления, внутренний порт
    ws-server-port=0 //WebSocket внешний порт, 0 означает отключение WebSocket
    ws-path="/" //путь WebSocket

    public-host-mapping { //сопоставление локальных IP-адресов локальной сети и публичных IP-адресов, эта конфигурация будет впоследствии отменена
        //"10.0.10.156":"111.1.32.137"
        //"10.0.10.166":"111.1.33.138"
    }

    snd_buf { //размер буфера отправки TCP/UDP
        connect-server=32k
        gateway-server=0
        gateway-client=0 //0 означает использование значения по умолчанию операционной системы
    }

    rcv_buf { //размер приёмного буфера TCP/UDP
        connect-server=32k
        gateway-server=0
        gateway-client=0 //0 означает использование значения по умолчанию операционной системы
    }

    write-buffer-water-mark { //защита записи Netty
        connect-server-low=32k
        connect-server-high=64k
        gateway-server-low=10m
        gateway-server-high=20m
    }

    traffic-shaping { //формирование трафика
        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
        }
    }
}

#Zookeeper конфигурация
zk {
    server-address="127.0.0.1:2181" //для нескольких машин используйте "," для разделения, например: "10.0.10.44:2181,10.0.10.49:2181" @see **org.apache.zookeeper.ZooKeeper#ZooKeeper()**

namespace=mpush digest=mpush //zkCli.sh acl 命令 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

Redis集群配置 redis { cluster-model=single //single,cluster,sentinel sentinel-master:"" nodes:[] s//["127.0.0.1:6379"]格式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 } }

HTTP代理配置 http { proxy-enabled=false //启用Http代理 max-conn-per-host=5 //每个域名的最大链接数, 建议web服务nginx超时时间设长一点, 以便保持长链接 default-read-timeout=10s //请求超时时间 max-content-length=5m //response body 最大大小 dns-mapping { //域名映射外网地址转内部IP, 域名部分不包含端口号 //"mpush.com":["127.0.0.1:8080", "127.0.0.1:8081"] } }

线程池配置 thread { pool { conn-work:0 //接入服务线程池大小,0表示线程数根据cpu核数动态调整(2cpu) gateway-server-work:0 //网关服务线程池大小,0表示线程数根据cpu核数动态调整(2cpu) http-work:0 //http proxy netty client work pool size,0表示线程数根据cpu核数动态调整(2cpu) ack-timer:1 //处理ACK消息超时 push-task:0 //消息推送中心,推送任务线程池大小, 如果为0表示使用Gateway Server的work线程池,tcp下推荐0 gateway-client-work:0 //网关客户端线程池大小,0表示线程数根据cpu核数动态调整(2cpu),该线程池在客户端运行 push-client:2 //消息推送回调处理,该线程池在客户端运行

event-bus { //用户处理内部事件分发 min:1 max:16 queue-size:10000 //大量的online,offline } mq { //用户上下线消息, 踢人等 min:1 max:4 queue-size:10000 } } }

推送消息流控 push { flow-control { //qps = limit/(duration) global:{ //针对非广播推送的流控,全局有效 limit:5000 //qps = 5000 max:0 //UN limit duration:1s //1s } broadcast:{ //针对广播消息的流控,单次任务有效 limit:3000 //qps = 3000 max:100000 //10w duration:1s //1s } } }

系统监控配置 monitor { dump-dir=${mp.home}/tmp dump-stack=false //是否定时dump堆栈 dump-period=1m //多久监控一次 print-log=true //是否打印监控日志 profile-enabled=false //开启性能监控 profile-slowly-duration=10ms //耗时超过10ms打印日志 }

SPI扩展配置 spi { thread-pool-factory:"com.mpush.tools.thread.pool.DefaultThreadPoolFactory" dns-mapping-manager:"com.mpush.common.net.HttpProxyDnsMappingManager" }

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

мпаш сообщения push server Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mpush-mpush.git
git@api.gitlife.ru:oschina-mirror/mpush-mpush.git
oschina-mirror
mpush-mpush
mpush-mpush
master