`
jieke_ZJ
  • 浏览: 44774 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

dubbo和mq的使用场景

 
阅读更多
dubbo

1,rpc的分布式集群支持:负载均衡是对外提供一个公共地址,请求过来时通过轮询、随机的形式来分摊压力,挂一台补一台
2,结合zookeeper解藕:(提供者注册和消费者订阅)客户端和服务端启动的时候都会把自己的机器IP注册到zookeeper上。客户端会把zk上的服务端ip拉到磁盘上,并记录哪些ip提供哪些服务(服务端启动的时候暴露给zk)。
   然后调用的时候客户端会根据ip调用服务端的服务,这时候即使zk挂掉也没关系。
3:长连接通讯:nio通信抽象封装(暂时没接触)

可用场景:
1,商城做活动流量暴涨:防止系统崩掉 可以通过dubbo来控制访问量
2,分布式服务器rpc过程调用压力分担



mq的问题的起源:

对分布式系统研究的 CAP定律    分布式事务有强一致,弱一致,和最终一致性  只能同时满足2点,三者不能兼得

比如有订单,库存两个数据,一个下单过程简化为,加一个订单,减一个库存。 而订单和库存是独立的服务,那怎么保证数据一致性

保证两个远程调用“同时成功”,数据一致 当然失败和超时都有可能 ,一般的解决方案,大多数的做法是借助mq来做最终一致



mq一个点对点一个是分布式订阅:

mq的2个好处是:
1,消息不丢失:服务之间端掉消息会保存到mq中间件中,当消费者服务器恢复后就会重新发过去,消息不会丢失
2,异步处理:比如一个商城用户购买产品后后台会去更新数据库然后响应给客户端,如果在高并发的情况下,
这样更新数据库响应客户端会变慢,可以使用mq消息队列的消费者进程中获取数据来进行异步写数据,由于消息对垒的服务处理速度远快于数据库,
因此响应延迟能得到有效改善
分享到:
评论

相关推荐

    Springboot+Redis+Dubbo+Rocketmq

    这种架构模式广泛应用于电商平台、社交网络、金融服务等领域,能够有效地处理高并发场景,提高系统的可扩展性和可靠性。在whatsmars-master这个项目中,可能包含了如何整合这些技术并进行实践的代码示例和文档,对于...

    灰度系统(基于dubbo、spring扩展实现的接入层灰度、服务层灰度、mq灰度、外部调用灰度,支持多套灰度环境).zip

    在这个“灰度系统”中,基于dubbo和spring扩展的实现,我们可以看到一套完整的灰度测试解决方案,包括接入层灰度、服务层灰度、MQ(消息队列)灰度以及外部调用灰度,支持多套灰度环境。这样的系统设计有助于开发者...

    dubbo+zk+activemq

    在实际开发中,还需要考虑如何配置和优化这三个组件,以适应不同的业务场景和性能需求。例如,调整Dubbo的超时时间、重试次数,设置Zookeeper的数据持久化策略,以及在ActiveMQ中设置合适的队列大小和消息持久化策略...

    Dubbo视频教程--高可用架构篇

    2. "edu-demo-mqconsumer-A"和"edu-demo-mqconsumer-B":这可能是两个消费者服务实例,用于展示如何并行消费消息,可能涉及RabbitMQ或Kafka等消息中间件的集成,展示了Dubbo服务间的异步通信和解耦。 3. "edu-demo-...

    pinyougou-parent2:品优购项目源码,使用SSM + Dubbo + MQ + Maven Profile + Docker

    总结:这个“pinyougou-parent2”项目展示了现代互联网应用的典型技术栈,通过SSM实现业务逻辑,Dubbo构建微服务,MQ处理异步任务,Maven Profile管理和部署不同环境,而Docker确保了服务的快速部署和扩展。...

    dubbo 最新源码

    "dubbo简介及在消息系统中的应用.ppt"可能是一个关于Dubbo的介绍性演示文稿,涵盖了Dubbo的基本概念以及在消息系统中的应用场景,有助于理解Dubbo如何与其他组件集成,如消息队列(MQ)等。"Dubbo资料"可能是其他...

    开发过程组件及特性验证演示程序集锦,包括「从零开始自实现MQ」

    使用Dubbo,开发者可以构建微服务架构,实现服务间的通信和解耦。 MySQL是一个广泛使用的开源关系型数据库管理系统,以其稳定性和高性能而受到青睐。在SpringBoot应用中,我们可以使用SpringDataJPA或者MyBatis等库...

    activemq,dubbo,linux,redis,shiro,solr笔记整理+视频资源

    这六个技术在实际开发中经常结合使用,例如,Linux作为基础操作系统,Dubbo负责服务间通信,Redis提供缓存和快速数据访问,Solr处理全文搜索,Shiro管理用户安全,而ActiveMQ则作为消息队列确保任务的异步执行和解耦...

    基于Go实现的分布式MQ消息队列

    - **RPC同步调用**:如Facebook的Thrift、阿里的Dubbo、腾讯的TAF以及淘宝的HSF等框架,它们主要解决的是服务间的同步通信问题。然而,随着业务复杂度的提高,这种模式的缺点逐渐显现出来。 - **MQ异步通信**:采用...

    SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统.zip

    5. **消息队列**:`dis-seckill-mq`暗示了系统中使用了消息队列来处理秒杀请求。消息队列如RabbitMQ或Kafka可以缓解瞬时高并发带来的压力,避免数据库瞬间被大量请求冲垮,实现异步处理,提高系统响应速度。 6. **...

    【16】第2版:​大厂.rar

    - 分布式技术:Dubbo的原理和实践、消息队列的使用场景和实现机制、分布式缓存(如Redis)。 - 数据库:SQL优化、事务、索引、NoSQL数据库等。 - 网络协议:HTTP、TCP/IP、Socket编程。 - 架构设计:微服务设计原则...

    iBase4j快速开发框架

    5. Dubbo或MQ通信:iBase4J-SYS-Web和iBase4J-SYS-Service之间可以通过Dubbo或消息队列进行通信,实现服务间的解耦。 6. QQ/微信登录和App token登录:提供社交网络登录集成,增强用户体验。 7. 微信/支付宝支付:...

    高频的java面试题,java后端面试必备

    以下是一些基于"高频的java面试题,包括springboot、mysql、多线程、设计模式、dubbo、netty、ES、MQ中间件等"的详细知识点解析: 1. **Spring Boot**: - Spring Boot的核心特性,如自动配置、起步依赖、健康检查...

    zookeeper-3.4Windows版本

    在构建分布式大数据环境时,ZooKeeper是一个至关重要的组件,特别是在结合Dubbo、Kafka、Redis和MQ等技术时。ZooKeeper是由Apache软件基金会开发的一个开源项目,它是一个高可用的分布式协调服务,用于管理分布式...

    ZooKeeper应用场景

    1. **消息中间件中的负载均衡**:在消息中间件(如KafkaMQ或MetaQ)中,生产者和消费者之间需要进行有效的负载均衡。通过在ZooKeeper中注册服务实例信息,生产者可以根据这些信息选择合适的节点进行消息发布,而消费...

    互联网公司Java面试题及核心知识点

    使用场景及目标:本资源主要面向开发多线程应用和高并发应用的场景。无论你是要开发高性能的服务器端应用、分布式系统,还是要优化现有系统的并发性能,本资源都将为你提供实用的方法和技巧,帮助你解决常见的并发...

    spring cloud oauth2

    为了深入理解并应用这些技术,你需要熟悉 Spring Boot 和 Spring Cloud 框架的基础,了解 OAuth2 协议的工作流程,掌握如何配置和使用 Eureka、Gateway 和 Dubbo,同时要熟练运用 MyBatis 进行数据库操作,对 Redis ...

    2020年JavaEE全部面试题目.docx

    最后,消息队列MQ(如RabbitMQ或Kafka)在分布式系统中的角色及其配置、使用场景、消息确认机制等也是面试中的重要话题。理解这些中间件的工作原理和最佳实践,对于解决分布式环境下的问题至关重要。

    阿里巴巴中台技术架构实践与思考5 .pdf

    技术上,阿里巴巴采用了分布式基础框架,包括HSF(High Speed Service Framework)、Dubbo、MQ(Message Queue)等,这些工具和框架用于实现服务之间的高效通信和数据交换。分布式数据库如TDDL(Table Data Layer)...

    Java面试宝典.rar

    4. **Kafka**:Kafka是一款高吞吐量的分布式发布订阅消息系统,常用于大数据实时处理和流计算场景。它的核心特性包括持久化、分区和复制,确保数据的可靠传输。 5. **Linux**:作为最广泛使用的服务器操作系统之一...

Global site tag (gtag.js) - Google Analytics