
Dubbo
Geffin
欲戴王冠,必承其重
展开
-
通俗易懂的 Dubbo 教程(十):集群容错
文章目录前言内置容错策略Failover(失败自动切换)Failsafe(失败安全)Failfast(快速失败)Failback(失败自动恢复)Forking(并行调用)Broadcast(广播调用)集成断路器 Hystrix服务降级与服务熔断的区别前言在分布式系统中,集群中的一些节点出现问题并不是什么稀奇的事情,所以我们在设计分布式 RPC 框架的时候,应该重点考虑失败问题。在调用失败之后,...原创 2020-05-12 18:04:45 · 541 阅读 · 0 评论 -
通俗易懂的 Dubbo 教程(九):服务降级
文章目录什么是服务降级?如何实现服务降级测试进阶什么是服务降级?当服务器压力比较大的时候,我们可以通过服务降级,屏蔽掉一些非关键服务,给它们定义一个降级后的返回策略,从而降低核心业务的压力。通俗的说,服务降级就是在远程调用失败(例如超时)之后,直接采用降级措施,返回一个我们已经定义好的提示。例如,在12306抢票高峰时,明明票还有,但查询列表总是空的,过了高峰之后再次查询,又会恢复正常,这可...原创 2020-05-12 18:03:10 · 648 阅读 · 0 评论 -
通俗易懂的 Dubbo 教程(八):负载均衡
文章目录前言四种负载均衡策略随机负载均衡轮询负载均衡最少活跃调用数负载均衡一致性哈希负载均衡配置实现前言Dubbo 是一个分布式服务框架,一个服务可能会部署多个实例,我们应该如何从多个服务提供者组成的集群挑选一个进行调用呢?这就涉及到一个负载均衡的问题。四种负载均衡策略Dubbo 内置了四种负载均衡策略,分别如下:RandomLoadBalance:随机负载均衡RoundRobinL...原创 2020-05-08 23:29:25 · 540 阅读 · 3 评论 -
通俗易懂的 Dubbo 教程(七):Dubbo 的高可用:zookeeper 宕机与 Dubbo 直连
文章目录zookeeper 宕机原理测试Dubbo 直连什么是 Dubbo 直连?实现测试zookeeper 宕机原理之前,我们一直使用 zookeeper 作为 Dubbo 的注册中心来使用,那么如果 zookeeper 宕机,会有什么后果呢?其实,就算 zookeeper 宕机,我们依然可以消费 Dubbo 暴露的服务。为什么呢?其实这是因为在注册中心宕机之后,服务提供者和服务消费者...原创 2020-05-08 23:26:47 · 647 阅读 · 2 评论 -
通俗易懂的 Dubbo 教程(六):多版本
什么是多版本当一个接口的实现出现不兼容升级时,我们可以用版本号过渡,版本号不同的服务相互间不引用。那么我们应该如何进行版本迁移呢?我们可以采取以下步骤:在低压力时间段,先升级一半提供者为新版本再将所有消费者升级为新版本然后将剩下的一半提供者升级为新版本我们可以利用 Dubbo 的多版本实现灰度发布。实现我们在服务提供者中为当前服务指定一个版本号,例如在下面的例子中我们指定版本号...原创 2020-04-28 13:15:23 · 599 阅读 · 0 评论 -
通俗易懂的 Dubbo 教程(五):Dubbo 的重试机制与本地存根
重试什么是重试重试就是在调用失败时,会再次调用,如果在配置的调用次数内都失败,则认为此次请求异常,抛出异常。Dubbo 在调用服务失败后,会默认重试两次。Dubbo 的路由机制确保会将超时的请求路由到其他机器上,而不是本机重试,所以 Dubbo 的重试机制也能一定程度的保证服务的质量。测试我们先将服务提供者修改一下,故意让其超时,然后运行 producer 和 consumer 两个模块...原创 2020-04-26 22:16:56 · 1772 阅读 · 2 评论 -
通俗易懂的 Dubbo 教程(四):超时
文章目录问题引入测试超时针对提供者还是针对消费者超时需要在哪里设置?超时设置的优先级问题引入有时远程调用的服务执行时间太慢,消费端不想等待,这该怎么办?没事,Dubbo 给我们提供了一个超时机制,超过指定的时间,直接返回一个超时异常即可。测试下面我们来测试一下,在提供者中我们让其睡眠两秒再返回,消费者一切设置正常。@Component@Servicepublic class Name...原创 2020-04-24 21:58:23 · 500 阅读 · 0 评论 -
通俗易懂的 Dubbo 教程(三):属性加载顺序与启动时检查
文章目录前言属性加载顺序覆盖策略总结配置方式启动时检查什么是启动时检查测试前言本文将介绍 Dubbo 的两个重要功能:属性加载顺序与启动时检查。属性加载顺序覆盖策略在应用启动阶段,Dubbo 会如何读取配置呢?举个例子,我们知道 Dubbo 支持多层级的配置,并会按预定优先级自动实现配置间的覆盖,那么假如我们在通过虚拟机参数对 Dubbo 进行配置的同时,又通过本地配置文件 dubbo....原创 2020-04-22 12:45:10 · 579 阅读 · 0 评论 -
通俗易懂的 Dubbo 教程(二):Dubbo 与 Spring Boot 的整合
文章目录准备搭建项目api 模块的实现producer 模块的实现consumer 模块的实现测试准备首先我们需要搭建 zookeeper 环境以及搭建好 Dubbo 管理平台 dubbo-admin,由于这个不是本文的重点,在这里直接略过,需要了解细节的读者可以查阅相关资料。搭建项目我们创建一个项目名为 dubbo-test 的 Spring Boot 项目,然后在项目中新建三个模块,分...原创 2020-04-22 11:13:01 · 755 阅读 · 1 评论 -
通俗易懂的 Dubbo 教程(一):什么是 Dubbo?
以下大部分内容来自 Dubbo 官方文档,文档地址为 用户文档1 什么是 Dubbo?工欲善其事必先利其器,那么到底什么是 Dubbo 呢,我们需要给它下一个定义。Dubbo 是一个开源分布式服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。Dubbo是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接...原创 2020-04-21 17:34:37 · 626 阅读 · 0 评论