初识Dubbo
核心部分包括: 1、远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 2、集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 3、自动发现: 基于...
2024-01-10dubbo
dubbo是一个分布式服务框架,致力于提高性能和透明化远程RPC远程服务调用方案。SOA服务治理方案(自行百度)。dubbo能做什么?透明化的远程方法调用。软负载均衡及容错机制。服务自动注册于发现,注册中心基于接口名查询服务提供者ip。dubbo服务之间通讯协议有哪些?第一:dubbo协议dubbo缺省...
2024-01-10Dubbo 部署
zookeeper 安装下载 zookeeper 安装包:wget http://apache.fayea.com/zookeeper/current/zookeeper-3.4.6.tar.gz解压到 zookeeper 目录下,拷贝 zoo_sample.cfg 并重命名为 zoo.cfg,修改配置文件 zoo.cfg(单机模式):# The number of milliseconds of each ticktickTime=2000# The number of ticks that the in...
2024-01-10Dubbo源码分析
1.原理我在上一篇文章中分析了 Dubbo 的 SPI 机制,Dubbo SPI 是 Dubbo 框架的核心。Dubbo 中的很多拓展都是通过 SPI 机制进行加载的,比如 Protocol、Cluster、LoadBalance 等。有时,有些拓展并非想在框架启动阶段被加载,而是希望在拓展方法被调用时,根据运行时参数进行加载。这听起来有些矛盾。拓展未被加...
2024-01-10浅入浅出Dubbo
前言接下来一段时间敖丙将带大家开启紧张刺激的 Dubbo 之旅!是的要开始写 Dubbo 系列的文章了,之前我已经写过一篇架构演进的文章,也说明了微服务的普及化以及重要性,服务化场景下随之而来的就是服务之间的通信问题,那服务间的通信脑海中想到的就是 RPC,说到 RPC 就离不开咱们的 Dubbo。这...
2024-01-10dubbo开发
dubbo.admin部署解压后,放在tomcat/webapp/目录下直接运行。 这里tomcat是9090端口,访问http://127.0.0.1:9090/dubbo-admin-2.5.6/,会出现身份验证登录窗口。在WEB-INF目录下,查看dubbo.properties文件,可看到用户名密码配置以及zookeeper注册地址信息 dubbo.registry.address=zookeeper://127.0.0.1:2181 dubbo.admin.root.password=root d...
2024-01-10Dubbo常见面试题
前言Dubbo 整体介绍的差不多了,今天就开始面试环节了,我会列举一些常见的 Dubbo 面试题,只会抓着重的,一些太简单的我就不提了。不仅仅给你面试题的答案,也会剖析面试官问这个问题的原因,也就是他的内心活动。想从你这里问出什么?想要什么答案?想挖什么坑给你跳?开始表演知道什么...
2024-01-10Dubbo路由机制概述
上一节我们主要讲解了利用dubbo-admin如何进行参数的动态修改,本节将重点介绍集群实现中另外一个实现细节:路由机制,Dubbo的路由机制主要解决的目的就是服务调用时,从已知的所有服务提供者中根据路由规则刷选服务提供者。1、Dubbo路由机制概述以下内容来源于官方文档:以上是Dubbo 路由机...
2024-01-10dubbo架构图
节点角色说明节点角色说明Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务的调用次数和调用时间的监控中心 Container 服务运行容器 调用关系说明服务容器负责启动,加载...
2024-01-10dubbo知识点
Dubbo在spring中的启动加载过程在spring启动过程中,通过applicationContext去扫描配置项,扫描到Dubbo.xml,这个时候的dubbo就会初始化成一个bean对象,和其他bean本身没有区别,并且此时的dubbo还没有注册到注册中心暴露出去,只是一个最普通的bean存在而一切顺利完成后,接下来就是暴露的过程。会调用bean...
2024-01-10Dubbo路由机制的实现
Dubbo 路由机制是在服务间的调用时,通过将服务提供者按照设定的路由规则来决定调用哪一个具体的服务。路由服务结构Dubbo 实现路由都是通过实现 RouterFactory 接口。当前版本 dubbo-2.7.5 实现该接口类如下:路由实现工厂类是在 router 包下由于 RouterFactory 是 SPI 接口,同时在获取路由 RouterFactory#getRouter...
2024-01-10Dubbo之服务消费原理
前言上篇文章《Dubbo之服务暴露》分析 Dubbo 服务是如何暴露的,本文接着分析 Dubbo 服务的消费流程。主要从以下几个方面进行分析:注册中心的暴露;通过注册中心进行服务消费通知;直连服务进行消费。 服务消费端启动时,将自身的信息注册到注册中心的目录,同时还订阅服务提供方的目录,当服...
2024-01-10Dubbo分析之心跳设计
前言谈到RPC肯定绕不开TCP通信,而主流的RPC框架都依赖于Netty等通信框架,这时候我们还要考虑是使用长连接还是短连接:短连接:每次通信结束后关闭连接,下次通信需要重新创建连接;优点就是无需管理连接,无需保活连接;长连接:每次通信结束不关闭连接,连接可以复用,保证了性能;缺...
2024-01-10Dubbo负载均衡的实现
前言负载均衡是指在集群中,将多个数据请求分散在不同单元上进行执行,主要为了提高系统容错能力和加强系统对数据的处理能力。在 Dubbo 中,一次服务的调用就是对所有实体域 Invoker 的一次筛选过滤,最终选定具体调用的 Invoker。首先在 Directory 中获取全部 Invoker 列表,通过路由筛选出符合规则...
2024-01-10dubbo入门示例
本文内容纲要:dubbo入门示例本文主要介绍阿里dubbo的基本使用,关于dubbo的相关基础概念请自行参考dubbo官网:http://www.dubbo.iodubbo是一个服务治理的框架,在如今大规模的分布式应用和SOA架构中,服务治理的问题显的尤为的重要。以我个人使用dubbo的场景来总结,dubbo主要解决如下问题: 1.项目服...
2024-01-10源码分析Dubbo负载算法
Dubbo支持在服务调用方对服务提供者采用负载均衡算法,LoadBalance 接口定义如下:@SPI(RandomLoadBalance.NAME)public interface LoadBalance { /** * select one invoker in list. * * @param invokers invokers. * @param url refer url * @param invocation invocation. * @return selected invok...
2024-01-10dubbo理解(一)
1. rpc调用需要定制开发,很多额外的工作量2. 分布式服务中,服务达到几百上千时,相互之间的调用错综复杂,相互依赖严重3. 对集群性的服务,需要负载策略4. 对集群性的服务,需要能动态扩展节点dubbo介绍:1. 一个分布式、高性能、透明化的RPC服务框架。2. 提供服务自动注册、自动发现等高效...
2024-01-10dubbo理解(三)
上图:DubboNamespaceHandler:spring标签入口DubboBeanDefinitionParser:解析属性ServiceBean和ReferenceBean:bean对象protocol:协议创建中转对象refprotocol:协议创建代理对象服务端初始化:DubboNamespaceHandler.init() —> ServiceBean.afterPropertiesSet() —> export() —>super.export() —>ServiceConfig.exp...
2024-01-10说一下Dubbo的工作原理?
面试题说一下的 dubbo 的工作原理?注册中心挂了可以继续通信吗?说说一次 rpc 请求的流程?面试官心理分析MQ、ES、Redis、Dubbo,上来先问你一些思考性的问题、原理,比如 kafka 高可用架构原理、es 分布式架构原理、redis 线程模型原理、Dubbo 工作原理;之后就是生产环境里可能会碰到的一些问题,...
2024-01-10Dubbo源码解读——过滤器
Dubbo源码解读——过滤器目录Dubbo源码解读——过滤器 1、Dubbo过滤器整体结构 2、Dubbo过滤器的使用 3、过滤器链 4、记录的知识点1、Dubbo过滤器整体结构 dubbo主要过滤器在dubbo-rpc下的dubbo-rpc-api模块。 总体结构:, 2、Dubbo过滤器的使用 使用@Activate注解默认启用 消费方可以配置...
2024-01-10Dubbo支持哪些序列化协议?
面试题dubbo 支持哪些通信协议?支持哪些序列化协议?说一下 Hessian 的数据结构?PB 知道吗?为什么 PB 的效率是最高的?面试官心理分析上一个问题,说说 dubbo 的基本工作原理,那是你必须知道的,至少要知道 dubbo 分成哪些层,然后平时怎么发起 rpc 请求的,注册、发现、调用,这些是基本的。...
2024-01-10【Java】Dubbo思维导图
常见相关问题Dubbo集群的负载均衡有哪些策略Random LoadBalance: 随机选取提供者策略,有利于动态调整提供者权重。截面碰撞率高,调用次数越多,分布越均匀;RoundRobin LoadBalance: 轮循选取提供者策略,平均分布,但是存在请求累积的问题;LeastActive LoadBalance: 最少活跃调用策略,解决慢提供者接收更...
2024-01-10dubbo生成的代理类
原类 实现类 @Service public class DemoServiceImpl implements DemoService { private static final Logger logger = LoggerFactory.getLogger(DemoServiceImpl.class);@Overridepublic String sayHello(String name) { logger.info("Hello " + name + ", request from consu...
2024-01-10如何基于Dubbo进行服务治理?
面试题如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?面试官心理分析服务治理,这个问题如果问你,其实就是看看你有没有服务治理的思想,因为这个是做过复杂微服务的人肯定会遇到的一个问题。服务降级,这个是涉及到复杂分布式系统中必备的一个话题,因为分布式系统...
2024-01-10Dubbo进阶(十二):负载均衡
首先我们依然再看一遍Dubbo调用的流程本文主要讲解负载均衡的相关知识。Dubbo中实现了五种负载均衡的算法,先看一下UML图。接下来我们可以通过下面这个表格大概了解一下每种负载均衡的特点。算法名称特点说明RandomLoadBalance(加权随机算法)随机,按照权重设置随机概率。在一个截面上...
2024-01-10