问题是这样 有这样个需求 就是把redis作为主力数据库 因为数据量较大 每分钟 都有几十万的数据写入到redis, 需要做个任务定时将redis中 数据序列化成文件 上传到文件服务器 ,
问题来了 由于任务是跑在多台机器上 定时跑 瞬间 redis服务器 文件服务器 负载都很大 包括网络磁盘 io 都着招架不住,有什么好的策略 或者算法来保证负载均衡呢 包括从redis拉取数据 以及保证任务不会socket超时???(需要保证reids的每条数据 都得成功写入文件 并且上传到文件服务器)
恳请各位支支招!!!
问题来了 由于任务是跑在多台机器上 定时跑 瞬间 redis服务器 文件服务器 负载都很大 包括网络磁盘 io 都着招架不住,有什么好的策略 或者算法来保证负载均衡呢 包括从redis拉取数据 以及保证任务不会socket超时???(需要保证reids的每条数据 都得成功写入文件 并且上传到文件服务器)
恳请各位支支招!!!
解决方案 »
- 数据结构在j2ee中的作用
- jfreeChart折线图,如何显示节点数据呢?
- JS中tagName为空或不是对象
- java程序错误,求各位指点一下哪错了,谢谢
- snmp 开发 急 急 急!
- 用JDOM读取XML文件,怎么能按照字段排序?
- 请问怎样在spring+hibernate+struts中统计在线人数,谢谢!!!
- 使用Hibernate来写入Blob型数据到Sql2000中出错!!!!!!!!!!
- JDevelop 9.0.5 出来了,哪儿可以下载??
- jB7:我的NEW里的Enterprist中的EJB 2.0 Designer 为什么是虚的呢
- SpringBoot RestTemplate返回ArrayList<LinkedHashMap>赋给List<Template>为什么不报错
- war包部署
定义任务,定时往队列push未上传的数据。
其中,如果上传了的数据可释放redis的话尽量释放。 任务可配置初始队列大小,任务也可以根据队列剩余量适量push。
建议用 xxl-job,可根据实际吞吐效率灵活配置任务执行频率以及参数。
所以说你现在的架构不足以解决问题,你得搭建一个spingcloud微服务分布式的架构或是其他类似架构。然后构思如何精简数据,分散处理数据。
不是说了吗,任务里往队列push新索引的时候判断可以自定义push多少。如果队列为空也可以通过xxl配置任务cron或者参数提高执行push频率或一次push更多数据。
不是说了吗,任务里往队列push新索引的时候判断可以自定义push多少。如果队列为空也可以通过xxl配置任务cron或者参数提高执行push频率或一次push更多数据。
感谢 队列是可行的 但队列的长度得控制下 如果生产的速度 大于消费的速度 队列会一直增长 有什么好的策略吗
不是说了吗,任务里往队列push新索引的时候判断可以自定义push多少。如果队列为空也可以通过xxl配置任务cron或者参数提高执行push频率或一次push更多数据。
这思路可以试下 感谢!