
Dubbo
文章平均质量分 63
阿弥陀佛僧
知幻即离,不假方便;离幻即觉,亦无渐次。
展开
-
Dubbo——Hello world
一、提出需求 某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址列表,而订单服务和用户服务分别部署在不同的机器上,此时就需要通过RPC的方式。 我们需要创建两个服务模块:订单服务(服务消费者)和用户服务(服务提供者) 模块 功能 订单服务web模块 创建订单等 用户服务service模块 查询用户地址等 测试预期结果:订单服务web模块在A服务器,用户...原创 2018-11-21 09:35:01 · 333 阅读 · 0 评论 -
Dubbo——与SpringBoot整合的三种方式
第19集 一、引入 通过配置文件能配置的属性,在使用注解的方式中也可以通过注解的相应属性进行配置,但是通过注解的方式对指定的方法进行配置时会有一定的局限性。 二、SpringBoot与Dubbo整合的三种方式 1、在SpringBoot的项目中导入dubbo-starter,在application.properties/application.yml中配置dubbo相关的属性,使用@Servic...原创 2019-03-20 16:09:02 · 1066 阅读 · 0 评论 -
Dubbo——架构和原理
一、架构设计图 1、service 业务逻辑层:接口和接口实现,dubbo的服务提供端暴露哪个接口和接口的实现,dubbo的服务消费端订阅的服务接口,用户仅需要关注这一层 2、config 配置层:对外配置接口,以 ServiceConfig、ReferenceConfig 为中心,可以直接初始化配置类(@Bean的方式),也可以通过 Spring 解析配置生成配置类 3、proxy 服务...原创 2019-03-20 16:06:05 · 1548 阅读 · 0 评论 -
Dubbo——RPC原理
一、RPC(远程过程调用)的过程 一次完整的RPC调用流程(同步调用,异步另说)如下: 1)服务消费方(client)调用:以本地方法调用的方式调用远程服务 2)client stub(客户端代理)接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体 3)client stub找到服务地址,并将消息发送到服务端 4)server stub(服务端代理)收到消息后进行解码...原创 2019-03-20 16:06:11 · 707 阅读 · 0 评论 -
Dubbo——常用设置
一、所有设置 dubbo的所有设置可参考官方示例:设置示例 二、常用设置 1、启动时检查 当注册中心没有消费者订阅的服务时(服务提供者宕机或未启动等)启动消费者,消费者在启动时会由于其订阅的服务不存在而报错,这是因为消费者在启动时默认会检查服务其订阅的服务是否存在(默认check=true),可以在配置文件中通过设置check=false关闭启动时检查而不影响服务消费者的启动: <...原创 2019-03-20 16:09:59 · 252 阅读 · 0 评论 -
Dubbo——环境搭建
一、搭建注册中心zookeeper Dubbo支持多种注册中心:Multicast、zookeeper(推荐)、Redis、Simple,此处以windows系统安装zookeeper为例 1、下载zookeeper:zookeeper下载地址 2、解压后将conf/zoo_sample.cfg文件复制一份命名为zoo.cfg,并修改相应配置 3、启动zookeeper:命令行窗口cd...原创 2019-03-20 16:21:05 · 268 阅读 · 0 评论 -
Dubbo——属性配置文件的加载顺序
一、Dubbo的属性配置 dubbo的所有属性配置在官网都有介绍,可以参照官网:schema配置参考手册 二、Dubbo的属性配置 1、dubbo属性配置规则 参考官方文档:属性配置 如果公共配置很简单,没有多注册中心,多协议等情况,或者想多个 Spring 容器共享配置,可以使用 dubbo.properties 作为缺省配置。Dubbo 将自动加载 classpath 根目录下的...原创 2019-03-20 16:10:05 · 878 阅读 · 0 评论 -
Dubbo——整合SpringBoot
一、创建服务提供者的SpringBoot项目 1、在Eclipse中new一个Spring Starter Project(Eclipse中创建SpringBoot的快捷方式,等价于idea中的Spring Initializr),无需添加模块 2、在pom.xml中添加gmall-api的基础依赖 <dependency> <g原创 2019-03-20 16:21:23 · 408 阅读 · 0 评论 -
Dubbo——特性和架构
一、简介 Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡、服务自动注册和发现。 二、特性 1、面向接口代理的高性能RPC调用 提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节。 2、智能负载均衡 内置多种负载均衡策...原创 2019-03-20 16:20:50 · 2007 阅读 · 0 评论 -
Dubbo——产生背景
一、Dubbo的产生背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。Dubbo就是这样一个系统间服务治理的RPC框架。 注:《分布式系统原理与范型》中说:分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统。分布式系统(distributed system)是建立在...原创 2019-03-20 16:20:43 · 348 阅读 · 0 评论 -
Dubbo——高可用
高可用就是通过设计或调整服务的架构来减少系统不能提供服务的时间,使系统能够7*24小时不间断提供服务。 一、zookeeper宕机与dubbo直连 在服务提供者和服务消费者都启动起来之后,如果注册中心宕机了并不会影响消费者调用提供者提供的服务,这是因为,在服务消费者本地有缓存信息,记录了服务提供者的地址列表等信息 注册中心的作用是保存服务提供者所在的位置信息,我们可以完全绕过注册中心,使用dubb...原创 2019-03-20 16:08:29 · 585 阅读 · 0 评论