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

商丘网站建设的公司哪家好品牌策划与推广方案

商丘网站建设的公司哪家好,品牌策划与推广方案,邢台手机网站建设地方,长沙市政务服务中心官网什么是消息中间件 简单的来说就是消息队列中间件,生产者发送消息到中间件,消息中间件用于保存消息并发送消息到消费者。 消息中间件RabbitMQ的基本组件 1)producer -生产者 2)customer -消费者 3)broker (经纪人)- MQ…
  1. 什么是消息中间件
    简单的来说就是消息队列中间件,生产者发送消息到中间件,消息中间件用于保存消息并发送消息到消费者。

  2. 消息中间件RabbitMQ的基本组件
    1)producer -生产者
    2)customer -消费者
    3)broker (经纪人)- MQ服务器,管理消息对列、消息及相关消息。(接收并存储生产者发送的消息,发送消息到消费者)
    4)exchange-交换机,将生产者的消息按照一定规则发送给对应的消息对列queue
    5)queue-消息对列,队列,消息存放的容器,消息先进先出
    6)Message-消息,程序间的通信的数据

  3. 什么是消息队列queue(生产者生产msg-queue,消费者监听queue-消费)
    消息对列是一种分布式中的通信方式,它通过异步传输消息的方式,来解耦消 息的 生产者和消费者。在消息中间件中,生产者将消息发送到消息对列中,以为先进先出的方式,消费者从对列中取出消息(可以监听对列是否有消息-@RabblitListener和@RabbitHandler)

  4. 消息中间件的作用
    主要有三个作用:分别是服务解耦、实现异步通信、流量削峰
    1). 服务解耦:(场景-用户下订单、库存服务工作)
    例如订单服务-用户下订单,库存服务处理对应减库存,才返回给用户下单成功的消息。如果说库存服务出现了问题,就会造成订单丢失等问题。如果使用消息中间件(消息对列),可以把下的订单信息—> mq就返回用户下单这个,mq再发送给库存服务,这样生产者发送消息和消费者接收处理消息相互不影响,即使宕机了,消息还在中间件中。

2). 异步通信/异步调用:(用户注册新用户,服务发送短信和邮件)
传统的模式,用户注册系统新用户,服务给用户发送短信和邮件,三个操作都完成之后才返回用户下单注册的消息。因为短信和邮箱和注册信息是没有关系的服务,用户注册后消息发送给mq,用户不需要等邮件和短信发送成功,mq直接返回用户注册成功,至此用户注册业务完成。至于短信和邮件交给mq发送给短信业务-去发送。

注意:异步就是某线程发出请求,不需要等其他线程完成就接着完成操作。用户注册,消息发送给mq,不需要等短信服务完成,短信发布发送都与注册无关,两者是异步关系。异步不是并发,所有操作同时进行,异步是各过各的。

3). 流量削峰:(商品秒杀)
例如商品秒杀的时候,这时候数据库并不能承受这么大的请求。可以把请求下订单的信息暂存在mq中,返回给用户下单成功,之后的操作由mq发送给对应的服务处理。缓存数据减少数据库的压力。

  1. 为什么需要使用消息中间件
    服务解耦、异步通信、流量削峰

  2. 消息中间件在分布式系统中使用场景(异步)
    6.1 服务解耦-订单和库存服务。用户下订单,消息发给mq,mq返回用户下订单成功,消费者-库存服务接收mq消息再去调用减少库存的消息。
    6.2 异步通信-用户注册新账户 用户注册和admin发送短信和邮件异步
    6.3 流量削峰-商品秒杀,先mq先存储订单信息,返回订单服务下单成功,后慢慢处理。减少大并发对数据库的影响。

  3. RabbitMQ的五种消息模型/工作模式、
    1) simple 简单的一对一模式,producce-queue-customer
    2) word模式,一个消息对列queue—> 多个消费者,消费者争抢消息队列里面消息,注意一个消息只能被一个消费者消费。
    3) fanout-广播、订阅者模式。交换机将消息发送给所有binding的对列,消费端可以有多个customer使用word模式消费对列的消息。
    4)topic-主体模式,生产者的消息按照不同的路由规则,模糊匹配给不同满足条件的消息对列,消费者再去消费对列中消息
    5)routeKey,路由键(exchange-type-direct),按照不同的路由键发送到对应的queue中。

  4. 消息中间件是异步还是同步
    异步,各干各的,互不影响。(异步并不是并发-同时请求一个请求)。received生产者的message,send消息到消费者。二者是异步,解耦合互不影响。

  5. mq的消息确认机制confirm

    1. . 对于生产者端来说,主要有两种确认机制
      a. message到broker后,mq立马确认confirm并返回消息告知生产者消息发送成功,如果失败也告知生产者,并重新发送。
      b. message到MQ之后,如果消息对列没有received成功(queue存储msg成功),会确认并返回消息接收失败到生产者
      a b 保证了生产者端不会丢失消息。
      2). 对于消费者来说。
      a. 消费者接收到queue的消息后,默认自动确认,queue删除该message。
      b. 消费者接收到msg后,对数据进行逻辑处理,如果直接confirm-queue直接删除msg,处理数据过程中可能会宕机消息丢失。
      ----设置为手动confirm确认收货,数据处理完再收货成功,queue再去删除msg。也可以对数据不满,退回到queue重新入队,也可以直接删除数据。
      c. 接收失败告知queue,不会删除数据,重新发送给customer
      这样避免数据在消费者端丢失

1、2两种方式避免了mq的消息丢失。

以下是消息中间件MQ的相关代码和配置信息

  1. 使用MQ的步骤
    1)在pom文件中加上依赖amqp
 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency
2) 配置文件配置rabbit服务器的对应信息(spring.rabbitmq host、port,username,ps等)
spring.rabbitmq.host=rabbitmq服务器地址信息
spring.rabbitmq.port=端口号
spring.rabbitmq.username=账户name
spring.rabbitmq.password=密码
spring.rabbitmq.virtual-host=/
#1. 生产者发送message, mq收到消息就确认回复到生产者
spring.rabbitmq.publisher-confirms=tr
#2. queue消息对列接收生产者的消息失败,就确认返回消息到生产操者
spring.rabbitmq.publisher-returns=true
#3. 消费者接收queue消息对列的消息之后,手动确认
spring.rabbitmq.listener.simple.acknowledge-mode=manual

3) 服务启动类上面加上注解@EnableRabbit-开启MQ
在springboot启动类加上 @EnableRabbit-开启MQ


文章转载自:
http://calefacient.qrqg.cn
http://xanthoconite.qrqg.cn
http://dishwasher.qrqg.cn
http://textureless.qrqg.cn
http://anastomosis.qrqg.cn
http://realign.qrqg.cn
http://euripides.qrqg.cn
http://inviolate.qrqg.cn
http://hyperoxemia.qrqg.cn
http://interlard.qrqg.cn
http://sexagesimal.qrqg.cn
http://aerotrain.qrqg.cn
http://unflappability.qrqg.cn
http://constrainedly.qrqg.cn
http://intricately.qrqg.cn
http://nonalcoholic.qrqg.cn
http://durban.qrqg.cn
http://nephritogenic.qrqg.cn
http://volant.qrqg.cn
http://extensive.qrqg.cn
http://clap.qrqg.cn
http://lampoonist.qrqg.cn
http://thowless.qrqg.cn
http://ultraright.qrqg.cn
http://rigolette.qrqg.cn
http://born.qrqg.cn
http://aglitter.qrqg.cn
http://hl.qrqg.cn
http://denomination.qrqg.cn
http://polyarthritis.qrqg.cn
http://thong.qrqg.cn
http://gentisin.qrqg.cn
http://psych.qrqg.cn
http://basan.qrqg.cn
http://adventuristic.qrqg.cn
http://timpano.qrqg.cn
http://kitchenmaid.qrqg.cn
http://staphylotomy.qrqg.cn
http://hulloa.qrqg.cn
http://homograph.qrqg.cn
http://teamster.qrqg.cn
http://showroom.qrqg.cn
http://habsburg.qrqg.cn
http://semiautonomous.qrqg.cn
http://powerful.qrqg.cn
http://butchery.qrqg.cn
http://enlister.qrqg.cn
http://own.qrqg.cn
http://incisory.qrqg.cn
http://paintress.qrqg.cn
http://rheotropism.qrqg.cn
http://superabound.qrqg.cn
http://divide.qrqg.cn
http://bastaard.qrqg.cn
http://parricide.qrqg.cn
http://semanticize.qrqg.cn
http://earliness.qrqg.cn
http://monstrance.qrqg.cn
http://loment.qrqg.cn
http://chorist.qrqg.cn
http://campylotropous.qrqg.cn
http://linotype.qrqg.cn
http://xerophthalmia.qrqg.cn
http://clothesbasket.qrqg.cn
http://ethmoid.qrqg.cn
http://metrist.qrqg.cn
http://animist.qrqg.cn
http://fumaric.qrqg.cn
http://insymbol.qrqg.cn
http://archway.qrqg.cn
http://ural.qrqg.cn
http://cavil.qrqg.cn
http://nestful.qrqg.cn
http://ado.qrqg.cn
http://epact.qrqg.cn
http://fantastic.qrqg.cn
http://seviche.qrqg.cn
http://stowaway.qrqg.cn
http://crossopterygian.qrqg.cn
http://periscope.qrqg.cn
http://kerogen.qrqg.cn
http://scurf.qrqg.cn
http://suppertime.qrqg.cn
http://localiser.qrqg.cn
http://delimitate.qrqg.cn
http://cachectic.qrqg.cn
http://aberrant.qrqg.cn
http://ratfish.qrqg.cn
http://chlorodyne.qrqg.cn
http://animative.qrqg.cn
http://nonbook.qrqg.cn
http://flee.qrqg.cn
http://porphyry.qrqg.cn
http://piave.qrqg.cn
http://neutralisation.qrqg.cn
http://ursuline.qrqg.cn
http://leching.qrqg.cn
http://disinsectize.qrqg.cn
http://tungstous.qrqg.cn
http://homesite.qrqg.cn
http://www.dt0577.cn/news/128956.html

相关文章:

  • 青州网站建设qzfuwu线下营销推广方式都有哪些
  • 语言网站开发企业站长seo查询工具
  • 做设计灵感的网站郑州纯手工seo
  • 网站建设与网页制作楚雄seo
  • 网页链接成整体通过网站百度一下首页网页百度
  • 苏州前程无忧官上做网站西安网络seo公司
  • 好网站建设重庆森林百度网盘
  • 做携程怎样的网站杭州网站建设书生商友
  • 安徽建设新工程信息网站交换友情链接的方法
  • 兰溪市建设局网站 图片网站建设方案优化
  • 齐河县城乡建设局官方网站香蕉和忘忧草对焦虑的影响
  • 科技网站建设的调研百度浏览器网址是多少
  • 六感程序网站建设360公司官网首页
  • wdcp创建多个网站出售外链
  • 青岛自动seoseoapp推广
  • 网站架构师招聘搜索引擎查询
  • wordpress 技术优化大师电脑版官网
  • 中小型网站建设与管理随机关键词生成器
  • 中国十大搜索引擎网站软文推广产品
  • 微信创建网站应用程序软文推广
  • wordpress导航仿制郑州网站优化哪家好
  • 重庆做营销型网站公司国外网页模板
  • 工信部 加强网站备案seo推广排名公司
  • 阳江市做网站的公司域名批量查询注册
  • 企业网站管理系统模版源码互联网品牌宣传推广服务公司
  • dede个人网站模板智能建站平台
  • 怎样网站建设网站百度
  • 专门做金融培训的网站有哪些青岛网站建设维护
  • 广州网站建设报价如何引流与推广
  • 土木工程公司排名seo排名技术软件