`

Dubbo&SpringCloud学习记要

阅读更多

一、Dubbo(http://dubbo.apache.org/

1.Dubbo工作原理:

1)service层:接口层,provider和consumer接口、实现自己做

2)config层:配置层

3)proxy层:服务代理层,无论provider和consumer都会生成代理、代理之间进行网络通信

4)registry层:服务注册层,负责服务的注册与发现

5)cluster层:集群层,封装多个服务提供者的路由以及负载均衡,将多个实例组合成一个服务

6)monitor层:监控层,对RPC接口的调用次数和调用时间进行监控

7)protocol层:远程调用层,封装RPC调用

8)exchange层:信息交换层,封装请求响应模式,同步转异步

9)transport层:网络传输层,抽象mina和netty为统一接口

10)serialize层:数据序列化层

 

注册中心挂了也能通信、因为本地有缓存

 

2.Dubbo支持哪些通信协议和序列化协议

通信协议:

默认:dubbo协议、单一长连接、NIO异步通信、hessian序列化协议,适用于传输数据量小(每次请求100KB以内)且并发高的场景;

其他:rmi协议、hessian协议、http协议、webservice

序列化协议:hessian(默认)、java二进制、json、soap

 

3.Dubbo支持哪些负载均衡、高可用以及动态代理的策略 

负载均衡策略:

默认:random loadbalance 随机,对provider实例设置不同的权重,按权重分配、权重越大流量越大;

roundrobin loadbalance 轮询

leastactive loadbalance 机器性能越差流量越小

consistenthash loadbalance 一致性hash策略 相同参数的请求一定分发到一个provider,provider挂掉时会基于虚拟节点均匀分配剩余流量

 

集群容错策略:

failover cluster(默认)、failfast cluster、failsave cluster、failback cluster、forking cluster、broadcast cluster

 

动态代理策略:

javassist动态字节码(默认)、其他可通过spi(service provider interface)扩展机制配置

 

4.基于Dubbo如何做服务治理、服务降级、失败重试、超时重试?

服务治理:调用链路自动生成

服务降级:mock机制

失败重试、超时重试:参数设置 

 

5.如何保证幂等性

 每个请求唯一标识、请求处理后的状态标识、请求处理前判断是否已处理过

 

6.如何保证顺序性

要保证顺序的请求分发到同一台机器+内存队列;百分百保证:分布式锁(开销较高)

 

二、Spring Cloud(https://spring.io/projects/spring-cloud

1.核心架构

Eureka 服务注册中心

Feign 服务调用

Ribbon 负载均衡

Zuul/Spring Cloud Gateway 网关

 

 ——来源于石杉码农学院

 

分享到:
评论

相关推荐

    面试专题-面试人员必看-微服务架构面试专题系列:Dubbo+Spring Boot+Spring Cloud.rar

    总之,理解和掌握Dubbo、Spring Boot和Spring Cloud对于想要在微服务领域发展的IT专业人员来说至关重要。通过深入学习并熟练运用这些技术,可以提升个人在面试中的竞争力,为未来的职场发展奠定坚实基础。

    springcloudalibaba微服务dubbo+sentinel+gateway+zookeeper+nacos的demo

    在IT行业中,Spring Cloud Alibaba是一款备受推崇的微服务框架,它为开发者提供了构建分布式系统的一系列工具和服务。这个“springcloudalibaba微服务dubbo+sentinel+gateway+zookeeper+nacos的demo”压缩包文件,...

    SpringAll_wuyouzhuguli.tar.gz

    循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码 一、Spring Boot教程 开启Spring Boot Spring Boot基础配置 Spring Boot中使用...

    springcloud+skywalkingdemo.zip

    【描述】"springcloud+skywalkingdemo.zip" 的描述虽然简洁,但暗示了这是一个用于学习或演示目的的项目,可能包含了完整的代码结构、配置文件以及必要的文档,帮助开发者理解如何在Spring Cloud应用中集成...

    springcloud提供者demo

    SpringCloud是微服务架构中的一个核心框架,它提供了一套完整的解决方案,用于构建分布式系统,如服务发现、...通过学习和理解这个项目,开发者可以更深入地掌握SpringCloud的使用,并将其应用于实际的微服务项目中。

    springCloud系统学习

    ### Spring Cloud系统学习知识点概述 #### 一、微服务架构概览 1. **单体架构是什么** - 单体架构是指将整个应用程序构建为单一的、不可分割的单元,这种架构下所有的业务逻辑、服务功能都在一个进程中运行。 2....

    基于SpringCloud Alibaba Dubbo解决方案的新闻社区系统.zip

    【标题】"基于SpringCloud Alibaba Dubbo解决方案的新闻社区系统"是将SpringBoot、Dubbo和MySQL集成构建的新闻社区应用。这个系统充分利用了微服务架构的优势,通过Dubbo实现服务化,SpringBoot简化了应用的开发和...

    Spring Cloud Alibaba(基础) 学习笔记

    ### Spring Cloud Alibaba(基础) 学习笔记 #### 微服务概述及发展历程 微服务架构是一种将单一应用程序开发为一组小服务的方法,每个服务运行在其独立的进程中,并使用轻量级机制(通常是HTTP资源API)进行通信...

    Tedu5阶段Spring Cloud Alibaba入门

    在Tedu5阶段的学习过程中,关于Spring Cloud Alibaba的入门课程中提到了一系列针对`business order cart stock`四个模块的操作,具体包括: 1. **删除Module** - 首先,在IDEA(集成开发环境)中删除相应的Maven...

    基于Spring Boot +Dubbo微服务商城系统.zip

    这个微服务商城系统不仅展示了Spring Boot和Dubbo的联合使用,还可能涵盖了分布式缓存(如Redis)、消息队列(如RabbitMQ或Kafka)、API Gateway(如Zuul或Spring Cloud Gateway)等组件,以实现高效的微服务架构。...

    spring cloud alibaba 搭建的小型微服务手机壳销售管理系统,毕业设计

    Spring Cloud Alibaba是阿里巴巴提供的微服务解决方案,它包含了众多子项目,如Nacos(服务发现与配置管理)、Dubbo(高性能RPC框架)、Sentinel(流量控制与熔断器)、Seata(分布式事务解决方案)等。这些组件的...

    四川轻化工大学本科毕业设计,基于SpringCloud Alibaba。.zip

    SpringCloud Alibaba是阿里巴巴提供的微服务解决方案,它包含了众多为企业级分布式应用服务设计的开源项目,如Nacos(服务发现与配置管理)、Dubbo(高性能RPC框架)、Sentinel(流量控制与熔断降级)、Seata...

    dubbo入门示例,普通Java进程,不使用spring boot cloud

    【标题】"dubbo入门示例,普通Java进程,不使用spring boot cloud" 【描述】这篇博客文章提供了关于如何在不使用Spring Boot Cloud的情况下,基于Java简单进程搭建Dubbo入门应用的详细步骤。Dubbo是一个高性能、轻...

    dubbo学习视频

    #### 七、Dubbo与Spring Cloud的比较 1. **生态体系**:Spring Cloud拥有更加完整的生态体系,涵盖了微服务的各个领域;而Dubbo则专注于RPC框架本身,但在国内有更广泛的用户基础。 2. **编程模型**:Dubbo采用面向...

    alibaba dubbo 2.6.0.zip

    - **与Spring Cloud的比较**:Spring Cloud生态丰富,但学习曲线较陡;Dubbo更专注RPC,轻量化且性能优越。 - **与gRPC的比较**:gRPC基于HTTP/2,支持多语言,但Dubbo在Java领域有着深厚积累,社区支持强大。 5....

    商城项目的主体 分布式系统 ssm+dubbo

    3. Spring Cloud:尽管标题中没有提到Spring Cloud,但考虑到这是一个分布式系统,Spring Cloud可能是用来进一步实现服务发现、配置中心、熔断机制等功能的工具。 4. RESTful API:系统可能采用了RESTful架构风格来...

    dubbo—2.5.4

    结合Spring Boot或Spring Cloud,可以构建出完整的微服务体系。 五、未来展望 随着微服务架构的普及,Dubbo持续发展,其2.5.4版本的发布,进一步巩固了其在服务治理领域的地位。未来,Dubbo有望在云原生、容器化、...

    基于springcloud+Netty+MQ+mysql的分布式即时聊天系统源码+数据库+项目说明.zip

    **项目描述**:项目基于 SpringCloud Gateway + Nacos + Sentinel + OpenFeign 作为分布式系统架构,基于 Netty 实现高性能网络通信。主要功能有:一对一聊天以及群组聊天、好友管理、群组管理等。 项目独立完成,...

    dubbo-learn:dubbo学习记录

    随着微服务、容器化、Serverless等技术的发展,Dubbo也在不断演进,比如 Dubbo 3.0 引入了Spring Cloud生态的兼容,进一步提升了其在复杂分布式环境下的适应性。 总结,Dubbo作为一个成熟的分布式服务框架,对于...

    dubbo-springboot项目搭建.zip

    【标题】"dubbo-springboot项目搭建"是关于如何集成和配置分布式服务框架Dubbo与微服务框架Spring Boot的教程。这个压缩包提供了一个简化的实现,旨在帮助初学者快速理解和搭建基于这两个技术的分布式项目,从而避免...

Global site tag (gtag.js) - Google Analytics