2019第2周日-要点回顾 2022-04-22 15:04 377阅读 0赞 消息中间件的可靠性是指对消息不丢失的保障程度;而消息中间件的可用性是指无故障运行的时间百分比,通常用几个 9 来衡量。不存在绝对的可靠性只能尽量趋向完美。并且通常可靠性也意味着影响性能和付出更大的成本,因此实际应用时还要根据业务需求,对真正关键的信息来做可靠性保证,并要从生产者、消息队列、消费者三个维度来努力。 如果在发送消息时采用了事务机制或者publisher confirm机制的话,服务端的返回是在消息落盘之后执行的,这样可以进一步的提高了消息的可靠性。但是即便如此也无法避免单机故障且无法修复(比如磁盘损毁)而引起的消息丢失,这里就需要引入镜像队列。镜像队列相当于配置了副本,绝大多数分布式的东西都有多副本的概念来确保HA。在镜像队列中,如果主节点(master)在此特殊时间内挂掉,可以自动切换到从节点(slave),这样有效的保证了高可用性,除非整个集群都挂掉。虽然这样也不能完全的保证RabbitMQ消息不丢失(比如机房被炸。。。),但是配置了镜像队列要比没有配置镜像队列的可靠性要高很多,在实际生产环境中的关键业务队列一般都会设置镜像队列。 一个软件(程序库)可支持多种协议(例如ActiveMQ实现了多种消息协议),某一种协议(尤其是开放协议)也可被多种软件(程序库)实现(例如能够支持webservice协议的程序库就有Codehaus XFire、Apache CXF、Jboss RESTEasy等) 分布式系统中常用通讯模型主要是“请求-应答”模型和“发布-订阅”模型。前者常见如RPC通讯,常用HTTP REST或Thrift等协议;后者多指消息队列MQ通讯。 RPC大多属于请求-应答模式,也包括越来越多响应式范式,对于需要点对点交互、强事务保证和延迟敏感的服务/应用之间的通信,RPC是优于消息队列的。那么消息队列(下文也简称MQ,即Message Queue)可以看做是一种异步RPC,把一次RPC变为两次或多次,进行内容转存,再在合适的时机投递出去。消息队列中间件往往是一个分布式系统,内部组件间的通信仍然会用到RPC。 通过JMS规范,开发人员可以忽略各种消息协议的细节,只要消息在同一队列中,就能够保证各种消息协议间实现互相转换。 如果您不特别指定ActiveMQ的网络监听端口,那么这些端口都将使用BIO网络IO模型。所以为了首先提高单节点的网络吞吐性能,我们需要明确指定Active使用NIO网络模型。 比起消息生产者来说消息消费者的性能更能影响ActiveMQ系统的整体性能,因为要成功完成一条消息的处理,它的工作要远远多于消息生产者。默认情况下ActiveMQ服务端采用异步方式向客户端推送消息。也就是说ActiveMQ服务端在向某个消费者会话推送消息后,不会等待消费者的响应信息,直到消费者处理完消息后,主动向服务端返回处理结果。 ActiveMQ中设置的各种默认预取数量一般情况下不需要进行改变。但是非必要情况下,请不要设置prefetchSize=1,因为这样就是一条一条的取数据;也不要设置为prefetchSize=0,因为这将导致关闭服务器端的推送机制,改为客户端主动请求。
相关 java基础知识回顾2 构造函数: 当类被实例化的时候,构造函数会被调用。我们可以像重载函数一样的重载构造函数。 当我们没有声明构造函数的时候,会默认的创建构造函数。 java不支持多重继承 「爱情、让人受尽委屈。」/ 2022年07月18日 05:56/ 0 赞/ 194 阅读
相关 C# 获取周一、周日 一、按国内计算周一为一周的起点,周日为一周的终点 1.获取周一 //获取周一 private DateTime getMonday() { 柔情只为你懂/ 2022年06月11日 08:19/ 0 赞/ 1028 阅读
相关 2019第2周日-要点回顾 消息中间件的可靠性是指对消息不丢失的保障程度;而消息中间件的可用性是指无故障运行的时间百分比,通常用几个 9 来衡量。不存在绝对的可靠性只能尽量趋向完美。并且通常可靠性也意味着 淩亂°似流年/ 2022年04月22日 15:04/ 0 赞/ 378 阅读
相关 2019软件设计师考试要点 软件设计师笔记 一、计算机系统基础知识 1.CPU 的功能:程序控制、操作控制、时间控制、数据处理。 2.计算机系统组成示意图: ![在这里插入图片描述][wat 系统管理员/ 2022年03月06日 12:12/ 0 赞/ 378 阅读
相关 《数值分析(原书第2版)》—— 0.5 微积分回顾 本节书摘来自华章出版社《数值分析(原书第2版)》一 书中的第0章,第0.5节,作者:(美)Timothy Sauer,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 朴灿烈づ我的快乐病毒、/ 2022年01月28日 12:13/ 0 赞/ 296 阅读
相关 程序员2019上半年 回顾 目标 对自己做出的2019年上半年计划进行总结, 1.那些完成了,完成的结果如何,有何收获 2.那些计划没有完成,未完成的原因是什么,如何总结经验,使下一步计划更 ゝ一世哀愁。/ 2021年12月17日 03:05/ 0 赞/ 333 阅读
相关 2019年上半年回顾 又有很长一段时间没写写东西,19年下半年的第一个月都快过完了,想着是该回顾下上半年都干了些什么,看看自己有什么新的体会或者有什么新的想法。 我一般从以下两个方面来看过去一年, 电玩女神/ 2021年11月29日 07:22/ 0 赞/ 326 阅读
相关 2019DX#2 <table> <tbody> <tr> <td>Solved</td> <td>Pro.ID</td> <td>Title</td> 太过爱你忘了你带给我的痛/ 2021年11月10日 03:04/ 0 赞/ 176 阅读
相关 第79节:Java中一些要点 ![标题图][1240] > 第79节:Java中一些要点 前言 一些知识点忘了没,可以通过一个点引出什么内容呢?做出自己的思维导图,看看自己到了哪一步了呢 内容 Bertha 。/ 2021年09月17日 23:56/ 0 赞/ 221 阅读
相关 Struts2【配置】知识要点 前言 上篇Struts博文已经讲解了Struts的开发步骤以及执行流程了…..对Struts的配置文件有了了解…..本博文继续讲解Struts在配置的时候一些值得要学习的 柔情只为你懂/ 2021年09月15日 00:04/ 0 赞/ 353 阅读
还没有评论,来说两句吧...