GoPush是开源的分布式推送消息服务.
基于netty开发
依赖redis
依赖Java8
依赖SpringBoot
依赖Zookeeper
不存在单点问题
拓展开可以做成客服、聊天、推送等诸多系统
GoPush是开源的分布式推送消息服务.
基于netty开发
依赖redis
依赖Java8
依赖SpringBoot
依赖Zookeeper
不存在单点问题
拓展开可以做成客服、聊天、推送等诸多系统
特性 轻量级 高性能 纯Golang实现 支持消息过期 支持离线消息存储 支持全量推送和单个私信推送 支持单个Key多个订阅者(可限制订阅者最大人数) 心跳支持(应用心跳和tcp keepalive) 支持安全验证(未授权用户不能订阅) 多协议支持(websocket,tcp) 详细的统计信息 可拓扑的架构(支持增加和删除comet节点,web节点,message节点) 利用Zookeeper支持故障转移 本文分享自微信公众号 - GoCN(golangchina)。 如有侵权,请联...
gopush 分布式消息推送服务 iDempiere 企业级 ERP/CRM/SCM 5.1.0 发布 redis官方没有windows版本,在windows下安装需要单独去找。地址:https://github.com/MSOpenTech/redis/releases。本文用的是Redis-x64-2.8.2402版本。 Redis安装到Windows系统 http://www.cnblogs.com/sunice/archive/2017/03/22/6599963.html docker环境搭建ELK https://segmentfault.com/a/1190000004411703 SpringBoot应用之ELK https://segmentfault....
一、前提 1、我们的多个系统都需要推送功能,但是我们又不想每个系统都去实现这样一个推送功能。 2、推送作为一个服务后,可以方便切换,比如一开始我们使用的是极光推送,后来切换到gopush推送,这样修改推送服务实现即可。 二、实现 在做这这套系统的第一版时,采用的是多线程和kafka(消息系统,用来缓存需要推送的消息)实现的,运行一段时间后,发现在推送大量消息时存在很大的问题,(当然问题都是在实现上)。第二版时,...
一、Java开发 1.J2EE架构及主流框架,spring4、spring boot、spring MVC、spring Security、spring cloud、struct2、hibernate5、mybatis3、maven、shiro等。 2.前端:HTML5、Javascript、css、JQuery、bootstrap等。 3.关系型数据库:MySQL、Oracle等设计、使用、优化等,熟悉分库分表。 NoSQl数据库:redis、MongoDB等,熟悉MongoDB分片等。 4.MQ产品、消息中间件:RabbitMQ、ActiveMQ、redis、zeroMQ、阿里MQ、kafka等消息队...
小结: 1、 内存优化 1.一个消息一定只有一块内存 使用 Job 聚合消息,Comet 指针引用。 2.一个用户的内存尽量放到栈上 内存创建在对应的用户 Goroutine(Go 程)中。 3.内存由自己控制 主要是针对 Comet 模块所做的优化,可以查看模块中各个分配内存的地方,使用内存池。 2、 模块优化 1.消息分发一定是并行的并且互不干扰 要保证到每一个 Comet 的通讯通道必须是相互独立的,保证消息分发必须是完全并列的,并且彼此之间互不干...
高并发实时弹幕是一种互动的体验。对于互动来说,考虑最多的地方就是:高稳定性、高可用性以及低延迟这三个方面。 高稳定性,为了保证互动的实时性,所以要求连接状态稳定; 高可用性,相当于提供一种备用方案,比如,互动时如果一台机器挂了,此时必须保证可以和另外一台机器连接,这样就从侧面解决了,用户连接不中断的问题; 低延迟,弹幕的延迟周期控制在1秒以内,响应是比较快的,所以可以满足互动的需求。 B站直播弹幕服务...
点击上方 “Java架构师社区”关注我们,设为星标 回复"架构师"获取资源 前言:随着直播的发展,直播弹幕也逐渐火爆起来。在架构设计上,高稳定、高可用、低延迟是一款直播弹幕系统必备的三要素。bilibili网站架构师刘丁,从这三个方面出发,为大家带来了 bilibili 在直播弹幕服务架构上的最佳实践。 高并发实时弹幕是一种互动的体验。对于互动来说,考虑最多的地方就是:高稳定性、高可用性以及低延迟这三个方面。 高稳定性,为了...
1.架构,架构与业务紧密相关,是有业务驱动的。 2.APP后台演进原则。 App后台的架构是由业务规模驱动而演进的,App后台是为业务服务的,App后台的价值在于能为业务提供其所需要的功能,不应过度设计。 从项目的角度,当App访问量不大时,应该快速搭建App后台,让App尽快上线给用户提供服务,验证商业模式的正确性,同时快速迭代产品。 当App访问量不断上升,这时要在保证快速迭代的前提下,同时兼顾高性能和高可用。 当App访问量...
评论 (8)