66.消息中间件就是一个队列,放进去取出来 业务和业务之间的联系,不做任何的逻辑 web中间件 nginx中间件 还有数据库中间件,访问数据库变得高效 应用场景 异步解耦 场景1 订单服务-调用积分服务,当积分服务挂了,积分服务不可用,当订单服务继续调用就会报错. 使用消息中间件,将订单信息传递到订单中心,订单中心会给积分服务进行调用积分服务 即使宕机数据也不会丢失,数据有做持久化 2.削峰填谷 当某个时段有大量数据进来可能会导致宕机,可以用消息中间件限流(排队慢慢进来,防止挤爆数据库) 3.数据分发 服务A调用BCD,当B下线,E上线需该代码 常见的消息中间件: ActiveMQ是Apache出品,比较老的一个开源的消息中间件,以前在中小企业应用广泛. Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 RabbitMQ 是一个基于Erlang 语言开发的消息中间件, RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。对数据的一致性,稳定性和可靠性要求比较高的场景 RocketMQ 是阿里巴巴在 2012 年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于 2017 年 9 月 25 日成为 Apache 的顶级项目。目前 RocketMQ 在阿里集团被广泛应用在订单,交易,充值,流计算,消息推送,日志流式处理, binlog 分发等场景。
点赞 评论

相关推荐

Asp1rin:这邮件写的还不够清楚吗
点赞 评论 收藏
分享
牛客网
牛客企业服务