
Dubbo
Dubbo学习笔记整理
占星安啦
积累开发技术的点点滴滴,每周进步一点点就好
展开
-
Dubbo搭建
1.Dubbo架构图1.1 Provider :提供者,服务发布方.1.2 Consumer:消费者, 调用服务方1.3 Container:Dubbo容器.依赖于Spring容器.1.4 Registry: 注册中心.当Container启动时把所有可以提供的服务列表上Registry中进行注册.1.4.1 作用:告诉Consumer提供了什么服务和服务方在哪里.1.5 Monit...原创 2019-01-11 09:49:48 · 200 阅读 · 0 评论 -
Dubbo笔记13——仅订阅,仅注册
1.仅订阅对于某服务来说,其可以发现和调用注册中心中的其它服务,但不能被其它服务发现和调用,这种情形称为仅订阅。简单说就是,仅可去发现,但不能被发现。其底层的实现是,当前服务可以从注册中心下载注册列表,但其不会将自己的信息写入到注册列表<dubbo:registry address="127.0.0.1:8081" register="false"/>2.仅注册对于某...原创 2019-11-07 17:57:10 · 634 阅读 · 0 评论 -
Dubbo笔记12——服务限流
1. executes 限流 – 仅提供者端该属性仅能设置在提供者端。可以设置为接口级别,也可以设置为方法级别。限制的是服务(方法)并发执行数量。 <dubbo:service interface="com.abc.service.SomeService" ref="someService" executes="10"/> <dubbo:serv...原创 2019-11-07 17:56:34 · 663 阅读 · 0 评论 -
Dubbo笔记11——服务降级
1.服务降级方式能够实现服务降级方式很多,常见的有如下几种情况:部分服务暂停全部服务暂停随机拒绝服务部分服务延迟2.dubbo服务降级Dubbo的服务降级采用的是mock机制。mock只在出现非业务异常(比如超时,网络异常等)时执行。mock配置在调用方,服务降级不需要对服务方配置产生修改。mock的配置支持两种:一种为boolean值,默认的为false。如果配置为t...原创 2019-11-05 19:41:19 · 512 阅读 · 0 评论 -
Dubbo笔记10——集群容错
集群容错指的是,当消费者调用提供者集群时发生异常的处理方案。1.Dubbo内置6中容错策略1.1 Failover 故障转移策略当消费者调用提供者集群中的某个服务器失败时,其会自动尝试着调用其它服务器。该策略通常用于读操作,例如,消费者要通过提供者从 DB 中读取某数据。但重试会带来服务延迟。1.2 Failfast 快速失败策略消费者端只发起一次调用,若失败则立即报错。通常用于...原创 2019-11-05 19:40:20 · 501 阅读 · 0 评论 -
Dubbo笔记9——负载均衡
1.负载均衡算法Dubbo 内置了四种负载均衡算法。1.1 Random LoadBalance 随机算法按权重设置随机概率, Dubbo的默认负载均衡策略。在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。。1.2 RoundRobin LoadBalance 轮循按公约后的权重设置轮循比率。存在慢的提供者累积请求问题,比如...原创 2019-11-04 19:24:31 · 390 阅读 · 0 评论 -
Dubbo笔记8——多协议支持
除了 Dubbo 服务暴露协议 Dubbo 协议外,Dubbo 框架还支持另外 8 种服务暴露协议:RMI 协议、Hessian 协议、HTTP 协议、WebService 协议、Thrift 协议、Memcached 协议、Redis协议、Rest 协议。但在实际生产中,使用最多的就是 Dubbo 服务暴露协议。1.各个协议的特点小数据大并发使用 Dubbo,大数据小并发使用其它。(1...原创 2019-11-04 17:31:31 · 362 阅读 · 0 评论 -
Dubbo笔记7——多版本控制
当系统进行升级时,一般都是采用“灰度发布(又称为金丝雀发布)”过程。即在低压力时段,让部分消费者先调用新的提供者实现类,其余的仍然调用老的实现类,在新的实现类运行没有问题的情况下,逐步让所有消费者全部调用成新的实现类。多版本控制就是实现灰度发布的一、创建提供者04-provider-version(1) 创建工程创建Maven的工程。(2) 导入依赖Spring的版本为4.3.16需...转载 2019-11-04 17:30:55 · 328 阅读 · 0 评论 -
Dubbo笔记6——关闭服务检查
Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check=“true”。可以通过 check="false"关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。另外,如果你的 Spring 容器是懒加载的,或者通过 API 编程延迟引用服务,请关闭 check,否则服务临时不可用...原创 2019-11-04 17:28:55 · 1503 阅读 · 0 评论 -
Dubbo笔记5——dubbo搭建web项目
1.创建提供者 03-provider-web工程1.1创建工程创建 Maven 的 web 工程,使用公共接口服务创建一个实现package com.abc.provider;import com.abc.service.SomeService;public class SomeServiceImpl implements SomeService { @Override ...原创 2019-11-02 19:15:58 · 573 阅读 · 0 评论 -
Dubbo笔记4——Dubbo管理控制台
1.下载Dubbo 管理控制台的下载地址为:https://github.com/apache/incubator-dubbo-ops2.配置在下载的 zip 文件的解压目录的 dubbo-admin-server\src\main\resources 下,修改配置文件 application.properties。主要就是修改注册中心、配置中心,与元数据中心的 zk 地址这是一个 ...原创 2019-11-02 18:18:02 · 196 阅读 · 0 评论 -
Dubbo笔记3——Zookeeper注册中心
1.安装zookeeperhttps://blog.youkuaiyun.com/ring300/article/details/804469182.创建 提供者 02-provider-zk1.1 导入依赖复制前面的提供者工程 01-provider,并更名为 02-provider-zk。修改 pom 文件,并在其中导入 Zookeeper 客户端依赖 curator <!-- zk...原创 2019-10-29 17:54:40 · 180 阅读 · 0 评论 -
Dubbo笔记2——第一个 Dubbo程序
1.创建业务接口工程 00-api业务接口名即服务名称。无论是服务提供者向服务注册中心注册服务,还是服务消费者从注册中心索取服务,都是通过接口名称进行注册与查找的。即,提供者与消费者都依赖于业务接口。所以,一般情况下,会将业务接口专门定义为一个工程,让提供者与消费者依赖。1.1 创建 Maven 的 Java 工程创建一个 Maven 的 Java 工程,并命名为 00-api。1...原创 2019-10-29 15:07:32 · 162 阅读 · 0 评论 -
dubbo笔记1——系统容量预估基本计算
1.常用术语(1) 系统容量与系统容量预估系统容量指系统所能承受的最大访问量,而系统容量预估则是在峰值流量到达之前系统架构师所给出的若干技术指标值。(2) QPSQPS,Query Per Second,每秒查询量。在分布式系统中QPS的定义是,单个进程每秒请求服务器的成功次数QPS = 总请求数/进程总数/请求时间 = 总请求数/(进程总数*请求时间)(3) UVUnique ...原创 2019-10-22 11:04:07 · 1805 阅读 · 0 评论