博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dubbo整理
阅读量:2339 次
发布时间:2019-05-10

本文共 2095 字,大约阅读时间需要 6 分钟。

Dubbo整理

Dubbo底层是使用netty这样的NIO框架,是基于tcp协议传输,配合以hessian序列化完成rpc通信

一、什么是Dubbo是什么?

Dubbo是一个分布式、高性能的rpc框架。Rpc值远程调用协议,也就是两个服务器交互数据。

二、Dubbo的由来

单一应用框架:网站流量很小时,只需要一个应用,将所有功能都部署在一起即可。

垂直应用架构:访问量逐渐增大,单一应用按照业务拆分成多个应用以提升效率。此时用于加速前端页面开发的web框架是关键。

分布式服务框架:当垂直应用越来越多,应用之间交互不可避免,将核心业务抽离出来,作为独立的服务逐渐形成稳定的服务中心,使前端应用能更快的响应多变的市场需求。 此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

流动计算框架:当服务越来越多,容量的评估,小服务器资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。 此时,用于提高机器利用率的**资源调度和治理中心(soa)**是关键。

微服务架构:将一个个的小功能做成服务。用SpringCloud来进行统一管理。

三、Dubbo主要应用场景?

透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需要简单配置,没有任何api侵入。

软负载均衡及容错率机制,可以内网替代F5等硬件负载均衡器,降低成本。

注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务的提供者。

四、 dubbo的核心组件

Provider:暴露服务的服务提供方

Consumer:调用远程服务的服务消费方

Registry:服务注册与发现的注册中心

Monitor:统计服务的调用次数和调用时间的监控中心

Container:服务运行容器

五、dubbo服务注册与发现的流程

Provider绑定指定端口并启动服务

提供者连接注册中心,并发布本地ip、端口、应用信息和提供服务信息发送至注册中心存储。

Consumer订阅zookeeper注册中心

注册中心根据消费者所求服务信息匹配对应的提供者列表发送至consumer引用缓存。

Consumer在发起远程调用时,基于缓存的消费者列表选择其一发起调用。

Privider状态变更会实时通知注册中心,再由注册中心实时推送至consumer。

六、dubbo的架构设计?

服务接口层(service)

配置层(config)对外配置接口

服务代理层(proxy)

服务注册层(register)

集群层(cluster)

监控层(monitor)

远程调用层(protocol)

信息交换层(exchange)

网络传输层(transport)

七、dubbo推荐用什么协议?

Dubbo协议

八、Dubbo有哪些注册中心

Zookeeper注册中心

Multicas注册中心

Redis注册中心

Simple注册中心

九、dubbo服务治理?

十、dubbo的注册中心集群挂掉,发布者和订阅者之间还能通信吗?

可以,dubbo启动时,消费者会从zookeeper拉取注册的生产值地址和接口等数据,缓存在本地,每次调用时,按照本地存储的地址进行调用。

十一、dubbo和spring的关系

Dubbo采用全spring配置方式,透明化接入应用,对应用没有任何api侵入,只需要spring加载dubbo配置即可,dubbo基于spring的schema扩展进行加载。

十二、dubbo使用的是什么通信框架

默认NIO netty框架

十三、dubbo集群提供了哪些负载均衡策略:

RandomRobin loadBalance:随机选取提供者策略,有利于动态调整提供者权重,界面碰撞率高,调用次数越多,分布越均匀。

RoundRobin loadBalance:轮询选取提供者策略,平均分布,但是存在请求累积的问题。

leastActive LoadBalance:最少活跃调用策略,解决慢提供者接受更少的请求

constantHash LoadBalance:一致性hash策略,使相同参数请求总是发到统一提供者,一台机器宕机,可以基于虚拟节点,分摊至其他提供者,避免引起提供者的剧烈变动。

缺省时为random随机调用。

十四、dubbo集群容错方案有哪些

Failover cluster:失败自动切换,当出现失败,重试其他服务器通常用于读操作,但重试会带来更长迟延。

十五、dubbo支持哪些序列化方式

默认使用Hession序列化,还有dubbo、fastjson、java自带序列化

十六、 dubbo调用超时问题怎么解决?

Dubbo在调用服务不成功时,默认会重试两次。

十七、除了Dubbo还有哪些分布式框架

Spring cloud

十八、dubbo和spring cloud的关系

Dubbo是soa时代产物,它的关注点主要在于服务的调用,流量分发,流量监控和熔断。

spring cloud诞生微服务架构时代,考虑的是微服务治理的方方面面,是一个生态

转载地址:http://mugpb.baihongyu.com/

你可能感兴趣的文章
C++和C在linux下编程和与在WINDOWS下有什么区别
查看>>
CSS 的优先级机制[总结]
查看>>
linux shell 数组建立及使用技巧
查看>>
IEnumerator 协程 全称协同程序
查看>>
java实现冒泡排序
查看>>
spring boot 初试,springboot入门,springboot helloworld例子
查看>>
Spring中配置和读取多个Properties文件--转
查看>>
使用JNI进行Java与C/C++语言混合编程(1)--在Java中调用C/C++本地库
查看>>
Mac 终端命令连接mysql
查看>>
Lua中的数学库
查看>>
多态小结
查看>>
Java连MySQL的驱动mysql-connector-java-5.1.21-bin.jar的安装方法
查看>>
java基础小结
查看>>
线程概念及死锁的理解
查看>>
数据结构之红黑树
查看>>
android学习之——界面 控件 体系 布局
查看>>
Eclipse开发Android程序在手机上运行
查看>>
ListView深入理解
查看>>
Activity的四种launchMode
查看>>
java面试题(7.22)
查看>>