————Dubbo
量变决定质变
牢记理想,毋忘奋斗!
展开
-
Dubbo架构演变
随着互联网的发展,网站应用的规模不断扩大 常规的垂直应用架构已经无法应对分布式服务架构、以及流动计算架构势在必行 急需一个治理系统,确保架构的演进 单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本ORM 用于简化增删改查工作流的,数据访问框架ORM是关键垂直应用架构当访问量逐渐增大,单一应用增加机器,带来的加速度越来越小...原创 2018-08-04 20:10:21 · 849 阅读 · 0 评论 -
Dubbo监控中心Windows安装
监控中心下载文件 Dubbo的GitHub上 Dubbo-monitor 打包 打包完成 target目录下 生成一个jar包 解压 下面的压缩包 复制出来 这个是简易的监控中心 打开conf 配置文件dubbo.properties 注册中心地址,不需要修改protocol,默认为7070 是其他服务,与监控中心的通信...原创 2018-09-05 23:41:10 · 992 阅读 · 0 评论 -
Dubbo监控中心配置
监控中心配置参考官网 http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-monitor.html 服务提供者配置标签<!-- 连接监控中心 --><dubbo:monitor protocol="registry"></dubbo:monitor>或者...原创 2018-09-05 23:42:58 · 363 阅读 · 0 评论 -
Dubbo生产者消费者配置
引入jar包生产者、消费者都需要引入jar包<!-- 引入dubbo --><dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6.2</ver原创 2018-09-05 23:44:28 · 4701 阅读 · 0 评论 -
Dubbo的Zookeeper版本
使用dubbo 需要引入相关jar包<!-- 引入dubbo --><!-- https://mvnrepository.com/artifact/com.alibaba/dubbo --><dependency> <groupId>com.alibaba</groupId> <artifactId>...原创 2018-09-05 23:46:11 · 6141 阅读 · 0 评论 -
Dubbo注解版配置
服务提供者配置文件<dubbo:application name="gmall-user"></dubbo:application><dubbo:registry address="zookeeper://118.24.44.169:2181" /><dubbo:protocol name="dubbo" port="2088原创 2018-09-05 23:48:58 · 2420 阅读 · 0 评论 -
Dubbo注册中心宕机
注册中心宕机高可用 通过设计,减少系统不能提供服务的时间zookeeper注册中心宕机 还可以消费dubbo暴露的服务健壮性监控中心宕掉 不影响使用,只是丢失部分采样数据数据库宕掉 注册中心,仍能通过缓存提供服务列表查询,但不能注册新服务注册中心 对等集群,任意一台宕掉,将自动切换到另一台注册中心 全部宕掉后,服务提供者和服务消费者,仍能通过本地缓存通讯...原创 2018-09-09 10:05:47 · 2139 阅读 · 0 评论 -
Dubbo权重配置
权重配置可以直接在服务提供者,配置权重 也可以在管控台,配置权重服务器提供者在暴露服务的时候,配置权重 缺点,这样写权重就固定了实际,都是动态的调整权重@Service(weight=50)//暴露服务 @Componentpublic class UserServiceImpl implements UserService { @HystrixComma...原创 2018-09-09 10:07:36 · 6672 阅读 · 0 评论 -
Dubbo负载均衡机制
负载均衡参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html 负载均衡机制Dubbo提供了四种负载均衡机制 默认为,random随机调用Random LoadBalance每次请求,根据权重随机发送 随机,按权重设置随机概率 在一个截面上碰撞的概率高,但调用量越大分布越均匀...原创 2018-09-09 10:11:38 · 1010 阅读 · 0 评论 -
Dubbo负载均衡配置
负载均衡默认随机调用,random 可以配置负载均衡机制参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html配置方式可以在服务级别配置 也可以在方法级别配置服务级别服务端服务级别<dubbo:service interface="..." loadbalance="...原创 2018-09-09 10:13:00 · 4983 阅读 · 2 评论 -
Dubbo负载均衡原理
LoadBalance搜索,Ctrl+Shift+T Dubbo接口 点击,进入NAME 可以看到,默认配置,随机调用 负载均衡机制 选中,AbstractLoadBalance 打开继承树,Ctrl+T可以看到,提供了四种负载均衡机制 包括负载均衡算法,也在每一种机制中 ...原创 2018-09-09 10:14:20 · 4623 阅读 · 1 评论 -
Dubbo服务降级
服务降级分布式系统中 提高系统高可用的方式之一当服务器压力剧增的情况下 根据,实际业务情况及流量 对一些服务和页面有策略的不处理,或者换种简单的方式处理 从而,释放服务器资源以保证核心交易正常运作或高效运作参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/service-downgrade.htmlRegistryF...原创 2018-09-10 21:36:45 · 463 阅读 · 0 评论 -
dubbo配置文件加载顺序
参考文档 http://dubbo.apache.org/zh-cn/docs/user/configuration/properties.html Dubbo提供了三种方式JVM虚拟机参数的配置方式 XML,自定义dubbo.xml文件方式 Properties,公共配置dubbo.properties文件方式覆盖策略就是配置文件的优先顺序 如果,JVM虚拟机参数...原创 2018-09-07 00:09:31 · 1963 阅读 · 0 评论 -
Dubbo超时时间
超时时间如果,不配置,默认为1秒 参考文档 http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-consumer.html 配置优先级 适用于所有的配置以timeout为例 参考文档 http://dubbo.apache.org/zh-cn/docs/user/configuration/xml.ht...原创 2018-09-07 00:15:28 · 1548 阅读 · 0 评论 -
Dubbo启动时检查
启动时检查Dubbo缺省,会在启动时 检查依赖的服务是否可用不可用时会抛出异常,阻止 Spring 初始化完成 以便上线时,能及早发现问题,默认 check=”true”可以配置关闭某个服务的启动时检查<dubbo:reference interface="com.foo.BarService" check="false" />关闭所有服务的启动时检查...原创 2018-09-07 00:17:02 · 429 阅读 · 0 评论 -
Dubbo重试次数
重试次数不配置,默认重试2次 不算第一个调用,一共会调用三次参考文档 http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-consumer.html 轮询机制相同的服务提供多份比如 调用订单服务,订单服务提供了三份 默认重试两次第一次,调用第一份订单服务,调用失败 第二次,会调用第二份订...原创 2018-09-07 00:19:10 · 7120 阅读 · 0 评论 -
Dubbo服务降级配置
服务降级配置可以在管控台,对消费者进行配置屏蔽,表示不发起远程调用,直接在客户端返回空对象 容错,表示当远程调用失败时,返回空对象屏蔽相当于 mock=force:return+null容错相当于 mock=fail:return+null ...原创 2018-09-10 21:38:08 · 907 阅读 · 0 评论 -
Dubbo服务容错
服务容错当集群调用失败,应该怎么处理Dubbo提供了多种容错方案 默认为,failover重试参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/fault-tolerent-strategy.html 集群容错模式Failover Cluster失败自动切换,当出现失败,重试其它服务器 通常,用于读操作,但重试会...原创 2018-09-10 21:43:51 · 1424 阅读 · 0 评论 -
Dubbo管控台Windows安装
管控台官网,选择GitHub dubbo运维 Dubbo-admin,管控台 Dubbo-monitor,监控中心安装管控台 点击dubbo ops下载项目 使用Maven构建 解压 Dubbo-admin 是一个Maven工程 打开pom文件 jar包的方式打包方式2.6版本之后,都是jar包 2.5版本之前,都是war包...原创 2018-09-05 23:37:32 · 361 阅读 · 0 评论 -
Dubbo服务调用原理
服务调用原理参考文档 http://dubbo.apache.org/zh-cn/docs/dev/design.html 引用服务最终,创建一个代理对象InvokerInvocationHandler Invoke,是一层一层封装的结果 invoker.invoke执行 MockClusterInvoker invoker.invoke...原创 2018-09-11 21:40:30 · 3073 阅读 · 0 评论 -
Dubbo服务引用原理
服务引用原理 配置文件 通过Spring容器加载 每一个标签,对应一个解析类Reference对应ReferenceBean 实现了FactoryBean FactoryBean工厂Bean 引用标签,通过往容器中,注入Bean 使用时,从容器中,获取Bean对象getObject返回标签配置的Bean对象 Get获取Bean...原创 2018-09-11 21:37:24 · 1149 阅读 · 0 评论 -
Dubbo的架构
服务治理 架构 节点角色Provider 暴露服务的服务提供方Consumer 调用远程服务的服务消费方Registry 服务注册与发现的注册中心Monitor 统计服务的调用次数,和调用时间的监控中心Container 服务运行容器调用关系0、服务容器负责启动 加载,运行服务提供者1、服务提供者在启动时 向注册中心,注册自己提...原创 2018-08-04 20:11:58 · 175 阅读 · 0 评论 -
Dubbo架构的特点
连通性1、注册中心 负责服务地址的注册于查找 相当于目录服务,服务提供者与消费者 只在启动时与注册中心交互,注册中心不转发请求,压力较小2、监控中心 负责统计各服务调用次数,调用时间等 统计先在内存汇总后,每分钟一次发送到监控中心服务器,并以报表展示3、服务提供者 向注册中心,注册其提供的服务 并汇报调用时间到监控中心,此时间不包含网络开销4、服务消费者 向注册中心...原创 2018-08-04 20:13:57 · 778 阅读 · 0 评论 -
Dubbo系统间通信
系统间通信远程通信,实现方案Webservice Restful DubboWebservice基于soap协议,通信效率不高 主要特点,跨语言、跨平台项目中,不推荐使用 可用于,不同公司之间的接口调用Restful基于http协议,形式http+json 一种架构风格,很多项目中应用如果,服务太多 服务之间调用关系混乱,需要治疗服务Dubbo...原创 2018-08-27 09:08:31 · 401 阅读 · 0 评论 -
Dubbo服务调用过程
服务调用过程生产者,服务提供者、提供端 消费者,服务调用者、调用端 0、startProvider,服务提供者 Container,容器Spring容器,用来初始化服务 服务发布,需要Spring容器配合1、register服务注册 Registry,注册中心生产者,暴露服务 注册到注册中心2、subscribe查询服务 消费者,访问注册中心...原创 2018-08-27 09:11:00 · 486 阅读 · 0 评论 -
Dubbo服务发布调用
服务发布调用Dubbo采用全Spring配置方式 透明化接入应用,对应用没有任何API侵入只需用Spring加载Dubbo的配置即可 Dubbo基于Spring的Schema扩展进行加载单一工程Spring配置,local.xml<bean id="xxxService" class="com.xxx.XxxServiceImpl" /><bea...原创 2018-08-27 09:14:37 · 337 阅读 · 0 评论 -
Dubbo服务发布调用实现
服务发布调用实现系统需求 根据商品id,查询商品信息Dao单表查询,不需要写代码 使用Mybatis逆向工程生成的代码Interface在taotao-manager-interface工程中 创建一个ItemService接口public interface ItemService { TbItem getItemById(long itemId);}...原创 2018-08-27 09:26:59 · 9904 阅读 · 0 评论 -
Dubbo使用
使用方式父工程,管理依赖版本配置dubbo版本<dubbo.version>2.5.3</dubbo.version><zookeeper.version>3.4.7</zookeeper.version><zkclient.version>0.1</zkclient.version>配置引用<...原创 2018-08-27 09:33:37 · 184 阅读 · 0 评论 -
Dubbo设置超时时间
Timeout设置服务调用,超时时间 默认时间1秒,默认单位毫秒服务调用 服务调用失败,会重新尝试 尝试三次失败之后,不再尝试 抛出异常使用方式在服务暴露的时候 配置服务超时时间,比如,设置300毫秒&lt;!-- 声明需要暴露的服务接口 --&gt; &lt;dubbo:service interface="com.taotao.service.Item...原创 2018-08-27 09:36:31 · 4091 阅读 · 0 评论 -
Dubbo服务调用失败
解决方法查看管控台 查看注解 查看扫描包 查看发布服务 查看加载配置文件查看管控台Dubbo管控台,查找该服务 是否存在,服务状态是否正常查看注解@Service 服务类,要使用@Service注解,注入IOC容器 使用Spring的@Service注解,不要使用Dubbo的import org.springframework.stereotype.S...原创 2018-08-27 09:41:30 · 6441 阅读 · 0 评论 -
Dubbo序列化对象
序列化对象Dubbo分为服务端,客户端 客户端调用服务,需要将pojo传递给客户端调用者对象在传输过程中,需要序列化 在表现层,需要反序列化对象对象序列化 需要实现序列化接口Pojo里面所有不带Example的类 都应该实现序列化接口 因为,这些对象都有可能参与网络传输package com.taotao.pojo;import java.io.Serializa...原创 2018-08-27 09:43:01 · 1021 阅读 · 0 评论 -
Dubbo多版本
多版本参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/multi-versions.html 版本升级、灰度发布 当某一个接口,出现了不兼容的升级 可以用版本号过渡,版本号不同的服务,相互间不引用版本迁移1、在低压力时间段,先升级一半提供者为新版本 2、再将,所有消费者升级为新版本 3、然后,将剩下的一半提供者...原创 2018-09-08 10:17:01 · 2026 阅读 · 0 评论 -
Dubbo本地存根
本地存根参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/local-stub.html 本地存根 可以提前验证参数 调用失败之后,伪造容错数据等消费方写一个本地存根Stub的实现 必须,提供一个有参构造器有参构造器,传入的是远程接口的代理实现 不需要去传这个参数,Dubbo默认自动传递进来可以添加判断 ...原创 2018-09-08 10:19:21 · 1965 阅读 · 0 评论 -
Spring boot配置Dubbo三种方式
方式一使用注解的方式导入dubbo-starter 在application.properties配置属性使用@Service暴露服务 使用@Reference引用服务使用@EnableDubbo开启注解Dubbo功能 或者配置包扫描dubbo.scan.base-packages=com.atguigu.gmall开启注解、包扫描,配置一个即可这种方式 可...原创 2018-09-08 10:23:50 · 30499 阅读 · 0 评论 -
Dubbo直连
直连直接调用 绕过注册中心,消费者直接调用服务者消费者 直接配置服务提供者地址,可以绕过注册中心 直接调用服务提供者@Servicepublic class OrderServiceImpl implements OrderService { //@Autowired @Reference(url="127.0.0.1:20882") //dubbo直连 ...原创 2018-09-09 10:02:35 · 792 阅读 · 0 评论 -
Dubbo标签解析原理
配置文件是Spring的配置文件 程序启动,是以Spring的方式加载配置文件启动 Spring解析,配置文件中的每一个标签BeanDefinitionParser标签解析器 搜索,BeanDefinitionParser Ctrl+T,查看继承树 DubboBeanDefinitionParserDubbo标签解析器 Parse解析标签...原创 2018-09-11 21:23:03 · 452 阅读 · 0 评论 -
Dubbo框架设计原理
框架设计参考文档 http://dubbo.apache.org/zh-cn/docs/dev/design.html 整体分为三层Business业务逻辑层,只有一层Service 面向接口编程,一个接口,对应一个实现 远程调用,通过调用接口,来调用接口实现RPC用于完成远程过程调用,分为很多层Config配置层 用于封装配置文件中,解析的一些信息...原创 2018-09-11 21:19:25 · 478 阅读 · 0 评论 -
Dubbo服务暴露原理
服务暴露原理配置文件IOC容器启动,加载配置文件的时候 Dubbo标签处理器,解析每一个标签封装成对应的组件 service解析service标签 将service标签信息,封装成ServiceBeanServiceBean实现了两个重要机制 InitializingBeanSpring的接口 当组件创建完对象之后 会调用In...原创 2018-09-11 21:32:12 · 2054 阅读 · 1 评论 -
Dubbo整合hystrix
整合hystrixDubbo提供了,集群容错机制 可以通过配置,进行使用在实际开发中 一般,都是通过整合hystrix,进行集群容错Hystrix是Spring cloud中,默认整合的服务容错解决方案 通过,控制那些访问远程系统、服务和第三方库的节点 从而,对延迟和故障提供更强大的容错能力Hystrix 具备拥有回退机制和断路器功能的线程和信号隔离 请求缓存和...原创 2018-09-10 21:48:36 · 2608 阅读 · 0 评论