当前位置: 首页 > news >正文

沧州市网站建设公司cms做视频网站

沧州市网站建设公司,cms做视频网站,松岗做网站,网站不用了怎么办目录 一、MQ概述 二、MQ的优势和劣势 三、常见的MQ产品 RabbitMQ使用步骤 第一步#xff1a;确保rabbitmq启动并且可以访问15672 第二步#xff1a;导入依赖 第三步#xff1a;配置 auto自动确认 manual手工确认#xff08;推荐使用#xff01;可以防止消息丢失确保rabbitmq启动并且可以访问15672 第二步导入依赖 第三步配置 auto自动确认 manual手工确认推荐使用可以防止消息丢失 第四步编写生产者和消费者 一、MQ概述 MQ 全称是Message Queue消息队列是在消息传输过程中保存消息的容器多用于分布式         系统之间进行通信。 二、MQ的优势和劣势 优势 应用解耦  :  系统的耦合性越高容错性就越低可维护性就越低使用MQ 使得应用间解耦 提升容错性和可维护性。 异步提速 :  提升用户体验和系统吞吐量单位时间内处理请求的数目。 削锋填谷 :  使用了MQ之后限制消费消息的速度为2000这样一来高峰期产生的数据势必 会被积压在 MQ中高峰 就被“削”掉了。但是因为消息积压在高峰期过后的一段时间内消费消息的速度还是会维持在1000直到消费完积压的消息这就叫做 “填谷”。使用MQ后可以提高系统稳定性。 劣势 系统的可用性降低  :  引入的外部依赖越多系统稳定性越差一旦MQ宕机会对业务系统造  成影响。如何保证MQ的高可用 系统复杂度提高  :   MQ的加入增加了系统的复杂度以前是系统间同步的远程调用现在是      通过MQ进行一部调用怎么处理消息丢失情况如何保证消息传递的顺序性。 一致性问题  :  A系统发给BCD系统若其中一个系统处理数据失败如何保证消息数据处理的  一致性问题。 三、常见的MQ产品 RabbitMQ使用步骤 第一步确保rabbitmq启动并且可以访问15672 第二步导入依赖 !-- rabbitmq --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependency 第三步配置 rabbitmq:host: ipport: 5672username: guestpassword: guestvirtual-host: /listener:simple:prefetch: 1 # 默认每次取出一条消息消费 消费完成取下一条acknowledge-mode: manual # 设置消费端手动ack确认 不写默认为自动确认(auto)retry:enabled: true # 是否支持重试publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange)publisher-returns: true #确认消息已发送到队列(Queue)      auto自动确认 消息成功被消费没有抛出异常则自动确认回复ack。当抛出ImmediateAcknowledgeAmqpException异常则视为成功消费确认该消息。当抛出AmqpRejectAndDontRequeueException异常的时候则消息会被拒绝丢弃并且不会重新入队。其他的异常则消息会被拒绝且requeue true默认就是true时会重新入队 manual手工确认推荐使用可以防止消息丢失 无论有没有异常标准只有是否主动调用basicAck()、basicNack()等方法没有调用则一直阻塞. 因此有异常时(有重试就重试)抛出异常后没有调用时还是会一直阻塞。即使是auto模式的那两个特殊的异常在manual中都是一样的不会有特殊处理. 官网对应模式介绍RabbitMQ Tutorials | RabbitMQ 第四步编写生产者和消费者 这里写一个登录成功发送消息给登录人的业务普通队列模式  P生产者也就是要发送消息的程序C消费者消息的接受者会一直等待消息到  生产者 String exchange交换机名 交换器的名称。交换器是一种逻辑实体用于分发消息到相应的队列。你可以创建自定义的交换器类型如 Direct、Fanout、Topic 或者 Headers 等。 String routingKey队列名 路由键。它是消息与队列之间的桥梁决定了消息将被发送到哪个队列。路由键的值应匹配队列绑定到交换器时所使用的键。 Object message消息对象 要发送的消息对象。这个对象将被转换成字节流然后发送到 RabbitMQ。Spring AMQP 使用 MessageConverter 将 Java 对象转换为 AMQP 格式的字节流。默认情况下SimpleMessageConverter 可以处理简单的字符串、Java 序列化对象等。你可以通过配置 RabbitTemplate 的 messageConverter 属性来自定义消息转换器。 MessagePostProcessor messagePostProcessor 这是一个接口用于在消息发送前对其进行进一步的修改。你可以在这个处理器中设置消息头、属性或其他特定信息。MessagePostProcessor 接口有一个方法 postProcessMessage(Message message)你可以在这里修改消息实例。 CorrelationData correlationData 相关数据主要用于跟踪消息的发送结果。在异步发送消息的情况下你可以使用此参数来关联发送请求和响应。CorrelationData 包含一个唯一标识符用于识别消息。当收到响应时可以通过这个标识符找到原始请求。 发邮件是发给一个人所以这里只需要传一个队列名和登录人对象。发送给多个队列时需            要用到交换机 消费者 //Header从消息头中提取消息的递送标签标签是唯一的对应唯一的消息 RabbitListener(queuesToDeclare Queue(login_queue)) public void test01(User getUser, Channel channel, Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {try {发送邮件的代码……//手动确认消息channel.basicAck(deliveryTag,true);} catch (MessagingException e) {throw new RuntimeException(e);} catch (IOException e) {throw new RuntimeException(e);}}如果配置了手工消费一定要消费完后手动确认消息不然就会重复接收该消息导致后面的消息接受不到
http://www.hkea.cn/news/14506847/

相关文章:

  • 北京做网站需要多少钱微信抽奖小程序制作
  • 网站要怎么做关键词做网页的网站素材
  • 简单做动画的网站做影视网站挣钱吗
  • 邢台做网站的那好加利弗设计公司官网
  • 南京做网站哪家好用dw做淘宝网站
  • 桂林网站制作公司辽宁高速公路建设局网站
  • 青浦教育平台网站建设南宁专业网站制作公司
  • 移动终端网站开发服务器免费体验
  • 二级分销最佳佣金比例深圳seo优化外包
  • 网站主题设计特色最近时事新闻热点
  • 北京著名网站建设wordpress如何设置成伪静态页面
  • 网站缺点设计公司网站详情
  • 游戏网站做代理wordpress企业网站模板下载
  • Wordpress 建站 软件河北做网站
  • 室内设计师服务平台谷歌seo和百度区别
  • 西安网站建设查派国外网站有哪些平台
  • 做那个免费观看视频网站哪家做网站公司
  • 部门网站建设管理办法百度企业查
  • 在国内做跨境电商怎么上外国网站seo做的很好的网站
  • 西安企业网站建设代理机构招生网站建设的意义
  • 网站 用户体验罗田县建设局网站
  • 深圳模板开发建站局网站建设
  • 做网站流程、亿网网络科技有限公司
  • wordpress文章中出站怎样安全做黑色彩票网站
  • 潍坊+网站建设木疙瘩h5制作教程
  • 做后台财务系统网站做微网站多少钱
  • 北京做网站建设的公司有哪些汕头企业免费建站
  • 宿州网站开发社区电商平台排名
  • 做网站开视频网站新媒体ui设计是干什么的
  • 网站落地页怎么做网站色彩搭配