游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

使用ChronicleQueue创建低延迟的TB级别的队列D

  本文介绍如何使用开源ChronicleQueue创建巨大的持久队列,同时保持可预测和一致的低延迟。
  在本文中,目标是维护来自市场数据馈送的对象队列(例如,在交易所交易的证券的最新价格)。也可以选择其他业务领域,例如来自物联网设备的感官输入或读取汽车行业的碰撞记录信息。原理是一样的。
  首先,定义一个持有市场数据的类:
  publicclassMarketDataextendsSelfDescribingMarshallable{intsecurityId;longtime;floatlast;floathigh;floatlow;Gettersandsettersnotshownforbrevity}
  注意:在实际场景中,使用float和double保存货币值时必须非常小心,否则可能会导致舍入问题〔Bloch18,Item60〕。但是,在这篇介绍性文章中,我想保持简单。
  还有一个小的实用函数MarketDataUtil::create将在调用时创建并返回一个新的随机MarketData对象:staticMarketDatacreate(){MarketDatamarketDatanewMarketData();intidThreadLocalRandom。current()。nextInt(1000);marketData。setSecurityId(id);floatnextFloatThreadLocalRandom。current()。nextFloat();floatlast20100nextFloat;marketData。setLast(last);marketData。setHigh(last1。1f);marketData。setLow(last0。9f);marketData。setTime(System。currentTimeMillis());returnmarketData;}
  现在,目标是创建一个持久、并发、低延迟、可从多个进程访问并且可以容纳数十亿个对象的队列。
  天真的方法
  有了这些类,就可以探索使用ConcurrentLinkedQueue的简单方法:publicstaticvoidmain(String〔〕args){finalQueueMarketDataqueuenewConcurrentLinkedQueue();for(longi0;i1e9;i){queue。add(MarketDataUtil。create());}}
  导致失败的有几个原因:ConcurrentLinkedQueue将为添加到队列中的每个元素创建一个包装节点。这将有效地使创建的对象数量增加一倍。对象放置在Java堆上,导致堆内存压力和垃圾收集问题。在我的机器上,这导致我的整个JVM变得无响应,唯一的办法是使用kill9强行杀死它。无法从其他进程(即其他JVM)读取队列。一旦JVM终止,队列的内容就会丢失。因此,队列不是持久的。
  查看其他各种标准Java类,可以得出结论,不支持大型持久队列。
  ChronicleQueue
  ChronicleQueue是一个开源库,旨在满足上述要求。这是设置和使用它的一种方法:publicstaticvoidmain(String〔〕args){finalMarketDatamarketDatanewMarketData();finalChronicleQueueqChronicleQueue。single(marketdata);finalExcerptAppenderappenderq。acquireAppender();for(longi0;i1e9;i){try(finalDocumentContextdocumentappender。acquireWritingDocument(false)){document。wire()。bytes()。writeObject(MarketData。class,MarketDataUtil。recycle(marketData));}}}
  使用配备2。3GHz8核英特尔酷睿i9的MacBookPro2019时,仅使用一个线程即可插入每秒超过3,000,000条消息。队列通过给定目录marketdata中的内存映射文件持久化。人们会期望MarketData对象至少占用4(intsecurityId)8(longtime)43(floatlast,high和low)24字节。
  在上面的示例中,附加了10亿个对象,导致映射文件占用30,148,657,152个字节,这意味着每条消息大约30个字节。在我看来,这确实非常有效。
  从编年史队列中读取很简单。继续上面的示例,下面显示了如何从队列中读取前两个MarketData对象:publicstaticvoidmain(String〔〕args){finalChronicleQueueqChronicleQueue。single(marketdata);finalExcerptTailertailerq。createTailer();for(longi0;i2;i){try(finalDocumentContextdocumenttailer。readingDocument()){MarketDatamarketDatadocument。wire()。bytes()。readObject(MarketData。class);System。out。println(marketData);}}}
  还有许多其他功能超出了本文的范围。例如,可以将队列文件设置为以特定间隔(例如每天、每小时或每分钟)滚动,从而有效地创建信息分解,以便随着时间的推移清理旧数据。还有一些规定能够隔离CPU并将Java线程锁定到这些隔离的CPU,从而显着减少应用程序抖动。
  ChronicleQueue更多:使用ChronicleQueue创建低延迟的TB级别的队列DZone

瑞虎7PLUS今日预售,提供2种动力选择,车内配三块大屏!根据最新消息,奇瑞家族新车瑞虎7PLUS将于今天正式开启预售,新车很多人已经看过,在之前成都车展中亮相过,从动力角度来看,将会提供两种方案给消费者选择。奇瑞对于新车型,算是全力……代步省油,日产逍客解析,推荐21款顶配优势在哪?日产逍客,作为一款紧凑型SUV,在国内口碑一直不错,从定位上来看,满足家用需求比较恰当,故障率低。目前在售版本相对较多,一直有粉丝问我哪款车型更值得选,个人认为一步到位选择20……工厂生产流水线工业固定式读码器的6种功能我们都知道采用工业流水线生产的企业可以提高生产的效率,而产品一多利用传统的计算方式就会出现工作量巨大的问题,这么才能解决产品管理难这一问题呢?在流水线引入工业固定读码器,可以有……千元市场佼佼者,120hz刷新高通骁龙750G5000毫安电如今的国内手机市场,可以说是纷繁杂乱,产品价位五花八门,设计和配置却大同小异。购买一款好的手机产品,不仅仅要考虑它的品牌、性能、设计、拍照和续航,更应该考虑的是手机的价格是否与……科技晚了个安丨今儿科技数码圈有瓜吃瓜有料领料!4月26日,一个非常像周一的周日,科技数码圈儿有什么值得关注呢?首先,来看发布前基本裸奔的小米10青春版,将采用6。57英寸AMOLED屏幕,搭载骁龙765G,后置……箩筐旗下易图通与微软签署合作协议,为汽车厂商提供自动驾驶服务近日,箩筐旗下公司易图通与微软签署合作协议,为汽车厂商提供自动驾驶相关服务。在此次合作中,双方将利用各自领域的优势,展开深入紧密的合作,形成具有中国特色的汽车行业解决方案……箩筐全资子公司易图通荣获2021年度高工智能汽车金球奖2021年7月30日,第十二届高工智能汽车开发者大会暨年度智能驾驶竞争力金球奖评选颁奖典礼在上海召开,箩筐全资子公司易图通科技(北京)有限公司(以下简称易图通)荣获2021年度……备战元宇宙?耐克为网络虚拟产品注册商标财联社(上海,编辑史正丞)讯,也许过不了多久,耐克就能依靠出售不能实际穿的运动鞋从数字世界中取得不菲的营收。根据媒体挖掘,耐克公司已经于十月底向美国专利及商标局(USPT……千万不要买的三台手机第一款IphoneSE2雷点:价格贵、芯片只有一个A13、没有大显示屏、没有高像素多摄、续航低,勉强支持18w快充、不支持5G。第二款华为p40……重度残疾姐妹自学成作家两人仅靠一张嘴一根手指写出40万字刘夏,80后,是河北省石家庄市晋州的一名残疾人作家,主要写作诗歌、散文。同时,她还是一名心理咨询师,为全国各地的求助者做心理疏导。20多年间,她和同样重度残疾的姐姐刘宁仅靠一张……闲鱼没流量没人看没人买?可能是你姿势不对闲鱼是啥?闲鱼是一个二手交易平台,是一个让你能自由买卖,赚到更多钱的神奇地方。无论你是冲着赚钱脱贫的目的去,还是纯粹想当掉自己的二手货换点碎银子,闲鱼总能帮上你的忙。闲鱼……艾创米为什么出租房都要安装指纹锁?近三年来,商务或者旅游时,我们会发现一个现象:不光酒店,就连民宿、短租公寓,也都安装上了智能锁;再看,最近两年,红遍我国一二线城市的长租公寓,智能锁也成为其管理方便的标配;而如……
韬蕴资本至今未向乐视控股支付收购易到资金3月8日消息,日前,韬蕴资本CEO温晓东此前接受媒体采访时表示,内部启动了对乐视系50亿元的全面追偿。对此,乐视控股债务处理小组相关负责人表示,温晓东所述易到负债总额超过50亿……雷军奋斗之作最成功的3款小米手机,好用不卡,非常经典!小米科技创办到今天已经差不多有九年了,曾经也给我们带来了无数惊艳的故事和产品,还记得第一代手机小米1999元隆重登场的时候,就像是给手机行业扔了一个重磅炸弹,当然这也让发烧而生……赋能路径清晰5G工业互联网应用场景扩容11月26日,工业和信息化部信息通信管理局发布《5G工业互联网典型应用场景和重点行业实践(第二批)》,涉及生产单元模拟等10个5G工业互联网的典型应用场景,以及石化化工、建材、……号称怼爆苹果AirPodsPro的小米耳机,它来了5月10日,小米冷不丁地宣布要在3天后发布小米年度降噪耳机小米降噪耳机Pro。算起来,这也才是小米旗下的第二款真无线降噪耳机。相比与上一代,这货究竟是进步了,还是原……为什么中国大力发展ETC,而不推广车牌识别技术?ETC技术在上世纪80年代就已经成熟,在90年代开始在世界各地普及,准确来说这确实一种过时的技术。那么,现在停车场都普及车牌识别付费了,为何高速收费站还在普及20年前的ETC技……呼叫中心软件应具备的5个关键功能对于当今的呼叫中心,重要的是能给我们相关通信解决问题。借助智能移动工具和互联网,呼叫中心给用户带来了即时的满意度和不同的访问权限。因此,当客户打给您呼叫中心的电话时,他们希望立……蓝牙耳机行业市场规模如何?2016年,苹果凭借其推出的AirpodsTWS耳机产品的时尚外观设计、强大续航能力和稳定便捷的使用方式以及与iOS生态的高度融合,迅速掀起了TWS行业热潮。TWS耳机让耳机从……黄峥难道有预感?辞职后拼多多问题浮现,一夜蒸发近千亿本文原创,请勿抄袭和搬运,违者必究拼多多问题浮现,市值大跌很多消费者都有货比三家的习惯,在不同的电商平台挑选同类商品中最便宜,最实惠的。一般购买一些小物件不在意质量问题的……曝光宁德时代在北美建厂价值超过50亿美元为特斯拉等车企供货两名知情人士称,宁德时代在北美的新工厂将生产镍锰钴电池和磷酸铁锂电池,来为特斯拉和其他汽车制造商供货。3月19日消息,据报道,宁德时代考虑为建造一座价值50亿美元的电池工……看好新能源汽车行业【金鼎观点】1、终于有了救市举措,不过确实来得晚了一些,这种心理创伤是很难弥补的!以为你既然到了3000点,难免就有资金觉得还会到28002、整体来说,还是太卷了,……都说网购便宜,为什么摄影器材线下实体店比线上的旗舰店便宜?摄影器材是贵重物品,很多摄影人喜欢在线下买有以下原因:1、价格便宜。很多在网上买都是买附件之类,网上相机只能作价格参考。摄影器材商因为得到厂家的支持,经常搞活动,举办讲座……机器人鱼鳞焊工艺美,你见过吗?快来学习怎么做到的机器人鱼鳞焊接是一种工艺美,可以欣赏下面的几张照片。以上图片源于网络看完上图后是不是非常震撼吗?是不是赞不决口吗,VeryVeryBeautiful。我们传统的手工……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网