在公司开发的一个项目中有推送的业务场景,是由我负责设计开发,在实际的使用中还没有遇到业务量大的场景,也就一直没有优化。
存在的问题就是当遇到业务高峰时不容易实现服务器的扩容,基于quartz的分布式定时任务复杂性也较高。
因此在看了 想不到吧?我是这样用Redis实现消息定时推送的! 这篇文章之后,决定自己再把推送系统重新设计。
基本上实现了文章中的推送流程。
项目github地址 message-push
参考资源:
以下是本人在搭建redis集群过程中的一些笔记
启动后查看进程情况如下:
输入命令"cluster info" 或者"cluster nodes "查看集群状态。可以看到集群已经搭建完毕。
运行 cluster nodes 可以观察出集群中 有三个master,三个slave,master与slave的对应关系也和上面的执行结果相匹配
推送消息是通过一定的技术标准或协议,在网络上通过定期传送用户需要的信息来减少信息过载的一项新技术。
推送技术通过自动传送信息给用户,来减少用于网络上搜索的时间。它根据用户的兴趣来搜索、过滤信息,并将其定期推给用户,帮助用户高效率地发掘有价值的信息。
扩展资料:
在移动互联网时代以前的手机,如果有事情发生需要通知用户,则会有一个窗口d出,将告诉用户正在发生什么事情。可能是未接电话的提示,日历的提醒,或是一封新的彩信。推送功能最早是被用于Email中,用来提示我们新的信息。
由于时代的发展和移动互联网的热潮,推送功能更加地普及,已经不再仅仅用在推送邮件了,更多地用在我们的APP中了。
当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如《地震应急通》就需要及时获取服务器上最新的地震信息。要获取服务器上不定时更新的信息,一般来说有两种方法:
第一种是客户端使用Pull(拉)的方式,就是隔一段时间就去服务器上获取一下信息,看是否有更新的信息出现。
第二种就是 服务器使用Push(推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上。这样,客户端就能自动的接收到消息。
虽然Pull和Push两种方式都能实现获取服务器端更新信息的功能,但是明显来说Push方式比Pull方式更优越。因为Pull方式更费客户端的网络流量,更主要的是费电量,还需要程序不停地去监测服务端的变化。
参考资料来源:百度百科-信息推送
第三方推送建议用极光推送,极光推送作为较成熟的推送平台,通过集成基础 *** 作。为客户端以及服务端节省了大量时间来实现推送效果。
极光推送优势如下:(1)用户注册数无限制;(2)推送速度:10万条/秒(共享)|| 20万条/秒(独享);(3)独立推送通道、公网推送加速方案;(4)724专人专线服务;(1)最大并发数无限制;(2)推送速度:20万条/秒(独享);(3)推送条数无限制;(4)用户可分群推送;(5)专向高速推送通道;(6)离线消息可保存条数50条;(7)VIP技术支持。(8)极光官网上的文档很全,并且有互动问答以及博客长文,但是个推官网上没有;
极光推送已经覆盖了近10亿Android、IOS终端,30多万款APP应用,服务总用户数超过30亿,每天消息推送量达5亿多条,已成为移动应用数据平台。
Android中消息推送有如下几种方式:
1、轮询(Pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立即同步消息。2、SMS(Push)方式:通过拦截SMS消息并且解析消息内容来了解服务器的命令,但这种方式一般用户在经济上很难承受。3、持久连接(Push)方式:客户端和服务器之间建立长久连接,这样就可以实现消息的及时行和实时性。
消息推送,就是在互联网上通过定期传送用户需要的信息来减少信息过载的一项新技术。推送技术通过自动传送信息给用户,来减少用于网络上搜索的时间。根据用户的兴趣来搜索、过滤信息,并将其定期推给用户,帮助用户高效率地发掘有价值的信息。
关于消息推送的方式也可以使用第三方平台来帮助实现,然而极光就是一个不错的选择。极光私有云提供贴身专属定制,为您打造安全稳定高性能的私有云系统,助力企业业务升级。
基于现在的理解列出上面这句话中错误的知识点:
根据对这两个概念的理解,得出Websocket协议本身就实现了长连接,因为它是基于单个TCP连接进行通信,在此基础上还实现了服务器可主动发送数据,进行双向通信的功能
有这样的需求场景:很多网站需要实现推送功能,这就需要服务器主动向浏览器发送请求,但是>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)