dubbo
文章平均质量分 85
Yang_yangyang
大鹏一日同风起,扶摇直上九万里!!!
展开
-
1.dubbo源码分析 之 架构原理探索
原文地址:http://www.carlzone.cn/dubbo/1-dubbo-architecture/在之前的文章中介绍了Dubbo的出现背景以及使用方式,下面我们通过源码的方式来分析一下Dubbo的架构。1、准备在分析探索Dubbo架构原理之前,我们需要准备一下环境,用于后面我们来分析dubbo的架构。1.1 ZookeeperDubbo使用Zookeeper为注册中心。所以需要在本地启...转载 2018-06-29 13:51:00 · 522 阅读 · 0 评论 -
dubbo源码分析15 -- 集群容错之Route
在集中式环境中服务的机器台只有一台,这样对于服务不仅存在服务单点故障问题而且还存在流量问题。为了解决这个问题,就引入的分布式与集群概念。>分布式:一个业务分拆多个子业务,部署在不同的服务器上 >集群:同一个业务,部署在多个服务器上1、 dubbo 服务治理当请求来临时,如何从多个服务器中,选择一个有效、合适的服务器,这个集群所需要面对一问题。所以在集群里面就引申出负载均衡(LoadBa...转载 2018-07-03 14:07:13 · 372 阅读 · 0 评论 -
dubbo源码分析16 -- 集群容错之LoadBalance
原文地址:http://www.carlzone.cn/dubbo/16-dubbo-cluster-loadbalance/在集中式环境中服务的机器台只有一台,这样对于服务不仅存在服务单点故障问题而且还存在流量问题。为了解决这个问题,就引入的分布式与集群概念。>分布式:一个业务分拆多个子业务,部署在不同的服务器上 >集群:同一个业务,部署在多个服务器上1、 dubbo 服务治理当请求...转载 2018-07-03 14:07:19 · 174 阅读 · 0 评论 -
dubbo源码分析17 -- 集群容错总结
原文地址:http://www.carlzone.cn/dubbo/17-dubbo-cluster-summary/在集中式环境中服务的机器台只有一台,这样对于服务不仅存在服务单点故障问题而且还存在流量问题。为了解决这个问题,就引入的分布式与集群概念。>分布式:一个业务分拆多个子业务,部署在不同的服务器上 >集群:同一个业务,部署在多个服务器上当请求来临时,如何从多个服务器中,选择一...转载 2018-07-03 14:07:25 · 191 阅读 · 0 评论 -
dubbo源码分析18 -- 服务监控
原文地址:http://www.carlzone.cn/dubbo/18-dubbo-service-monitor/在分布式服务当中监控服务的各项指标至关重要,而 dubbo 也提供了一个简单的监控中心(Simple Monito)。Simple Monitor挂掉不会影响到Consumer和Provider之间的调用,所以用于生产环境不会有风险。 并且配置好了之后可以结合 admin 管理后台...转载 2018-07-03 14:07:31 · 398 阅读 · 0 评论 -
dubbo源码分析19 -- 服务治理
原文地址:http://www.carlzone.cn/dubbo/19-dubbo-service-admin/在之前的 dubbo 源码分析中我们分析了 dubbo 的服务暴露。provider 把需要暴露的服务地址信息注册到注册中心(比如:zookeeper),然后把通过 java nio 框架 netty 以 socket 的方式把远程服务暴露给 consumer 调用,并且订阅注解中心,...转载 2018-07-03 14:07:38 · 414 阅读 · 0 评论 -
dubbo源码分析20 -- 远程调用概述
原文地址:http://www.carlzone.cn/dubbo/20-dubbo-network-summary/在之前的文章我们分析了 dubbo 的服务治理,也就是在 consumer 端在进行服务引用的时候。consumer 首先会根据配置 Protocol(协议) 创建 Invoke 调用对象,它代表一个可执行体,可向它发起 invoke 调用,它有可能是一个本地的实现,也可能是一个远...转载 2018-07-05 09:56:02 · 196 阅读 · 0 评论 -
dubbo源码分析21 -- 远程通信 netty
原文地址:http://www.carlzone.cn/dubbo/21-dubbo-network-netty/dubbo 做为 RPC 框架,需要进行跨 JVM 通信,要保证高性、稳定的进行远程通信。dubbo 底层通信选择了 netty 这个 nio 框架做为默认的网络通信框架并且通过自定义协议进行通信。dubbo 支持以下网络通信框架:Netty(默认)MinaGrizzly1、 nett...转载 2018-07-05 09:56:09 · 210 阅读 · 0 评论 -
dubbo源码分析22 -- consumer 发送与接收原理
原文地址:http://www.carlzone.cn/dubbo/22-dubbo-network-consumer/在前面的文章中,我们分析了 dubbo 从 provider 进行服务暴露,然后把服务信息注册到注册中心上面解耦 consumer 与 provider 的调用。consumer 通过 javassist 创建代理对象引用远程服务。当通过代理对象调用远程服务的时候,讲到进行真正调...转载 2018-07-05 09:56:15 · 427 阅读 · 0 评论 -
dubbo源码分析23 -- provider 接收与发送原理
原文地址:http://www.carlzone.cn/dubbo/23-dubbo-network-provider/在前面一篇博客中分享了 dubbo 在网络通信当中的 consumer 的发送以及接收原理。通过集群容错最终选择一个合适的 Invoke 通过 netty 直联调用 provider 的服务。众所周知, netty 是基于 Java Nio 的 Reactor 模型的异步网络通信...转载 2018-07-05 09:56:20 · 249 阅读 · 0 评论 -
dubbo源码分析24 -- 调用核心 Invoke
原文地址:http://www.carlzone.cn/dubbo/24-dubbo-core-invoke/任何框架或组件,总会有核心领域模型,比如:Spring 的 Bean,Struts 的 Action,Napoli 的 Queue 。对于 Dubbo 来说它的核心就是 Service(服务接口),而 Service 不管是 provider 暴露服务,还是 consumer 引用服务。它...转载 2018-07-05 09:56:25 · 300 阅读 · 0 评论 -
dubbo-admin 服务治理系统搭建
搭建好的分布式系统:dubbo+zookeeper,怎么有办法可以清晰明了的,管理服务呢。服务提供方、服务消费方之间的调用关系试试怎么样的?下面的dubbo-admin即可解决上面的问题,废话不多说,开始整!!!!1.下载源码去dubbo的代码仓库下载,dubbo的源码,然后倒入自己的eclipse中。网上找到的dubbo-admin.war 包,找到的基本上全是不能用的。因为跟每个人自己...原创 2019-03-21 20:20:11 · 616 阅读 · 0 评论 -
dubbo源码分析14 -- 集群容错之Directory
原文地址:http://www.carlzone.cn/dubbo/14-dubbo-cluster-directory/在集中式环境中服务的机器台只有一台,这样对于服务不仅存在服务单点故障问题而且还存在流量问题。为了解决这个问题,就引入的分布式与集群概念。>分布式:一个业务分拆多个子业务,部署在不同的服务器上 >集群:同一个业务,部署在多个服务器上1、 dubbo 服务治理当请求来临...转载 2018-07-03 14:07:08 · 191 阅读 · 0 评论 -
dubbo源码分析13 之 集群容错 Invoke
原文地址:http://www.carlzone.cn/dubbo/13-dubbo-cluster-overview/在集中式环境中服务的机器台只有一台,这样对于服务不仅存在服务单点故障问题而且还存在流量问题。为了解决这个问题,就引入的分布式与集群概念。>分布式:一个业务分拆多个子业务,部署在不同的服务器上 >集群:同一个业务,部署在多个服务器上当请求来临时,如何从多个服务器中,选择...转载 2018-07-03 14:07:01 · 346 阅读 · 0 评论 -
12、dubbo源码分析 之 Listener & Filter
原文地址:http://www.carlzone.cn/dubbo/12-dubbo-extenstion-filter-listener/Dubbo 是阿里巴巴开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输入与输出功能。作为一个优秀的框架,至少应该包含以下几个特点:完善的文档活跃的社区良好的扩展性今天主要讨论的主题就是 dubbo 中良好的扩展性。 dubbo 的扩...转载 2018-07-03 14:06:55 · 282 阅读 · 0 评论 -
2.dubbo源码分析 之 内核SPI实现
原文地址:http://www.carlzone.cn/dubbo/2-dubbo-spi/Dubbo采用微内核+插件体系,使得设计优雅,扩展性强。那所谓的微内核+插件体系是如何实现的呢!大家是否熟悉spi(service providerinterface)机制,即我们定义了服务接口标准,让厂商去实现(如果不了解spi的请谷歌百度下), jdk通过ServiceLoader类实现spi机制的服务...转载 2018-06-29 13:52:29 · 324 阅读 · 0 评论 -
3.dubbo源码分析 之 动态编译
原文地址:http://www.carlzone.cn/dubbo/3-dubbo-compile/我们运行的Java代码,一般都是编译之后的字节码。Dubbo为了实现基于SPI思想的扩展特性,可以灵活的添加额外的功能。对于SPI接口需要能够动态生成,这样就需要在运行的时候去编译加载这个设配类的代码。下面我们就是来了解下Dubbo的动态编译。我们首先来看一下Compile的类图。Compile接口...转载 2018-06-29 13:53:36 · 297 阅读 · 0 评论 -
4.dubbo源码分析 之 与 Spring 集成
原文地址:http://www.carlzone.cn/dubbo/4-dubbo-integration-spring/Spring框架从2.0版本开始,提供了基于Schema风格的Spring XML格式用来定义bean的扩展机制。引入Schema-based XML是为了对Traditional的XML配置形式进行简化。通过Schema的定义,把一些原本需要通过几个bean的定义或者复杂的b...转载 2018-06-29 13:54:20 · 199 阅读 · 0 评论 -
5.dubbo源码分析 之 SPI分析
原文地址:http://www.carlzone.cn/dubbo/5-dubbo-spi-analyze/如果大家看过之前的 dubbo 内核 SPI 实现 -- 2.dubbo源码分析 之 内核SPI实现, 有可能还是一头雾水,下面我讲一下dubbo的具体应用。最典型的应用就是 Protocol 接口。Protocol 属于 dubbo 十层结构 中的远程调用层, 它封装了RPC调用。以Inv...转载 2018-06-29 13:55:06 · 226 阅读 · 0 评论 -
6、dubbo源码分析 之 服务暴露概述
原文地址:http://www.carlzone.cn/dubbo/6-dubbo-provider-expose/dubbo的服务模型是非常简单的,要么是服务提供方(Provider)提供服务,要么是服务消费方(Consumer)消费服务,从dubbo官网的系统架构图就可以看出来。Provider与Consumer通过Registry来解耦合,这一点和Spring有点相似。在Spring中它的核...转载 2018-06-29 13:55:57 · 210 阅读 · 0 评论 -
7、dubbo源码分析 之 服务本地暴露
原文地址:http://www.carlzone.cn/dubbo/7-dubbo-local-expose/在上一篇文章我们分析了一下 dubbo 在服务暴露发生了哪些事,今天我们就来分析一下整个服务暴露中的本地暴露。(PS:其实我感觉本地暴露蛮鸡肋的)。本地暴露需要服务提供方与服务消费方在同一个 JVM。下面我们来写一个本地暴露使用的例子:> 1) DemoService.javapub...转载 2018-06-29 13:59:51 · 279 阅读 · 0 评论 -
dubbo 源码分析汇总
原文地址:http://www.carlzone.cn/dubbo/0-dubbo-sourcecode-overview/Dubbo |ˈdʌbəʊ| 是一个高性能的、基于 java 的 RPC 框架,由阿里巴巴开源。与许多 RPC 系统一样,dubbo 基于定义服务的思想,指定可以用其参数和返回类型远程调用的方法。在服务器端,服务器实现这个接口,并运行一个 dubbo 服务器来处理客户端调用。...转载 2018-06-29 14:01:04 · 297 阅读 · 0 评论 -
8、dubbo源码分析 之 服务远程暴露(上)
原文地址:http://www.carlzone.cn/dubbo/8-dubbo-expose-top/在上一篇文章我们讲解了一下 dubbo 服务暴露过程中的本地暴露。它只是一个开胃小菜,主要是为我们后面讲解远程暴露开个头。下面就来分析一下 dubbo 在远程暴露里面发生了哪些事。因为 dubbo 远程暴露里面的过程还是比较复杂的,所以我就分为三个文章来讲解 dubbo 的远程暴露:dubbo...转载 2018-06-29 14:13:59 · 255 阅读 · 1 评论 -
9、dubbo源码分析 之 服务远程暴露(中)
原文地址:http://www.carlzone.cn/dubbo/9-dubbo-expose-middle/在上一篇文章我们讲解了一下 dubbo 远程服务暴露过程中通过 Netty 进行 Socket 服务暴露。使得远程客户端可以访问这个暴露的服务,这个只是解决了访问之前点到点的服务调用。对于分步式环境当中,越来越多的服务我们如何管理并且治理这些服务是一个问题。因此 dubbo 引入了注册中...转载 2018-06-29 14:14:39 · 307 阅读 · 0 评论 -
10、dubbo源码分析 之 服务远程暴露(下)
原文地址:http://www.carlzone.cn/dubbo/10-dubbo-expose-lower/在前面的文章我们分析了一下 dubbo 远程服务暴露过程中通过 Netty 进行 Socket 服务暴露。使得远程客户端可以访问这个暴露的服务,这个只是解决了访问之前点到点的服务调用。对于分步式环境当中,越来越多的服务我们如何管理并且治理这些服务是一个问题。因此 dubbo 引入了注册中...转载 2018-07-03 14:06:34 · 265 阅读 · 0 评论 -
11、dubbo源码分析 之 服务引用
原文地址:http://www.carlzone.cn/dubbo/11-dubbo-consuer-ref/在使用 dubbo 的时候,我们对于远程服务调用是无感知的。当需要调用远程服务的时候我们只需要进行以下配置,就可以像本地调用的方式调用远程服务:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www....转载 2018-07-03 14:06:45 · 392 阅读 · 0 评论 -
Dubbo服务Jar 包启动失败,sed: cant read xxxxxx : No such file or directory command not found
Jekens 自动部署 Dubbo 服务时。shell 脚本执行异常。。。由于每个服务的 Jar 包,是在开发人员的 windows 系统上生成的,包括里面的 shell 脚本。所以,jar 包放在linux 上执行时,shell脚本执行失败。如下图:但是,实际上,配置文件是存在于目录的,造成此现象的原因是由于上文提到的, shell 脚本 在windows 上编译的,运行...原创 2019-04-11 15:45:52 · 2389 阅读 · 0 评论