一、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对于想要在微服务领域发展的IT专业人员来说至关重要。通过深入学习并熟练运用这些技术,可以提升个人在面试中的竞争力,为未来的职场发展奠定坚实基础。
在IT行业中,Spring Cloud Alibaba是一款备受推崇的微服务框架,它为开发者提供了构建分布式系统的一系列工具和服务。这个“springcloudalibaba微服务dubbo+sentinel+gateway+zookeeper+nacos的demo”压缩包文件,...
循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码 一、Spring Boot教程 开启Spring Boot Spring Boot基础配置 Spring Boot中使用...
【描述】"springcloud+skywalkingdemo.zip" 的描述虽然简洁,但暗示了这是一个用于学习或演示目的的项目,可能包含了完整的代码结构、配置文件以及必要的文档,帮助开发者理解如何在Spring Cloud应用中集成...
SpringCloud是微服务架构中的一个核心框架,它提供了一套完整的解决方案,用于构建分布式系统,如服务发现、...通过学习和理解这个项目,开发者可以更深入地掌握SpringCloud的使用,并将其应用于实际的微服务项目中。
### Spring Cloud系统学习知识点概述 #### 一、微服务架构概览 1. **单体架构是什么** - 单体架构是指将整个应用程序构建为单一的、不可分割的单元,这种架构下所有的业务逻辑、服务功能都在一个进程中运行。 2....
【标题】"基于SpringCloud Alibaba Dubbo解决方案的新闻社区系统"是将SpringBoot、Dubbo和MySQL集成构建的新闻社区应用。这个系统充分利用了微服务架构的优势,通过Dubbo实现服务化,SpringBoot简化了应用的开发和...
### Spring Cloud Alibaba(基础) 学习笔记 #### 微服务概述及发展历程 微服务架构是一种将单一应用程序开发为一组小服务的方法,每个服务运行在其独立的进程中,并使用轻量级机制(通常是HTTP资源API)进行通信...
在Tedu5阶段的学习过程中,关于Spring Cloud Alibaba的入门课程中提到了一系列针对`business order cart stock`四个模块的操作,具体包括: 1. **删除Module** - 首先,在IDEA(集成开发环境)中删除相应的Maven...
这个微服务商城系统不仅展示了Spring Boot和Dubbo的联合使用,还可能涵盖了分布式缓存(如Redis)、消息队列(如RabbitMQ或Kafka)、API Gateway(如Zuul或Spring Cloud Gateway)等组件,以实现高效的微服务架构。...
Spring Cloud Alibaba是阿里巴巴提供的微服务解决方案,它包含了众多子项目,如Nacos(服务发现与配置管理)、Dubbo(高性能RPC框架)、Sentinel(流量控制与熔断器)、Seata(分布式事务解决方案)等。这些组件的...
SpringCloud Alibaba是阿里巴巴提供的微服务解决方案,它包含了众多为企业级分布式应用服务设计的开源项目,如Nacos(服务发现与配置管理)、Dubbo(高性能RPC框架)、Sentinel(流量控制与熔断降级)、Seata...
【标题】"dubbo入门示例,普通Java进程,不使用spring boot cloud" 【描述】这篇博客文章提供了关于如何在不使用Spring Boot Cloud的情况下,基于Java简单进程搭建Dubbo入门应用的详细步骤。Dubbo是一个高性能、轻...
#### 七、Dubbo与Spring Cloud的比较 1. **生态体系**:Spring Cloud拥有更加完整的生态体系,涵盖了微服务的各个领域;而Dubbo则专注于RPC框架本身,但在国内有更广泛的用户基础。 2. **编程模型**:Dubbo采用面向...
- **与Spring Cloud的比较**:Spring Cloud生态丰富,但学习曲线较陡;Dubbo更专注RPC,轻量化且性能优越。 - **与gRPC的比较**:gRPC基于HTTP/2,支持多语言,但Dubbo在Java领域有着深厚积累,社区支持强大。 5....
3. Spring Cloud:尽管标题中没有提到Spring Cloud,但考虑到这是一个分布式系统,Spring Cloud可能是用来进一步实现服务发现、配置中心、熔断机制等功能的工具。 4. RESTful API:系统可能采用了RESTful架构风格来...
结合Spring Boot或Spring Cloud,可以构建出完整的微服务体系。 五、未来展望 随着微服务架构的普及,Dubbo持续发展,其2.5.4版本的发布,进一步巩固了其在服务治理领域的地位。未来,Dubbo有望在云原生、容器化、...
**项目描述**:项目基于 SpringCloud Gateway + Nacos + Sentinel + OpenFeign 作为分布式系统架构,基于 Netty 实现高性能网络通信。主要功能有:一对一聊天以及群组聊天、好友管理、群组管理等。 项目独立完成,...
随着微服务、容器化、Serverless等技术的发展,Dubbo也在不断演进,比如 Dubbo 3.0 引入了Spring Cloud生态的兼容,进一步提升了其在复杂分布式环境下的适应性。 总结,Dubbo作为一个成熟的分布式服务框架,对于...
【标题】"dubbo-springboot项目搭建"是关于如何集成和配置分布式服务框架Dubbo与微服务框架Spring Boot的教程。这个压缩包提供了一个简化的实现,旨在帮助初学者快速理解和搭建基于这两个技术的分布式项目,从而避免...