Dubbo剖析
文章平均质量分 77
Dubbo原理剖析,视频可以移步:https://edu.youkuaiyun.com/course/detail/8009
加多
欢迎关注微信公众号 技术原始积累
展开
-
Dubbo剖析-搭建一个简单的分布式应用(1)
一、前言随着阿里巴巴开源的分布式RPC框架Dubbo成为Apache开源卵化器项目,Dubbo有火了一把。在接下来的一段时间本公众号 '技术原始积累' 将会时不时的发布一些dubbo使用与原理剖析的文章。dubbo架构如上图,本文作为一个开始先讲讲使用dubbo搭建一个简单的含有服务提供(Provider),服务注册中心(Registry),服务消费(Consumer)的分布式系统。二、服务注册中...原创 2018-03-08 18:47:29 · 292 阅读 · 0 评论 -
Dubbo剖析-搭建一个简单的分布式系统(2)
一、前言前面时间基于Spring的xml配置的方式搭建了一个简单的包含服务提供(Provider),服务注册中心(Registry),服务消费(Consumer)的分布式系统。本节我们不使用Spring配置方式,使用DUBBO提供的API来做。二、服务注册中心服务注册中心内容不变使用zookeeper实现服务注册中心。首先你需要在 http://zookeeper.apache.org/relea...原创 2018-03-12 18:53:14 · 281 阅读 · 0 评论 -
Dubbo剖析-服务消费端泛化调用
一、前言前面我们讲解基于Spring和基于dubbo api方式搭建一个简单的分布式系统时候服务消费端是引入了一个sdk的,这个SDK是个二方包,里面存放了服务提供端提供的所有接口类以及接口使用的入参和出参的pojo类,服务消费端则使用JDK代理对接口进行代理。泛化接口调用方式主要用于服务消费端没有 API 接口类及模型类元(比如入参和出参的pojo类)的情况,参数及返回值中的所有POJO 均用 ...原创 2018-03-12 18:55:07 · 616 阅读 · 0 评论 -
使用 Dubbo 搭建一个简单的分布式系统-chat
随着阿里巴巴开源的高性能分布式 RPC 框架 Dubbo 正式进入 Apache 孵化器,Dubbo 又火了一把。本场 Chat 作为 Dubbo 系列开端,先教大家使用 Dubbo 搭建一个简单的分布式系统,因为要研究一个东西的原理,必须先能把环境搭建起来,并且会使用它。在这个系统里面会包含服务提供者,服务消费者,服务注册中心(本 Chat 使用 Zookeeper),管理控制台(Dubbo...原创 2018-03-15 12:36:03 · 473 阅读 · 0 评论 -
Dubbo剖析-管理控制台的搭建与使用
一、前言开源的Dubbo的服务管理控制台是阿里巴巴内部裁剪版本,开源部分主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能。二、管理控制台的搭建2.1 打包生成管理控制台war包下载源码 在 https://github.com/alibaba/dubbo/tree/2.5.x 下载dubbo的源码解压源码,进入dubbo-2.5.x 目...原创 2018-03-15 12:36:40 · 873 阅读 · 0 评论 -
Dubbo剖析-服务直连
一、前言为了方便开发及测试,一般需要绕过注册中心,只测试指定ip的服务提供者,这时候服务消费方和服务提供方就是点对点直联方式。这时候服务消费方会忽略注册中心的提供者列表。另外直连方式以服务接口为单位,假如A 接口配置点对点,不影响 B 接口从注册中心获取列表。二、直连方法通过-D参数指定 在服务消费进程启动时候 JVM 启动参数中加入-D参数映射服务地址 ,如: -Dcom....原创 2018-03-15 12:37:30 · 377 阅读 · 0 评论 -
Dubbo剖析-服务分组与服务版本号
一、前言在Dubbo中接口类并不能唯一确定一个服务,在dubbo中接口+服务分组+版本号才能唯一确定一个服务,本文就来讲解下服务分组和版本号的使用。二、服务分组当一个接口有多种实现时,可以用 group 区分。 - 服务提供方: 上面配置在服务提供方法提供了com.test.UserServiceBo接口的两套实现,服务分组分别为olddubbo,newdubbo。服...原创 2018-03-17 16:47:41 · 4479 阅读 · 1 评论 -
Dubbo剖析-监控平台的搭建与使用
一、前言dubbo-monitor主要用来统计服务的调用次调和调用时间的监控中心,服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心,监控中心则使用数据绘制图表来显示。二、dubbo-monitor-simple的搭建在服务提供方和消费方需要配置如下: protocol为”registry”,表示服务提供方和消费方从注册中心发现监控中...原创 2018-03-17 16:48:45 · 407 阅读 · 0 评论 -
为什么要研究Dubbo和Spring cloud
今天来探讨为什么要研究Dubbo和Spring cloud原创 2018-03-25 12:12:49 · 725 阅读 · 0 评论 -
使用 Dubbo 搭建一个简单的分布式系统chat已经出炉了!!!!
随着阿里巴巴开源的高性能分布式 RPC 框架 Dubbo 正式进入 Apache 孵化器,Dubbo 又火了一把。本场 Chat 作为 Dubbo 系列开端,先教大家使用 Dubbo 搭建一个简单的分布式系统,因为要研究一个东西的原理,必须先能把环境搭建起来,并且会使用它。在这个系统里面会包含服务提供者,服务消费者,服务注册中心(本 Chat 使用 ZooKeeper),管理控制台(Dubbo...原创 2018-03-30 18:33:29 · 298 阅读 · 0 评论 -
Dubbo-从入门到深入
一、搭建系统篇Dubbo剖析-搭建一个简单的分布式系统(1)Dubbo剖析-搭建一个简单的分布式系统(2)Dubbo剖析-监控平台的搭建与使用Dubbo剖析-管理控制台的搭建与使用二、特性介绍使用篇Dubbo剖析-服务分组与服务版本号Dubbo剖析-服务直连Dubbo剖析-服务消费端异步调用Dubbo剖析-服务消费端泛化调用三、原理篇Dubbo剖析-Du...原创 2018-04-20 09:45:11 · 602 阅读 · 0 评论 -
高性能 RPC 框架 Dubbo 从入门到深入(详细)
一、前言整体来说,一个公司业务系统的演进流程基本都是从单体应用到多应用。在单体应用时,不同业务模块相互调用直接在本地 JVM 进程内就可以完成,而变为多个应用时,相互之间进行通信的方式就不能简单的进行本地调用了,因为不同业务模块部署到了不同的 JVM 进程里面,更常见的是部署到了不同的机器,这时候一个高效、稳定的 RPC 远程调用框架就变得非常重要。Dubbo 是阿里巴巴开发的一个开源的高...原创 2018-04-25 23:14:20 · 1591 阅读 · 0 评论 -
Dubbo剖析-线程模型
一、前言Dubbo默认的底层网络通讯是使用Netty来做的,在服务提供方NettyServer使用两级线程池,其中EventLoopGroup(boss)主要用来接受客户端的链接请求,并把接受的请求分发给EventLoopGroup(worker)来处理,boss和worker线程组我们称为IO线程。如果服务提供方的逻辑能迅速完成,并且不会发起新的 IO 请求,则直接在 IO 线程上处理更...原创 2018-04-28 16:03:42 · 324 阅读 · 0 评论 -
Dubbo剖析-负载均衡
一、前言在服务提供方是集群的时候,为了避免大量请求一直落到一个或者几个服务提供方机器上,从而使这些机器负载很高,甚至打死,需要做一定的负载均衡策略。Dubbo 提供了多种均衡策略,缺省为 random 随机调用二、dubbo负载均衡策略Random LoadBalance 随机策略 按权重设置随机概率。RoundRobin LoadBalance 轮询策略 轮循,按公约后的...原创 2018-04-28 16:04:06 · 328 阅读 · 0 评论 -
Dubbo剖析-集群容错
一、前言在进行系统设计时候,不仅要考虑正常逻辑该如何走,还要考虑异常逻辑。dubbo中当服务消费方调用服务提供方的服务出现错误时候,提供了多种容错方案,缺省为 failover 重试。二、Dubbo集群容错模式Failover Cluster 重试。当服务消费方调用服务提供者失败后自动切换,重试其它服务提供者。这通常用于读操作或者具有幂等的写操作,需要注意的是重试会带来更长延迟...原创 2018-04-28 16:04:40 · 305 阅读 · 0 评论 -
使用Dubbo中需要注意的事项
一、前言Dubbo作为高性能RPC框架,已经进入Apache卵化器项目,虽然官方给出了dubbo使用的用户手册,但是大多是一概而过,使用dubbo时候要尽量了解源码,不然会很容易入坑。二 、服务消费端ReferenceConfig需要自行缓存ReferenceConfig实例是个很重的实例,每个ReferenceConfig实例里面都维护了与服务注册中心的一个长链,并且维护了与所有...原创 2018-05-02 21:35:12 · 1768 阅读 · 0 评论 -
深入浅出Dubbo剖析出视频教程了!!!
深入浅出Dubbo剖析出视频教程了,目前出了Dubbo剖析-基础教程,本课程作为深入浅出Dubbo课程系列的基础篇,内容如下: - 第一章 初始Dubbo(免费) - 第二章 使用 ZooKeeper 搭建服务治理中心 - 第三章 基于Dubbo API搭建服务提供端与服务消费端 - 第四章 基于Spring搭建服务提供端与服务消费端 - 第五章 基于dubbo-spring-boot-...原创 2018-05-04 11:33:05 · 2252 阅读 · 0 评论 -
Dubbo剖析-Dubbo协议
一、前言TCP协议栈中,每层模型都有自己的协议报文格式,TCP协议是网络七层模型中的传输层,在TCP上层是应用层,应用层协议常见的有telnet等,Dubbo协议作为建立在TCP协议之上的一种协议,自然也有自己的协议包格式。二、Dubbo协议格式如下图Dubbo协议也是由header和body两部分组成, header用来存放一些协议信息,body具体存放要传输的经过序列...原创 2018-05-04 17:09:35 · 1843 阅读 · 1 评论 -
dubbo剖析-服务降级
一、前言dubbo提供了一些服务降级措施,当服务提供端某一个非关键的服务出错时候,dubbo可以对消费端的调用进行降级,这样服务消费端就避免了在去调用出错的服务提供端,而是使用自定义的返回值直接在在本地返回。二、如何使用服务降级直接返回mock值 mock=force:return+null 表示消费方对该服务的方法调用都直接返回 null 值,不发起远 程调用。用来屏...原创 2018-05-07 16:30:12 · 977 阅读 · 0 评论