如何处理把上前条数据分别推送出去

问题描述

app有个发送通知的功能,调用服务端相应接口,服务端查询所有要接收通知的对象,然后调用百度云推送sdk(相当于一个webrequest)去发送推送请求,当接收对象有上千或更多的时候,服务端如何处理性能更佳呢,目前是用的多线程,一个对象开一个线程,但是线程到达极限了还是会出问题的?

解决方案

解决方案二:
简言之,就是如何在不影响web主线程的前提下异步发送上千条数据的请求
解决方案三:
引用楼主zhanghongrui1988的回复:

,然后调用百度云推送sdk(相当于一个webrequest)去发送推送请求,当接收对象有上千或更多的时候,服务端如何处理性能更佳呢,目前是用的多线程,一个对象开一个线程,

百度这么大的公司,难道还不知道“相同内容,不同目标用户”,给你提供一个批量发送个接口么?百度这么垃圾么?
解决方案四:
引用1楼zhanghongrui1988的回复:

简言之,就是如何在不影响web主线程的前提下异步发送上千条数据的请求

我不知道你所谓的“web主线程”是什么意思。既然异步了,又怎么会影响?
解决方案五:
我想把“未来”的极限跟你说一下,最终的大一点的应用系统必然是分布式处理的,也就是说你有10台服务器那么任务就会分不到10台服务器,你有100台服务器那么任务就会分不到100台服务器,去分别跟百度云通讯(攻击它:-)只会做一个小网站的人,肯定只能用单机的架构。包括许多自认为是在“创业”的人,对于分布式服务架构这么简单的东西的价值都还没有概念。而想要用互联网思维来创业,就必须先天地用分布式思维来编写软件,这样才能处理一个后台系统中出现的上百、几百个你这样的问题。
解决方案六:
最后那个分布式的提议是说到点子上了,只是目前并未有实践条件和环境。所以,目前zhi'能局限于单机的环境处理,我说的肯定是不同的内容发送,还有关于web主线程和异步的问题,你试着开几万个线程看会不会影响到主线程,肯定是会影响到的。
解决方案七:
那就回答一下#3楼我的问题。你所谓的“主线程”是什么东西呢?是从winform里边学来的概念,还是真的有什么可举例具体说明的线程?
解决方案八:
关键是“在不影响web主线程的前提下异步发送上千条数据”这里的所谓“影响”,把一个原本是要解决的核心问题说的模糊了,很难判断你说的是什么意思。如果你遇到了任何问题,如果你只说“影响”二字而不说问题细节,应该是解决不了什么问题的。
解决方案九:
谢谢你的批评指正,可能我的描述是有些问题,词不达意了,主线程我指的其实就是ui线程
解决方案十:
综合上面前辈的指点,我吧问题再重新表述一遍:web应用在单机条件下(目前没有集群分布式条件)有什么比较好的方法实现异步发送上千条的数据请求?
解决方案十一:
队列,建个队列的表,把要发的信息先促存进这个表,但做个服务,每2分钟查一次这张表,找到有数据就发,发成功的就删除
解决方案十二:
补充一下,每次发多条,这个自己设定
解决方案十三:
用AMP EAP或者Task都行
解决方案十四:
发送任务采用先落地后处理的方法,先保存到某个存储中,比如数据库,比如文件。写个任务逐条处理,如果通道有压力的,增加通道。比如考虑多开一些任务,每个任务处理某个特定范围的数据,每个任务使用不同的百度账号。例外还需要考虑网络硬件的通道压力。

时间: 2024-08-01 18:35:30

如何处理把上前条数据分别推送出去的相关文章

.net 通过URL推送POST数据具体实现

 这篇文章主要介绍了.net 通过URL推送POST数据具体实现,有需要的朋友可以参考一下 由于到了一家新公司重新开始接触MVC和其他的一些东西.所以的重新拾起许多东西.   前一段时间让我写一个和第三方公司推送对接的方法.通过对方提供的URL把数据post推送出去.   我把url到了web.config里   代码如下: <add key="urlStrings" value="urladdress"/>     在.CS文件里   代码如下: pr

signalR 实现数据库实时推送数据

问题描述 signalR 实现数据库实时推送数据 软件:VS2015/MSSQL2014问题:为什么下图的前端显示内容 传表就可以 而像我传num的一个数就不行了?? 解决方案 传一个数字也可以,但是你的js的json解析的代码需要修改,不能for循环. 解决方案二: socket实现数据库数据实时推送到服务器

.net 通过URL推送POST数据具体实现_实用技巧

由于到了一家新公司重新开始接触MVC和其他的一些东西.所以的重新拾起许多东西. 前一段时间让我写一个和第三方公司推送对接的方法.通过对方提供的URL把数据post推送出去. 我把url到了web.config里 复制代码 代码如下: <add key="urlStrings" value="urladdress"/> 在.CS文件里 复制代码 代码如下: private string postString = System.Configuration.C

小米海量数据推送服务技术讲解

11.11大促,随着移动端业务量的急剧提升,像小米推送这样的基础服务也经受了巨大的考验.11月12日,小米的项目总监汪轩然在微博上宣布,"小米推送服务共发出9.65亿条消息,平均每分钟发送67万条.更值得一提的是,后台监控显示,推送服务后台系统在全天运作非常平稳,没有任何卡顿拥堵现象,让各种促销.返利.订单更新消息第一时间触达用户." 汪轩然,2007年毕业于清华大学计算机系,后加入微软亚洲工程院,曾参与WP7上的浏览器的开发.2010年7月加入小米,曾担任米聊安卓团队的团队主管,现在

iOS10推送之基础知识(必看篇)_IOS

前言 在北京时间9月14号凌晨1点,苹果正式推送iOS 10正式版,下面给大家详细的介绍iOS10推送的基础知识,在看完简单入门篇大家就可以简单适配了,然后再通过中级篇的内容,相信对大家学习理解有很大的帮助,下面话不多说了,来看看吧. 一.简单入门篇 相对简单的推送证书以及环境的问题,我就不在这里讲啦,我在这里说的,是指原有工程的适配. 1.首先我们需要打开下面的开关.所有的推送平台,不管是极光还是什么的,要想收到推送,这个是必须打开的哟~ 之后,系统会生成一个我们以前没见过的文件,如图: 可能

Android中使用socket通信实现消息推送的方法详解_Android

原理最近用socket写了一个消息推送的demo,在这里和大家分享一下. 主要实现了:一台手机向另外一台手机发送消息,这两台手机可以随时自由发送文本消息进行通信,类似我们常用的QQ. 效果图: 原理:手机通过socket发送消息到服务器,服务器每接收到一条消息之后,都会把这条消息放进一个messageList里面,服务器会不停地检测messageList是否含有消息,如果有的话就会根据messageList里面item的数据,推送到相应的另一端手机上面. 下面简单画了一个图来说明这个原理: 演示

搜狐2012领跑APP推送 抢先播报奥运首金

伦敦奥运拉开大幕,中国健儿 经过 四年的努力再次冲击体坛之巅,手机搜狐打造的奥运观赛平台"搜狐奥运2012"客户端也为用户提供了最全.最快.最准的奥运内容服务.2012年7月28日18:24搜狐2012率先给用户推送了中国射手易思玲夺首金的快讯消息,成为无线互联网的"博尔特".快讯功能作为搜狐2012客户 端的核心功能之一,从产品设计初期就以快讯推送的"及时性"作为最重要的指标,不惜一切要给用户最及时.准确的奥运金牌快讯推送服务.为保证数据准确与

Android中使用socket通信实现消息推送的方法详解

原理 最近用socket写了一个消息推送的demo,在这里和大家分享一下. 主要实现了:一台手机向另外一台手机发送消息,这两台手机可以随时自由发送文本消息进行通信,类似我们常用的QQ. 效果图: 原理:手机通过socket发送消息到服务器,服务器每接收到一条消息之后,都会把这条消息放进一个messageList里面,服务器会不停地检测messageList是否含有消息,如果有的话就会根据messageList里面item的数据,推送到相应的另一端手机上面. 下面简单画了一个图来说明这个原理: 演

推送技术实现动态更新页面的内容详解

动态|详解|页面 一.什么是动态内容 大多数热门Web网站都从在线广告业务获利.Web页面中的广告空间是有限的,为了让广告投资物有所值,广告客户不仅必须在很小的广告空间内塞入大量的信息,而且还要保证广告能够吸引用户的注意力.在当前的大多数网站上,放入Web页面的横幅广告一般由服务器在构造页面的同时生成,我们无法把新的广告动态地插入到已经发送出去的页面. 如果要显示新的广告,唯一的办法就是重新刷新页面.我们可以用编程的方法刷新页面,例如: 使用浏览器窗口对象的setTimeOut函数定期地刷新页面