您好、欢迎来到现金彩票网!
当前位置:9号彩票app下载 > 工作队列目录 >

Java操作高效并发操作读写文件消息持久化到本地读取

发布时间:2019-06-06 09:28 来源:未知 编辑:admin

  现在在写一个埋点统计的站点API,客户端发送JSON格式字符串,站点API会进一步验证JSON数据然后上传到消息队列。系统中有个模块监视消息队列服务器是否异常,如果在发送消息到消息队列...

  现在在写一个埋点统计的站点API,客户端发送JSON格式字符串,站点API会进一步验证JSON数据然后上传到消息队列。系统中有个模块监视消息队列服务器是否异常,如果在发送消息到消息队列,消息队列异常,站点API会把消息持久化到本地。监视消息队列的线程会定期发送心跳判断消息队列服务器是否启动,启动后会把本地持久化的消息读取发送到消息队列。问题来了,本地持久化消息为文本字符串,每个文件都是随机生成,随机写入消息。现在是一行记录一条消息,如果消息数量少系统会把整个文件内容读取到内存然后发送到消息队列。如果文件太大会重新命名文件,单线程一行一行的读取消息。在读取消息的时候同时也可能有线程在向这个文件中写入消息。这种方法可控制并发,但是性能较低。

  有没有方式把消息二进制写入到文件(占空间小),通过每次读取指定字节大小数据,然后转换字符串发送消息。现在问题就是消息大小不确定,怎么才能保证每次读取的字节块是整个消息。有没有更好的方式高效操作文件,读取消息?知道这方面技术的可以聊聊,说一说方案也行。展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  2017-09-27展开全部楼主,如果写,先判断要写多大的文件、然后分段写,各线程写自己的段

http://dralvaro.com/gongzuoduiliemulu/417.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有