Dubbo在工作中的使用流程

Dubbo注册流程分析 阅读详情

前提:在各个模块引入dubbo依赖,或者只在公共模块引入也行

<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
		</dependency>

dubbo配置文件示例

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd">

    <description>dubbo服务接口定义</description>

    <dubbo:application name="${application.name}" owner="${application.owner}" />
    
    <dubbo:registry protocol="zookeeper" address="${registry.address}"/>
		
    <dubbo:annotation package="xxx.viservice" />
    
    <dubbo:consumer check="false" />
    
</beans>
application.name=weipu-web-legou-consumer
application.owner=
#\u5e94\u7528\u6807\u8bc6
application.sign=xx

#127.0.0.1
registry.address=zookeeper://127.0.0.1:xxxx

#x1
x1.reference.version=1.0.0
x1.reference.group=shared
x1.reference.timeout=600000
x1.reference.retries=1
x1.reference.init=true

#x2
x2.reference.version=1.0.0
x2.reference.group=yy
x2.reference.timeout=600000
x2.reference.retries=1
x2.reference.init=true

1.在公共模块xxx-api编写service

package xx.xx.xx.xx;

import xx.xx.xx.xx.ZgCate;
import xx.xx.xx.xx.BaseService;

/**
 * 专柜分类表数据接口
*/
public interface ZgCateService extends BaseService<ZgCate, String> {

}

2.在xxx-serviceImpl模块编写serviceImpl 

@Service("xxZgCateServiceImpl")
public class ZgCateServiceImpl extends BaseServiceImpl<ZgCate, String> implements ZgCateService{

	@Resource(name="xxZgCateDaoImpl")
	private ZgCateDao zgCateDao;
	
	@Override
	public BaseDao<ZgCate, String> getBaseDao() {
		return this.zgCateDao;
	}

3.在xxx-dubbo模块引入api模块及xxx-serviceImpl

<dependencies>
		<dependency>
			<groupId>xx.xx.xx</groupId>
			<artifactId>xxxx-api</artifactId>
			<version>1.0.0-SNAPSHOT</version>
		</dependency>
        <dependency>
			<groupId>xx.xx.xx</groupId>
			<artifactId>xxx-serviceImpl</artifactId>
			<version>1.0.0-SNAPSHOT</version>
		</dependency>
</dependencies>

4.xxx-dubbo模块暴露服务

<!-- 专柜分类表 -->
	<dubbo:service interface="xx.xx.xx.xx.ZgCateService"
				   ref="xxZgCateServiceImpl" version="${xx.xx.version}"
				   group="${xx.xx.group}" timeout="${xx.xx.timeout}"
				   retries="${xx.xx.retries}" />

5.在web模块引用服务

<!-- 专柜分类表 -->
	<dubbo:reference id="weipuZgCateService"
					 interface="xx.xx.xx.xx.ZgCateService" version="${xx.xx.version}"
					 group="${xx.xx.group}" timeout="${xx.xx.timeout}"
					 retries="${xx.xx.retries}" />

6.在web模块代码中使用

@Controller("ZgCate")
@RequestMapping("/zgCate")
public class ZgCateController extends BasexxxController {

	@Resource
	private ZgCateService zgCateService;
....

简单流程:根据配置文件访问zookeeper获取服务的地址列表,进而远程调用服务.

Dubbo调用流程 近一段时间疏于总结,罪过罪过。 今天重温一下Dubbo的调用流程,如下图所示: Provider 第 0 步,start 启动服务。 第 1 步,register 注册服务到注册中心。 Consumer 第 2 步,subscribe 向注册中心订阅服务。 注意,只订阅使用到的服务。 再注意,首次会拉取订阅的服务列表,缓存在本地。 【异步】第 3 步... 阅读详情

相关推荐

FreeFEM++下载安装和使用

最近要利用机器学习求解一些偏微分方程,对于一些复杂的偏微分方程,需要一些精度比较高的参考解,导师推荐了FreeFEM++软件。首次使用,特此记录一下,以备以后查阅。 1、FreeFEM++简介 FreeFEM是开源的有限元模拟系统,有法国利翁斯实验室、埃尔和玛丽居里大学共同开发,在世界范围内广泛使用。 2、FreeFEM++去何处下载? 下载地址:https://freefem.org/ 点击Download,然后会跳转到 https://github.com/FreeFem/FreeFem-source

夜晓岚的博客 1万+

项目中dubbo的用法与配置

项目中dubbo的用法与配置 前言 大家好,今天我来给大家简单的说说关于项目中dubbo的一些作用和用法,做好笔记,我们开始。如果博客中出现技术性的错误,欢迎大家给我留言也可以私聊我改正,我定当虚心学习,谢谢大家。 正文 首先,dubbo是用来分布式项目中SpringMVC与Spring+mybatis之间通讯的工具,也就是服务的提供方和消费方,当然除了dubbo以外还有其他的工具比如webService,springCloud。 Dubbo出身阿里,适用于量大, 时效性好,实时性比较高一些,类似于我给您发

梨花香❤的博客 1641

基于MATLAB实现的克里金插值的代码

参考代码 克里金插值matlab代码 youwenfan.com/contentcsb/81657.html。

jghhh01的博客 483

什么是Dubbo?Dubbo在项目中是怎么用的?

什么是Dubbo? 黑马程序员Dubbo快速入门,Java分布式框架必会的教程 Dubbo 是阿里开源的远程服务调用(RPC)的分布式框架,提供了 SOA 服务治理方案;它的架构主要有五个角色/核心组件,分为是 Container(容器)、Provider(服务的提供方)、Registry(注册中心)、Consumer(服务的消费方)、Monitor(监控中心)。 容器主要负责启动、加载、运行服务提供者; 同时服务提供者在启动时,向注册中心注册自己提供的服务; 消费者向注册中心订阅自己的服务; 注册中心返

技术专家 1070

ms17-010 永恒之蓝漏洞利用+抓包分析过程

一、实验环境: 1、攻击机:Kali 1)攻击工具:msf 2)分析工具:wireshark 3)IP地址:192.168.204.157(自动获得) 2、靶 机:Windows7 1)版本:SP1 2)开启网络共享(SMB协议) 3)关闭防火墙 4)IP地址:192.168.204.150(自动获得) 3、网卡连接方式:Vmnet8(NAT) 二、实验步骤: ...

qq_41976183的博客 6948

Github多人协作

最近有门课程需要几个人一起开发一个项目,此前我们基本都是单干的,多人合作意味着需要及时将我们每个人的代码进行合并,U盘传文件这种方式太慢了,效率不行,而且没法解决两个人同时修改一个文件的问题,这次我们就尝试使用Github来协助开发。下面就来记录一下这次开发遇到的一些问题和解决的方法。 Git的安装 从官网下载最新版按照默认安装即可。 此处不多加说明。 Git常用命令 在此放上一...

yzr1216的博客 1万+

dubbo 的多种简单使用方式

环境配置 1. 是通过 Zookeeper 注册中心来实现 dubbo 中生产者与消费者之间的通讯,首先要把 Zookeeper 配置好并启动,Zookeeper 的配置与启动在另一篇文章(Zookeeper 安装与使用)已经介绍过。 2. 分别创建 Provider 与 Consumer 项目,此处是通过 Maven 构建项目的,接着我们需要在两个项目中配置好 dubbo 所需要的 dependency。 <project xmlns="http://maven.apache.org/POM

awangwanga的博客 1148

基于高精度三维机器视觉的新能源汽车锂电池表面缺陷检测

在机器视觉行业迅速发展的背景下,市场上提供了功能强大且种类齐全的3D相机系列,可以满足锂电池从电芯到模组各个工艺和工位的3D检测需求。

Hinyeung_Limited的博客 1133

Dubbo项目的搭建与配置及其demo

一、Dubbo的基本概念 1.分布式架构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为"服务"。这些子系统能够独立运行在web容器中,他们之间通过RPC方式通信。 优势:2.RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求的服务。RPC的俩个作用:3.Dubbo的作用:Dubbo的三大核心: 面向接口远程调用 智能容错和负载均衡 服务自动注册和发现4.注册中心Registry: 在Dubbo微服务体系中

weixin_49076273的博客 1760

FICO F.27 Customer statement 打印

需求,定制化打印,替换标准的F.27打印 类似于采购订单的打印,但是略有不同,查阅资料之后步骤如下: T-code F.27 is SAP standard program to produce customer/vendor correspondence (letter). Correspondence Type is used to specify the related printing program and form for the particular correspondence. SAP

IamRunjiang的博客 1968

uniapp中renderjs实战:手把手教你实现SSE即时通讯(附完整代码)

本文通过一个完整的实战案例,详细讲解了如何在uni-app中使用RenderJS实现SSE即时通讯功能。文章剖析了RenderJS作为Vue视图层强力补充的原理,并提供了包含自动重连、状态管理等健壮性设计的完整代码,帮助开发者突破框架限制,高效集成浏览器原生API。

weixin_29005499的博客 190

Dubbo入门使用

dubbo入门案例

weixin_41300437的博客 1048

详解账务核心,从入门到精通

本文系统阐述了账务体系的设计原理与实现方法,围绕支付交易的基础设施——账务系统展开深入探讨。文章首先从账务实现原理出发,强调从客户场景中抽象能力的重要性,详细解析了账务总架构及其与外围系统的协同关系。随后重点剖析了账户子系统的设计,包括账户生态、主体管理、结构设计等核心要素,并针对热点账户问题提出了多种创新解决方案。此外,文章还深入探讨了会计日切原理、营销类账务处理等专业领域,最后以支付机构场景为例,全面解析了清结算业务的账务实现模型。全文通过理论结合实践的方式,为构建高效、可靠的账务系统提供了系统性的方法

银行信息系统应用架构详解 532

dubbo管理工具之dubbo-admin安装使用

dubbo管理工具之dubbo-admin安装使用dubbo-admin-develop介绍dubbo-admin-develop 下载dubbo-admin-develop项目部署启动流程访问dubbo-admin dubbo-admin-develop介绍 dubbo-admin-develop是Dubbo RPC框架的“管理端”,可以对注册的服务(provider)和服务调用方(comsumer)进行服务治理,包括路由、监控、配置等功能; Dubbo一般都是使用zookeeper来进行管理服务注册,而

mry6的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

学会Dubbo服务注册、调用流程,再也不怕面试问Dubbo了!

这里我们通过 画图 的方式来学习 Dubbo 服务注册、服务调用的底层原理,不会涉及源码,因为源码中涉及到比较多的细节,可能会陷入进去,并且对于这些源码的细节我们也根本记不住,能记住的只是他底层调用的一个流程以及实现的方式, 因此学习它的原理流程是很重要的! 因此决定以画图的方式讲解 Dubbo 服务注册、Dubbo 服务调用的原理,在面试中就可以按照流程图的方式给面试官来讲解整体的实现原理,对于应届生校招来说应该是可以的,相关的 Dubbo 一些源码实现方式之后会以源码的方式来讲解!

qq_45260619的博客 2731

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Dubbo调用的核心流程

服务注册与发现服务调用结果返回到这终于讲完了一次RPC请求在Dubbo中经历整个核心流程不知道你看完有什么感受这里我再来画一张图总结整个调用过程值得注意是,上面提到的所有调用环节,注意说的是所有,Dubbo都留了对应的扩展点。也就是说,小到一个Filter,大到整个通信协议你都可以进行自定义扩展。从这也可以看出,Dubbo在设计上的优秀之处。

sinat_33536503的博客 1112

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

dubbo服务注册流程

dubbo服务发布流程 服务注册流程

liulong1010的专栏 2232

Dubbo的简单使用

一、架构演进 单体架构 垂直应用架构:根据业务边界拆分,每个功能称为一个服务 公共的业务service,导致很多部分的冗余 分布式应用架构:把公共服务器的service提取成一个服务 网络通讯的问题,使用RPC框架 服务集群的负载均衡处理 服务如何被发现 服务如何被治理 服务之间如何高效的通信 微服务架构,主要解决以下几个问题 服务的注册和发现 服务的搞笑通信 服务的治理:服务权重、负载均衡、服务熔断、限流等等 二、注册中心 1、概述 主流的注册中心:

liming0025的专栏 7376

Dubbo使用invoke指令来调用dubbo接口

最近被分配了一个任务,是通过`dubbo`的方式对外提供服务,`dubbo`没有我们一般的web项目中的`Controller`层,所以没有办法通过`http`的方式进行调用调试。作为萌新的我,确实有点一筹莫展,直到被老司机提醒使用`dubbo` `invoke`的方式进行接口测试,我才有方向。

蹊源的奇思妙想的博客 2万+

Dubbo源码解读-消费端DubboInvoker的调用流程解析

消费端调用流程消费端依赖注入服务端后,当消费端请求服务端时,调用流程为:MockClusterInvoker->FailOverClusterInvoker->DubboInvokerr.doInvoke().最终回调DubboInvoker类。DubboInvoker调用前的详细流程可跳转至ExchangeClient初始化过程。DubboInvoker调用流程总结和铺垫。

胖墩儿没腹肌 2384

Dubbo经典之作(Dubbo使用详解)

Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。Dubbo3 定义为面向云原生的下一代 RPC 服务框架。

qq_45626589的博客 4459

dubbo启动流程

dubbo启动流一

YHB123654的博客 1947

dubbo安装及使用

dubbo和zookeeper的关系 dubbo和zookeeper的关系 zookeeper安装 zookpper安装 dubbo快速入门 概念 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负

sashaSloan的博客 2807

Dubbo服务暴露流程

1. 前言 DubboBootstrap启动时,首先会通过initialize()方法完成初始化,装配各种Config对象,为后续的服务暴露和引用准备好环境。 ​ ServiceConfig对象就是Dubbo对服务的描述对象,服务暴露的逻辑都在ServiceConfig#export()里面,Dubbo暴露服务也就是遍历所有的ServiceConfig,挨个进行暴露。 上图是官方文档给的图,在Dubbo的架构体系中,像集群容错、负载均衡等逻辑都是客户端实现的,所以服务暴露的过程相对会简单很多。Servic

程序员小潘 3262

Dubbo的入门使用

前言:Dubbo是一款java RPC(远程过程调用)框架。 1、Dubbo运行流程: (1)Dubbo框架启动,容器Container一启动,服务提供者Provider会将提供的服务信息注册到注册中心Registry,注册中心就知道有哪些服务上线了;当服务消费者Consumer启动,它会从注册中心订阅subscribe所需要的服务。 若某个服务提供者变更,比如某个机器下线宕机,注册中心基于长连接的方式将变更信息通知给消费者。 消费者可以调用服务提供者的服务,同时会根据负载均衡算法选择服...

zhouth94的博客 4128

浅谈Dubbo核心概念及架构流程

Dubbo源码主体流程可以总结为:服务提供者将编写的业务Service服务,按照某种协议序列化到注册中心,标记当前服务的网络资源所在的位置;服务消费者根据指定的key(version+interfaceName+group)去注册中心中找到对应的序列化数据,再将数据反序列化为服务消费者能够识别的格式,最终对目标资源发起调用。以此达到我们调用远程服务变成跟调用本地服务一样。整体功能完成的基础上,Dubbo在设计上对扩展开放,一些比较重点的节点都能够进行扩展。

持续Java学习中 1800
上一篇: 根据提供的规格数据(Map<规格名称,List<规格值>>),实现生成规格商品
下一篇: js以map形式组装数据
learnjava1989
博客等级 码龄9年 9粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值