首页 > TAG信息列表 > Dubbo
Dubbo-Activate实现原理
前言在Dubbo中有Filter使用,对于Filter来说我们会遇到这样的问题,Filter自身有很多的实现,我们希望某种条件下使用A实现,另外情况下使用B实现,这个时候我们前面介绍@SPI和@Adaptive就不能满足我们要求了,这个时候我们就需要使用@Activate。 Activate注解表示一个扩展是否被激活(使用),可Apache Dubbo 3.0 教程 2022最新版
ApacheDubbo是一个微服务开发框架,提供了RPC通信和微服务治理两大关键能力。这意味着使用 Dubbo 开发的微服务将具有相互远程发现和通信的能力。同时,利用Dubbo提供的丰富的服务治理能力,可以实现服务发现、负载均衡、流量调度等服务治理需求。同时,Dubbo具有很强的可扩展性,用户几乎可最简单的dubbo教程-admin管理平台搭建
##1. 准备工作 下载我已经打好的war包,链接: 也可以到我的参考博客,自行打包 ##2.安装 将下载好的dubbo-admin-2.5.4-SNAPSHOT.war包放到tomcat的webapps目录下。 启动tomcat解压war包,然后再关闭tomcat。 ##3.配置 在dubbo-admin-2.5.4-SNAPSHOTWEB-INF下修改dubbo.properties,默认地址springcloud-alibaba dubbo/feign 20220905
Feign组件为内部服务通信(声明式HTTP客户端) 简洁、方便、优雅 微服务之间的通信 REST API HTTP并不会开启KeepAlive功能,当前连接为短连接,每次请求都需TCP连接,效率低下 外部服务REST API/内部调用Feign组件(声明式HTTP调用) 外使用REST API/内服务Dubbo-Adaptive实现原理
前言 前面我们已经分析Dubbo SPI相关的源码,看过的小伙伴相信已经知晓整个加载过程,我们也留下两个问题,今天我们先来处理下其中关于注解Adaptive的原理。 什么是@Adaptive 对应于Adaptive机制,Dubbo提供了一个注解@Adaptive,该注解可以用于接口的某个子类上,也可以用于接口方法上。如果Dubbo 线程池占满可能原因分析
可能原因:(1) dubbo中有httpClient调用。 由于http工具默认仅支持 5 个并发,且有线程池队列,当请求量超过 5 个的时候,多余的请求会在队列中堆积。前一批http请求结束之后其他的请求才会继续执行,越到后面线程等待时间会越长。所以对应实际业务场景中dubbo线程等待的时间也会越长,当这个Dubbo学习
Dubbo 前言 1.1 大型互联网项目架构目标 1.2 集群和分布式 概念 集群:很多“人”一起,干一样的事。 一个业务模块,部署在多台服务器上。 分布式:很多“人”一起,干不一样的事。这些不一样的事,合起来是一件大事。 一个大的业务系统,拆分为小的业务模块,分别部署在不同的机器上。那些年我们一起踩过的Dubbo坑
前言 微服务架构在如今的9102年已经不是什么新鲜的话题了,但是怎么做好微服务架构,却又是一个永恒的话题。比如服务粒度的划分,怎么控制好粗细?服务划分后,对于项目的部署会有什么改变?... 这会是一个很大的话题,以后可以分开篇章探讨一翻,但是我们本篇并不打算聊这个,而是讨论一下Dubbo-SPI机制
前言 SPI全称为Service Provider Interface,是Java提供的一种服务发现机制。SPI的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。 正因此特性,我们可以很容易的通过SPI机制为我们的程序提供拓展功能。今dubbo
1.dubbo: Java之间内部调用,使用 私有序列化二进制协议 1.去中心化,客户端直连服务端 2.动态注册和发现服务 3.高效稳定的网络传输 4.高效可容错的序列化 2.弊端: 不支持跨语言。 序列化: Dubbo序列化支持java、compactedjava、nativejava、fastjson、dHSF转dubbo
背景说明 HSF是闭源的,考虑用开源产品(dubbo)进行替代。 如果是考虑要从一个rpc框架转成另一个,或许也可以参考本文。 主要思想:进行rpc的发布、订阅操作,其实是集中在2个类里面(provider/consumer),而不是散落在每个实现类里面。而替换成其它rpc时候,就是针对父类(providerFather/consumerFLinux下搭建ZooKeeper集群并整合Dubbo配置
1.环境说明 Zookeeper 不仅可以单机提供服务,同时也支持多机组成集群来提供服务,实际上Zookeeper还支持另外一种伪集群的方式,也就是可以在一台物理机上运行多个Zookeeper实例. Zookeeper通过复制来实现高可用性,只要集合体中半数以上的机器处于可用状态,它就能够保证服务继续。Dubbo源码(八) - 负载均衡
前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行。 例如:在Dubbo中,同一个服务有多个服务提供者,每个服务提供者所在的机器性能不一致。如果流量均匀分摊,则一文搞懂 Dubbo 入门理论
RPC简介 ● RPC, Remote Procedure Call ,远程过程调用,是一种跨系统间服务调用的协议或框架 ● 在很多企业,在内部存在大量的业务子系统,这些子系统都承担独立的业务功能,并相互协作,实现企业各种业务 ● 这些业务子系统协作过程中,存在大量的相互接口调用,常用的接口调用技术RPC协议
RPC 全称是 Remote Procedure Call ,即远程过程调用,其对应的是我们的本地调用。远程其实指的就是需要网络通信,可以理解为调用远程机器上的方法。那可能有人说:我用 HTTP 调用不就是远程调用了,那不也叫 RPC 了?不是的,RPC 的目的是:让我们调用远程方法像调用本地方法一样无差别,解决分布day02-商家平台-员工、品牌、门店
学习目标 1、掌握mybatis-plus代码生成器的使用 2、掌握springcloud-alibaba-dubbo的使用 3、完成品牌管理开发 4、完成门店管理开发 5、完成用户管理开发 第一章 mybatis-plus代码生成器 AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Map3.rpc基本原理
调用步骤: dubbo的特性:1.初识Dubbo
1.为什么Dubbo说自己的性能高 高性能要从底层原理说起,既然是一个RPC框架,主要干的就是远程过程(方法)调用,那么提升性能就要从最关键、最耗时的两方面入手:序列化和网络通信 序列化: 我们学习java网络开发时知道,本地的对象子要在网络上传输,必须实现Serializable接口,也就是dubbo学习
1.分布式系统 传统项目和互联网项目 传统项目:OA,crm,hr. 互联网项目:天猫,京东,微信。 用户群体:企业员工VS网民 用户体验:美观,功能,速度,稳定性 互联网项目特点: 用户多 流量大,并发高 海量数据 易受攻击 功能繁琐 变更快 集群和分布式 集群:一个服务部署到多个服务器 分布式:一个大的业Dubbo源码(二) - SPI源码
前情提要 假设你已经知道Dubbo SPI的使用方式,不知道的请出门左转: Dubbo源码(一) - SPI使用 Dubbo源码地址: apache/dubbo 本文使用版本:2.6.x 测试Demo 新建SPI测试接口以及实现类 package com.javaedit.spi; import com.alibaba.dubbo.common.URL; // 定义SPI接口 @SPI public idubbo和feign的区别
一、概述 Feign Feign是Spring Cloud提供的一个声明式的伪Http客户端,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并添加一个注解即可。 Nacos注册中心很好的兼容了Feign,Feign默认集成了Ribbon,所以在Nacos下使用Fegin默认就实现了负载均衡的效果。 Dubbo Dubbo7 什么是dubbo
什么是dubbo 快速入门dubbo 了解什么是dubbo之前,我们得先了解什么是分布式系统? 《分布式系统原理与范型》定义: 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统 分布式系统(distributed system)是建立在网络之上的软件系统。 简单来说:多个(不同职责)人共同简单记录一次远古版本dubbo发生的PermGen space异常
环境介绍: dubbo的版本是比较旧的版本, 肯定是小于2.5的, jdk版本是1.7, 默认使用的是HotSpot虚拟机 前提说明: dubbo版本应该就是最原始的2.x的版本, 由于在这个基础上公司还经过了自己的自定义封装, 所以升级的话肯定是没戏的, 其次, 也是由于某些模块很少使用到, 所com.alibaba.dubbo.config.annotation.Service和org.springframework.stereotype.Service两种@Service的区别
com.alibaba.dubbo.config.annotation.Service和org.springframework.stereotype.Service两种@Service的区别 在开始文章之前,首先声明 spring作用在类上的注解(有@Component,@Service,@Controller等),都表明这些类是要交给spring容器管理,相当于自动给我们创建了一个bean即注dubbo-zookeeper
1. 软件架构的演进过程 软件架构的发展经历了由单体架构、垂直架构、SOA架构到微服务架构的演进过程,下面我们分别了解一下这几个架构。 1.1 单体架构 架构说明: 全部功能集中在一个项目内(All in one)。 架构优点: 架构简单,前期开发成本低、开发周期短,适合