Java:ChronicleMap第3部分,快速微服务

标准Java地图需要在启动时进行初始化。 了解如何利用可从文件初始化的ChronicleMaps并显着减少微服务启动时间,以及如何在JVM之间共享Maps。

内置的Map实现(例如HashMapConcurrentHashMap速度很快,但是必须先使用映射进行初始化,然后才能将其用于查找值。 而且,它们的大小受到诸如堆和RAM大小之类的实际手段的限制。 最后,它们对于运行它的JVM是本地的。

初始化过程可能会减慢微服务的关键启动速度,尤其是在从远程REST接口或远程数据库读取映射时。 在本文中,您将学习如何使用内存映射的ChronicleMap实例在几秒钟而不是几分钟内启动微服务应用程序,以及在有关CronicleMap的系列文章的第三篇文章中,如何在JVM之间共享Maps。

在第一篇文章中详细了解CronicleMap的基础知识。

在第二篇文章中阅读有关文件映射的CronicleMap对象的更多信息。

创建共享地图

如本系列第二篇文章所述,我们可以轻松地创建一个文件映射Map,如下所示:

 private static Map<Long, Point> createFileMapped() { try { return ChronicleMap .of(Long. class , Point. class ) .averageValueSize( 8 ) .valueMarshaller(PointSerializer.getInstance()) .entries(10_000_000) .createPersistedTo( new File( "my-map" )); } catch (IOException ioe) { throw new RuntimeException(ioe); }  } 

已建立
现在,任何有权访问“ my-map”文件的JVM都可以访问Map对象。 映射的更新将通过共享文件在参与的JVM之间共享。

初始化地图

如第二篇文章中所示,我们可以创建并初始化一个
像这样的Map

 final Map<Long, Point> m3 = LongStream.range( 0 , 10_000_000) .boxed() .collect( toMap( Function.identity(), FillMaps::pointFrom, (u, v) -> { throw new IllegalStateException(); }, FillMaps::createFileMapped ) ); 

在我的笔记本电脑(2015年中的MacBook Pro,16 GB,2.2 GHz Intel Core i7)上运行时,创建和填充笔记本电脑大约需要10秒钟。
Map一千万个条目。

如果Map内容是从外部检索的(而不是通过pointFrom()方法在本地创建的),则填充Map可能会花费更长的时间。 例如,如果我们获得50 Mbit / s的REST吞吐量,并且每个JSON Point表示消耗25个字节,则填充Map大约需要60秒。

启动一个新的JVM

现在已经有一个预先存在的映射文件,我们可以直接从该文件开始,如以下代码片段所示:

 return ChronicleMap .of(Long. class , Point. class ) .averageValueSize( 8 ) .valueMarshaller(PointSerializer.getInstance()) .entries(10_000_000) .createOrRecoverPersistedTo( new File( "my-map" )); 

这将直接从现有的“我的地图”文件中创建一个Map

在我的笔记本电脑上运行此程序将产生5秒钟的开始时间。 可以将其与60秒REST示例进行比较,从而将启动时间减少90%。

在同一节点上运行多个JVM

我们可以选择在同一物理服务器节点上运行多个JVM。 通过这样做,我们受益于操作系统通过公开共享内存使文件映射可用于每个JVM的能力。 这构成了JVM之间有效且低延迟的通信方式。 与每个JVM / OS都必须维护自己的独立映射的情况相比,存在一个公用的映射内存池这一事实使内存管理效率更高。

摘要

ChronicleMaps可以通过共享文件在参与的JVM之间共享
使用共享文件可以大大减少启动时间
如果JVM在同一台物理计算机上运行,​​则性能和效率将进一步提高 通过ChronicleMap共享的文件提供了JVM之间低延迟的通信方式

翻译自: https://www.javacodegeeks.com/2019/08/java-chroniclemap-fast-microservices.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业交换机的背板带宽是怎么计算的?

工业交换机的背板带宽&#xff0c;是工业交换机插口CPU或接口卡和系统总线间能够吞吐量的较大信息量。背板带宽标示了工业交换机总的数据传输工作能力&#xff0c;单位为Gbps&#xff0c;也叫互换网络带宽&#xff0c;一般的工业交换机的背板带宽从几Gbps到几百Gbps不一。一台工…

【渝粤教育】21秋期末考试工程经济10202k2

1、某设备原始价值16,000元&#xff0c;残值为零&#xff0c;折旧年限为5年&#xff0c;用双倍余额递减法计算的第4年折旧额为&#xff08; &#xff09;元。&#xff08;2.5 分&#xff09; A&#xff0e;1,728 B&#xff0e;1,382.4 C&#xff0e;2,304 D&#xff0e;3,840 2…

matlab 性能分析方法,DPCM,PSK系统的MATLAB实现及性能分析

DPCM/PSK系统的MATLAB实现及性能分析学生姓名&#xff1a;指导老师&#xff1a;摘要&#xff1a;本课程设计主要是为了进一步理解DPCM编码解码和PSK调制解调原理&#xff0c;并能通过MATLAB系统软件来实现对DPCM编码解码和PSK调制解调,且通过对各个元件的参数进行不同的设置&am…

【渝粤教育】21秋期末考试计量经济学10551k1

1、下面说法正确的是&#xff08; &#xff09;&#xff08;2 分&#xff09; A&#xff0e;先决变量是随机变量 B&#xff0e;外生变量是非随机变量 C&#xff0e;外生变量是随机变量 D&#xff0e;内生变量是非随机变量 2、平稳时间序列的均值和方差是固定不变的&#xff0c;…

orm java_Java 8 Friday:不再需要ORM

orm java在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 Java 8星期五 每个星期五&#xff0c;我们都会向您展示一些不错的教程风格的Java 8新功…

工业交换机的端口号结构特征

假如按工业交换机的端口号构造来分&#xff0c;工业交换机大概可分成&#xff1a;固定不动端口号工业交换机和模块化设计工业交换机二种不一样的构造。实际上也有一种是二者兼具&#xff0c;那便是在出示基础固定不动端口号的基本以上再配置一定的拓展扩展槽或控制模块。今天&a…

python3 ftp.mlsd,python3中的ftp目录

我在Python3.3中有以下代码&#xff1a;ftpHost"myhost"linkftplib.FTP(ftpHost)link.login(user"me",passwd"alsome")tlink.nlst()link.quit()print(t)我得到的输出是^{pr2}$在python3文档中&#xff0c;写到FTP.nlst文件“自3.3版起已弃用&…

lora技术和zigbee技术那个好,两者有啥优势

ZigBee是基于IEEE802.15.4标准的低功耗局域网协议&#xff0c;LoRa是LPWAN通信技术中的一种&#xff0c;那么lora技术和ZigBee技术哪个好呢?今天我们就来看看具体的介绍。 LoRa是LPWAN通信技术中的一种&#xff0c;是美国Semtech公司采用和推广的一种基于扩频技术的超远距离无…

【渝粤教育】国家开放大学2018年春季 0062-22T港台文学专题讲座 参考试题

试卷编号&#xff1a;0062 座位号 2017——2018学年度第二学期期末考试 中国当代文学专题 试题&#xff08;开&#xff09; 2018年7月 《鹿鼎记》和金庸以前的武侠小说的主要差别是什么&#xff1f;1&#xff0e;通过《红高粱》讲述的“我爷爷”余占鳌和“我奶奶”戴凤莲的故…

【渝粤教育】国家开放大学2018年春季 0149-22T现代汉语 参考试题

试卷编号&#xff1a;0149 座位号 2017——2018学年度第二学期期末考试 现代汉语试题 2018年7月 1&#xff0e;新词 2&#xff0e;北方方言3&#xff0e;形旁4&#xff0e;定位语素 5&#xff0e;派生义 1&#xff0e;声母z和zh的区别是________不同。 2&#xff0e;_____的…

物联网智慧城市为降低城市能源消耗做出贡献

我们居住的世界正在不断的趋于城市化 我们生活在一个不断城市化的世界里&#xff0c;世界上一半以上的人都居住在城市里。在全球范围内&#xff0c;城市化的速度正在不断的推进中&#xff1a;据推算&#xff0c;每周约有300万的人口迁入城市。按照这个速度&#xff0c;预计等到…

Java Stream:计数始终是计数吗?

它可能会出现明显的是&#xff0c;在计数的元素Stream需要较长时间的多个元素中有Stream 。 但实际上&#xff0c; Stream::count有时可以在一个操作中完成&#xff0c;无论您有多少元素。 阅读本文并了解操作方法。 计数复杂度 Stream::count终端操作对a中的元素数进行计数 …

【渝粤教育】国家开放大学2018年春季 0269-22T文学概论 参考试题

试卷代号&#xff1a;0269 2017-2018年度第二学期考试 文学概论试题 2018年7月 一、选择题&#xff08;请在下面的答题框内写上正确答案的序号&#xff09;&#xff08;每小题3分&#xff0c;共30分&#xff09; 1&#xff0e;在魏晋时期&#xff0c;南朝宋文帝建立“四学”即…

工业以太网的冗余功能有哪些?

由于工业环境对工业控制网络可靠性能的超高要求&#xff0c;工业以太网的冗余功能应运而生。从快速生成树冗余(RSTP)、环网冗余&#xff08;RapidRing&#xff09;到主干冗余&#xff08;Trunking&#xff09;&#xff0c;都有各自不同的优势和特点&#xff0c;控制工程师们可以…

支付宝回调地址index.php,支付宝支付成功回调地址怎么不改变当前页面?

手机端支付宝支付成功后 会有一个回调地址"http://pay.xxx.com/channel/alipayWap/return_url.php?is_successT&notify_idRqPnCoPT3K9%252Fvwbh3Ih20EPHd%252B9cnawdN%252Bu%252FVdQAMTpw%252FtTBJga49sLEne6jOnYt2mSr&notify_time2017-08-0814%3A41%3A49&no…

【渝粤教育】国家开放大学2018年春季 0434-22T高级英语口语 参考试题

科目编号&#xff1a;0434 2017-2018学年第二学期期末考试 高级英语口语 试题 2018年7月 (3—1) Ⅰ. Contradict the following statement. &#xff08;反驳下列论断&#xff09;。 (30 %) Whether to have many children or not is a completely private matter. Ⅱ. Make a…

input发送a.jax_JAX-RS 2.0:自定义内容处理

input发送a.jax我试图想到一个更好的标题&#xff0c;但未能拿出一个&#xff01; 请多多包涵……。 JAX-RS 2.0规范允许我们无缝地将JAXB对象编组到HTTP请求/响应主体&#xff0c;或从HTTP请求/响应主体中解组。 简而言之&#xff0c;我们可以使用域对象&#xff0c;而不必担…

php mysql ppt,7PHP访问数据库分析.ppt

7PHP访问数据库分析习题 4. 下列哪个函数可以将结果集的指针移动到指定的位置 A. mysql_fetch_rowB. mysql_fetch_assoc C. mysql_queryD. mysql_data_seek 5. PHP连接mysql数据库的连接函数mysql_connect的第三个参数是&#xff1a;() A. 主机名B. 数据库密码C. 数据库用户名 …

工业以太网交换机出现温度过高如何处理?

工业交换机由于其良好的通信性能、超强的抗磁抗干扰性被应用在工业环境下。我们都知道工业环境是很恶劣的&#xff0c;加上工业交换机要连续不间断的工作&#xff0c;很容易造成工业交换机过热的现象&#xff01;因此除了产品本身采用宽温度范围的元器件之外&#xff0c;我们更…

【渝粤教育】国家开放大学2018年春季 0556-21T广告摄影 参考试题

编号&#xff1a;0556 座位号 2017&#xff5e;2018学年度第二学期期末考试 广告摄影 试题 2018年6月 一、名词解释&#xff08;每小题5分,共15分&#xff09; 广告摄影&#xff1a; 曝光的互易律&#xff1a; 景别&#xff1a; 广告摄影试题第1页…