Dubbo消费服务-02

Dubbo服务消费者调用过程 Protocol 它会利用注册中心服务Registry来获取最新的服务器端注册的url地址,然后再利用协议Protocol将这些url地址转换成一个具有远程通信功能的Invoker对象,如DubboInvoker。将通过远程通信将Invocation信息传递给服务器端,服务器端接收到该Invocation信息后,找到对应的本地Invoker,然后通过反射执行相应的方法,将方法的返回值再通过远程通信将结果传递给客户端。对于client端,则是将上述创建的集群版Invoker(Cluster)创建出代理对象。 阅读详情

*前言:上一篇文章中,我们已经成功发布了一个dubbo服务接口,下面我们建立一个消费者来消费服务。

*请先确保服务接口已经成功发布。

①首先,我们新建一个简单maven项目dubbo-demo-consumer,在pom.xml下添入依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.6.0</version>
</dependency>
<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.10</version>
</dependency>
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>4.0.1</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.46</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>
<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-all</artifactId>
    <version>4.0.35.Final</version>
</dependency>

②新建一个接口DemoProviderService为服务提供者(与上篇文章的服务接口对应):

package com.java.service;

/**
 * 服务提供者接口
 * @author zxy
 *
 */
public interface DemoProviderService {

    public String sayHello(String name);

}

③将dubbo-demo\dubbo-demo-consumer\src\main\resources\META-INF\spring路径下的dubbo-demo-consumer.xml复制到项目resource路径下,可参考我的写法:

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

    <!-- 提供方应用名称,用于计算依赖关系 -->
    <dubbo:application name="demo-provider"/>

    <!-- 使用zookeeper注册中心暴露服务地址 本地为127.0.0.1 默认为2181端口 -->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>

    <!-- 使用dubbo协议,在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880"/>

    <!-- service实现类作为本地的一个bean 与暴露的服务接口对应-->
    <bean id="demoProviderService" class="com.java.service.impl.DemoProviderServiceImpl"/>

    <!-- 声明需要暴露的服务接口 -->
    <dubbo:service interface="com.java.service.DemoProviderService" ref="demoProviderService"/>

</beans>

④消费自定义服务接口:在项目test路径下新建一个测试ConsumerTest:

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.java.service.DemoProviderService;

public class ConsumerTest {

    public static void main(String[] args) {
        ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext(new String[]{"dubbo-demo-consumer.xml"});
        context.start();

        DemoProviderService demoProviderService=(DemoProviderService)context.getBean("demoProviderService");
        String result=demoProviderService.sayHello("您好");
        System.out.println("远程调用的结果:"+result);

        try {
            System.in.read();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        context.close();
    }

}

运行程序,eclipse控制台可以看到:
这里写图片描述
同时,我们观察管理控制器,可以看到dubbo服务变化了状态信息,由未消费变成了正常,可以对消费者进行功能管理:
这里写图片描述
*自此,我们成功消费了暴露的自定义服务接口。

NBIS单细胞教程:差异基因(五) 此文章是通过学习瑞典国家生物信息学基础设施(NBIS) 所开放的单细胞分析教程加上网上所查找的资料,自身的理解所形成的,可能会有不足之处。该部分是对不同集群之间的差异基因进行分析。参考来源:https://github.com/NBISweden/workshop-scRNAseq/blob/master/labs/seurat/seurat_05_dge.Rmd感兴趣的话可以阅读原文。 阅读详情

相关推荐

HDMI接口协议

接口HDMI(High-Definition Multimedia Interface),新一代多媒体接口标准。即高清多媒体接口。它能够同时传输视频和音频,简化了设备的接口和连线;同时提供了更高的数据传输带宽,可以传输无压缩的数字音频及高分辨率视频信号。HDMI 1.0 版本于 2002 年发布,最高数据传输速度为 5Gbps;而2017 年发布的 HDMI 2.1 标准的理论带宽可达 48Gbps。1、能够同时传输视频和音频,简化了设备接口与连线。2、提供了更高的数据传输带宽,

weixin_42581439的博客 2597

JavaGuide-关于Dubbo的重要知识点

本文是作者根据官方文档以及自己平时的使用情况,对 Dubbo 所做的一个总结。如果不懂 Dubbo 的使用的话,可以参考我的这篇文章《超详细,新手都能看懂 !使用SpringBoot+Dubbo 搭建一个简单的分布式服务》 Dubbo 官网:http://dubbo.apache.org/zh-cn/index.html Dubbo 中文文档: http://dubbo.apache.org/zh-cn/index.html 一 重要的概念 1.1 什么是 Dubbo? 1.2 什么是 RPC?RPC

AlphaCat的博客 1022

告别Keil手动分区!用CubeMX+VS Code一键生成带Bootloader的STM32 OTA工程

本文详细介绍了如何利用STM32CubeMX和VS Code实现STM32 OTA工程的自动化构建,告别传统Keil手动分区的繁琐流程。通过图形化配置Flash分区、自动生成链接脚本以及实现Bootloader跳转逻辑,开发者可以高效完成远程升级功能开发,显著提升嵌入式开发效率。

weixin_33720956的博客 389

Dubbo—— 一个服务既是消费者又是提供者

Dubbo—— 一个服务既是消费者又是提供者 实现目标 使用dubbo实现每个服务互相远程调用 ssm实现 依赖 在每个服务中添加: <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> <exclusions> <!-- 项目中已有spr

weixin_43932472的博客 2767

FPGA中的CMAC硬核与Interlaken硬核

CMAC硬核和Interlaken硬核是FPGA中两种重要的内置功能模块,它们分别在CNN推理和高带宽芯片到芯片接口方面发挥着关键作用。FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)中的CMAC硬核与Interlaken硬核是两种重要的内置功能模块,它们在FPGA设计中扮演着关键角色。需要注意的是,FPGA设计中的硬核选择不仅取决于硬核本身的性能,还需要考虑硬核与FPGA芯片其他部分的兼容性、功耗、成本等因素。Interlaken硬核。

weixin_41230430的博客 1481

DeepSeek 在 PostgreSQL 中,执行 `DELETE` 操作后,数据占用的空间并不会立即释放给操作系统

操作后,数据占用的空间并不会立即释放给操作系统。这是 PostgreSQL 的 MVCC(多版本并发控制)机制决定的——删除的数据只是被标记为“死元组”,物理空间仍然被表占用。这是最彻底的释放方式,会将表重写为一个没有空洞的新文件,将空间返回给操作系统。如果你的表非常大(如几百GB),或者这是生产环境的核心表,建议优先考虑。你可以告诉我你的表大概多大、是否能接受锁表,我可以给你更精确的建议。要真正释放空间,需要根据你的实际需求,从以下三种方案中选择一种。如果你既想彻底释放空间,又无法接受锁表,

m0_37843156的博客 404

【培训】DAY22 dubbo分布式服务框架

dubbo分布式服务框架基础知识分布式基础理论什么是分布式系统?为什么要使用分布式系统经?分布式系统发展演变单一应用架构垂直应用架构分布式服务架构流动计算架构PRC什么叫RPC?PRC基本原理dubbo核心概念简介基本概念调用关系说明环境搭建【windows】-安装zookeeper【windows】-安装dubbo-admin管理控制台监控中心(dubbo-monitor-simple)1、安装...

Memory的博客 522

【图像超分】论文复现:CVPR 2024 | 轻量化超分 | 窗口注意力改进 | CAMixerSR的Pytorch源码复现,跑通源码,获得指标和超分结果,计算复杂度,架构梳理拆解,逐行注释!

本文介绍了超分辨率重建方法CAMixerSR的代码实现与运行指南。文章亮点包括:完整跑通源码获取PSNR/SSIM指标和可视化结果;详细解析模型架构与关键代码注释,帮助快速复现基线模型。实验部分提供了测试配置文件和训练设置说明,支持2K/4K/8K大图像超分和x2/x4轻量化超分。环境依赖PyTorch和BasicSR框架,数据集包含DIV2K等常用基准。测试结果与论文指标一致,可视化输出保存至指定目录。训练配置可自定义数据集路径、GPU数量等参数。该实现突出了CAMixerSR在降低W-MSA复杂度方面的

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 438

dubbo 既是提供方又是消费方的问题

dubbo既是服务提供方,又是消费方,直接在dubbo的配置文件中一起写就好了。但注意端口号一定要不一样,一个提供方一个端口 --> -->  --> ref="articleService" /> --> -->

q596333033的博客 7512

C# 与欧姆龙 PLC 实战:通过 Ethernet/IP 协议进行设备控制与监控

本文介绍了如何通过C#和Ethernet/IP协议实现与欧姆龙PLC的通信。Ethernet/IP是基于以太网的工业协议,适用于工业设备间的实时数据交换。文章详细讲解了使用EthernetIPSharp库建立连接、读写数据的步骤,并提供了示例代码。此外,还探讨了实时监控、报警系统等高级功能,为工业自动化控制系统开发提供了实用指导。该方法简化了PLC通信开发,提高了系统可靠性和智能化程度。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 814

【Unity】【WebRTC】如何用Unity而不是浏览器接收远程画面

之前几篇我们讨论了如何设置信令服务器,如何发送画面给远端以及如何用浏览器查看同步画面,今天来讨论如何实现Unity内部接收画面。看本篇之前请先看过之前将web服务器设置和基本远程画面功能的几篇博文。在Unity编辑器中打开一个示例项目,点击BroadCast按钮。4. 再点击Receiver按钮,Start。Build一个示例项目,并运行这个项目。启动Web.app。

每日出拳老爷子的博客 1721

dubbo服务暴露和消费的详细过程

(1)服务提供者暴露一个服务的详细过程服务提供者暴露服务的主过程:首先ServiceConfig类拿到对外提供服务的实际类ref(如HelloWorldImpl),然后通过ProxyFactory的getInvoker()方法使用ref生成一个AbstractProxyInvoker实例,到这一步就完成具体服务到Invoker的转化。接下来就是Invoker转换到Exporter的过程。Dubbo...

qq_33827112的博客 6321

Transformer-LSTM预测 | 基于Transformer-LSTM的多变量单步时间序列预测(Matlab)

Transformer-LSTM预测 | 基于Transformer-LSTM的多变量单步时间序列预测(Matlab)

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 192

docker安装zookeeper和dubbo-admin实现RPC远程调用

1、安装Zookeeper 1)下载zookeeper镜像 docker pull zookeeper 2)启动zookeeper docker run --name zookeeper -p 2182:2181 -v /root/zookeeper/data:/data -d zookeeper 2、安装dubbo-admin 1)下载tomcat镜像 docker pul...

nikeylee的博客 1181

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Dubbo框架介绍和入门程序

Dubbo框架介绍和入门程序 RPC介绍 Remote Process Callable 表示远程调用的意思 两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法 工作流程 》1、 A连接B,主要是通过在客户端和服务器之间建立TCP连接 》2、 A查找B上的方法 ,A调用RPC框架,需要B服务器(如主机或IP地址)以及特定的端口,方法的名称 》3、 A 传参-序列化:方法的参数需要通过底层的网络协议如TCP传递到B服务器,通过寻址和传输将序列化的二进制发送给B服务器 》4、

weixin_44014201的博客 410

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Dubbo源码解读-Consumer消费端服务列表刷新

RegistryDirectory.notify(List invokerUrls)监听三个节点providers,configurators,routers根据Url中的目录(category),设置具体协议urlinvokerUrls:dubbo协议:providers目录routerUrls:router协议:routes目录configuratorsUrl:overide协议:configurators处理协议:routerUrls:routes目录变动。

胖墩儿没腹肌 3016

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Dubbo高手之路3,Dubbo服务消费详解

Dubbo 服务消费是 Dubbo 服务分布式架构的重要组成部分,它主要负责服务的消费和调用。在 Dubbo 中,服务消费是通过注册中心和发布中心来实现的。注册中心负责服务的注册和发现,发布中心负责服务的发布和广播。Dubbo 服务消费提供了多种消息代理技术,如 Apache Kafka、RabbitMQ 等,可以支持大规模的分布式系统的高效消费和发布。

学Java,找哪吒 1341

springboot 整合dubbo消费,服务

开发工具:Idea虚拟机(zookeeper,dubbo,rabbitmq) google浏览器 模块清晰: 三个模块,1.提供者provider 2.消费者consumer 3.公共模块(接口、实体类)api 一、创建公用模块maven工程 (不需要配置任何东西、直接编写代码) Pojo放置一些实体类 Service...

小码农吗 2684

Spring Cloud 与 Dubbo 的整合:服务发现与消费者识别

Spring Cloud 与 Dubbo 的整合在现代微服务架构中起到了重要作用。通过配置 Dubbo 的服务发现机制,开发者可以确保服务的可靠性和稳定性。此外,通过合理使用Data ID,开发者可以有效地管理服务消费者,并快速定位问题。在本文中,我们详细介绍了如何配置 Dubbo 的服务发现与消费者识别,并提供了几种查看服务注册信息的方法。掌握这些技能将帮助开发者更好地管理和优化分布式系统中的服务调用,提升系统的整体性能和可维护性。Dubbo 的强大之处在于它的灵活性和可扩展性。

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 2万+

dubbo服务消费

dubbo服务消费

weixin_42145727的博客 888

zookeeper的安装与通过dubbo实现服务消费方远程调用

Zookeeper 是 Apache Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo服务的注册中心,工业强度较高,可用于生产环境,并推荐使用 。 安装zookeeper 下载地址:http://archive.apache.org/dist/zookeeper/ 本次使用的Zookeeper版本为3.4.6,并将zookeeper部署到Linux系统中。下载完成后可以获得名称为zookeeper-3.4.6.tar.gz的压缩文件。安装...

qq_59711904的博客 2164

dubbo服务消费过程(一)

如何实现服的消费 生成远程服务的代理 获取目标服务的url地址 实现远程网络通信 实现负载均衡 实现集群容错 Invoker 服务引入 消费端的代码解析是从下面这段代码开始的 <dubbo:reference id="xxxService" interface="xxx.xxx.Service"/> 注解的方式的初始化入口是 ReferenceAnnotationBean...

liulong1010的专栏 2301

dubbo消费者调用多个服务_Dubbo服务消费者调用过程

上图是服务消费的主过程:首先通过ReferenceConfig类的private void init()方法会先检查初始化所有的配置信息后,调用private T createProxy(Map map)创建代理,消费者最终得到的是服务的代理, 在createProxy接着调用Protocol 接口实现的 Invoker refer(Class type, URL url)方法生成Invoker实...

weixin_32308019的博客 1330

Dubbo进阶(九):服务消费原理

之前在服务暴露原理中讲解了Dubbo是如何暴露服务的,这篇博客针对Dubbo消费原理一探究竟,主要从以下几个方面进行分析: 注册中心的暴露; 通过注册中心进行服务消费通知; 直连服务进行消费。 服务消费端的详细过程 服务消费端启动时,将自身的信息注册到注册中心的目录,同时还订阅服务提供方的目录,当服务提供方的 URL 发生更改时,实时获取新的数据。 上图中可以看到,服务消费的流程与服务暴露的流程有点类似逆向的。从整体来看,Dubbo做服务消费也分为两大部分,第一步通过持有远程服务实例生成Invoker

程铭程铭你快成名的博客 1万+

dubbo 3服务消费源码分析

前言 紧接上文,dubbo 3服务注册源码分析,本文开始分析dubbo 3服务消费源码,消费端的源码相对注册端来说要更加复杂一些 首先需要了解以下,服务消费需要做哪些操作,本文从dubbo和springboot的结合开始分析 服务消费必须做的以下一些事情 扫描@DubboReference的字段,并把这些对象注入到spring中成为bean,后续其他字段无论使用@DubboReference还是@Autowird都能够注入对象 注入的对象在被调用时必定会发起一个远程RPC调用访问远程服务,这个就很容易想到

qq_31086797的博客 1987

Dubbo服务环境搭建以及Dubbo服务的提供者和消费者配置详解

项目中引入了Dubbo,对外需要提供一个Dubbo的接口服务,编写了一个demo,在此提供出来,供初学者引用。 主要包括:在spring项目中引入对dubbo的支持,编写dubbo的provider和consumer,提供一个可测试的小demo。目标:开发环境中添加对Dubbo的支持,编写Dubbo服务的提供者和消费者。环境:Spring4.0, Dubbo2.5.3, Zookeeper3.4.

听从内心的召唤 1万+
上一篇: Dubbo初步搭建-01
下一篇: Dubbo接口抽取及依赖版本统一-03
IceCaptain
博客等级 码龄10年 12粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值