Dubbo之生产者

生产者消费者使用Dubbo进行通信的两种方式 1. 直接使用dubbo通信这种情况下可以不用配置注册中心provider spring.application.name=dubbo-spring-boot-starter spring.dubbo.server=true spring.dubbo.registry=N/A @Service(interfaceClass = DemoService.class) public class Dem... 阅读详情

Dubbo之生产者

环境步骤:

 

  1. 安装Zookeepr启动
  2. 创建Maven项目搭建生产者和消费者
  3. 安装DubboAdmin平台,实现监控

 

Dubbo注册中心采用的是Zookeeper。为什么采用Zookeeper呢?

Zookeeper是一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心。

Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求

 

创建Maven工程

 

项目结构:

主要分三大模块:

toov5-dubbo-api : 存放公共接口;

toov5-dubbo-consumer : 调用远程服务;

toov5-dubbo-provider : 提供远程服务

 

创建maven  toov5-member-api  

       然后创建子模块   toov5-member-service-impl

 

1、创建maven 父pom文件项目

2、创建两个maven model 一个是a; toov5-member-dubbo-service-api (依赖公用接口 去实现之) 

                                          一个是b: toov5-member-public-dubbo-api (公用接口)

a的pom 要依赖 b

         <dependency>
	    <groupId>com.toov5</groupId>
            <artifactId>toov5-member-api</artifactId>
            <version>0.0.1-SNAPSHOT</version>
	  </dependency>

依赖了就可以去实现了哦

 

生产者:

pom

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.toov5</groupId>
    <artifactId>toov5-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>toov5-member-dubbo-service-api</artifactId>
    <dependencies>
	  <dependency>
	    <groupId>com.toov5</groupId>
        <artifactId>toov5-member-api</artifactId>
        <version>0.0.1-SNAPSHOT</version>
	  </dependency>
	  
	  <dependency>
			<groupId>com.101tec</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.10</version>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>org.jboss.netty</groupId>
			<artifactId>netty</artifactId>
			<version>3.2.5.Final</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.3.9.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
			<exclusions>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.jboss.netty</groupId>
					<artifactId>netty</artifactId>
				</exclusion>
			</exclusions>
		</dependency>	  
  </dependencies>
</project>

  

package com.toov5.member.service.impl;

import com.toov5.api.member.service.MemberService;

public class MemberServiceImpl implements MemberService {
     
       public String getUser(Long userId) {
        System.out.println("订单服务调用会员服务:userId"+userId);
        return "toov5";
    }
    
    
}

启动类

package com.toov5.member.service.impl;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AppMember {
   
    public static void main(String[] args) throws IOException {
        
    ClassPathXmlApplicationContext applicationContext  = new ClassPathXmlApplicationContext("dubbo-provider.xml");    
    applicationContext.start();  //发布服务直接
    System.out.println("会员启动成功...");    
    System.in.read();  //服务一直保持运行
    
    }
     
}

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:dubbo="http://code.alibabatech.com/schema/dubbo"
	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">
	<!--定义了提供方应用信息,用于计算依赖关系;在 dubbo-admin 或 dubbo-monitor 会显示这个名字,方便辨识 -->
	<dubbo:application name="demotest-provider" />
	<!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper -->
	<dubbo:registry address="zookeeper://192.168.91.5:2181" />
	<!-- 用dubbo协议在20880端口暴露服务 -->
	<dubbo:protocol name="dubbo" port="20880" />
	<!--使用 dubbo 协议实现定义好的 api.PermissionService 接口 -->
	<dubbo:service interface="com.toov5.api.member.service.MemberService"
		ref="MemberServiceImpl" protocol="dubbo" />
	<!--具体实现该接口的 bean --> <!-- 包名+类名 -->
	<bean id="MemberServiceImpl" class="com.toov5.member.service.impl.MemberServiceImpl" />
	
</beans>

 

 启动会员服务:

 

privider 下面的节点是经常变换的 所以临时的

 

Dubbo生产者消费者实例剖析与实现 Apache Dubbo 是一个高性能、轻量级的 Java RPC 框架,最初由阿里巴巴开源。它作为微服务架构中的重要组件,支持多种通信协议,并且具备强大的服务注册与发现机制。自开源以来,Dubbo 在国内外得到广泛的应用,成为 IT 行业中处理分布式系统服务调用和管理的首选框架之一。服务生产者是Dubbo框架中用于暴露服务接口的一方,它将内部实现的业务逻辑包装成可供远程调用的接口,通过网络提供给服务消费者使用。 阅读详情

相关推荐

springboot+dubbo+zookeeper实现多个生产者、消费者的负载均衡

springboot整合dubbo,通过maven分模块实现基础接口、生产者、消费者,连接本地安装的zookeeper实现负载均衡

【SpringCloudAlibaba学习 04】整合Dubbo(实现数据消费者服务调用数据生产者服务)

整合Dubbo,实现服务之间的内部调用

杜小舟的博客 2748

Dubbo生产者消费者示例源代码(基于Eclipse的Maven项目)

Dubbo生产者消费者示例源代码,Eclipse项目,基于Maven构建,可以直接导入Eclipse开发环境,本人亲测,编译通过,可以直接在Eclipse中运行(包含Main方法),先运行提供者,再运行生产者。

Dubbo 实战 - 生产者发布服务

Dubbo 生产者发布服务是将本地服务对外暴露,使得其他服务消费者能够发现并调用的过程。这一过程涉及服务注册、配置读取、协议选择、服务导出等多个步骤。下面是一个简化的实战流程,帮助理解如何在项目中发布Dubbo服务。

qq_33240556的博客 636

dubbo 多生产者消费者示例

后端启用多个服务生产者,对外暴露,消费者执行多次调用过程,注册中心zookeeper根据负载均衡策略,会随机切换到不同的服务端口,完成服务调用,zookeeper控制台,对服务权重进行修改,控制服务被调用的频率.

五.卡尔曼滤波器(EKF)开发实践之五: 编写自己的EKF替换robot_pose_ekf中EKF滤波器

本系列文章主要介绍如何在工程实践中使用卡尔曼滤波器,分五个小节介绍: 一.卡尔曼滤波器开发实践之一: 五大公式 二.卡尔曼滤波器开发实践之二: 一个简单的位置估计卡尔曼滤波器 三.卡尔曼滤波器(EKF)开发实践之三: 基于三个传感器的海拔高度数据融合 四.卡尔曼滤波器(EKF)开发实践之四: ROS系统位姿估计包robot_pose_ekf详解 五.卡尔曼滤波器(EKF)开发实践之五: 编写自己的EKF替换robot_pose_ekf中EKF滤波器 也就是本文 ...

okgwf的博客 4138

Dubbo生产者消费者

我今天了解一下dubbo的用法,虽然多,但是我只想了解注解的用法(毕竟之前都主要是注解)。 然后再dubbo-samples下面有个dubbo-samples-annotation目录。给的示例是使用zookeeper作为注册中心,要实现的就是架构图而已,主要是先了解registry,provider,和consumer的用法: 看示例是使用zookeeper作为注册中心。所以下了一个zookeeper。 思路流程 1、首先肯定是启动zookeeper,然后看下初始有什么目录。 2、再启.

qq_37822914的博客 2260

《惠普工作站设置BIOS从U盘装系统》

惠普工作站设置BIOS 惠普工作站在做服务器时应用广泛,本文介绍下其BIOS开机自启动设置,附上图片,以供学习参考。 惠普工作站设置BIOS 启动步骤如下: 第一步:根据需要对BIOS进行更改,并保存 1.重启工作站按F10进入BIOS设置(也可以按ESC键选择进入BIOS设置的选项)。 图1 惠普工作站B...

istrangeboy&begin zero的博客 2万+

dubbo之集群配置

写在前面 为了实现服务的高可用,一般我们都会考虑通过集群方式来实现,当一台服务提供者出现问题时,还有其他的服务提供者failover,保证系统正常使用,为了能够更好的观察服务信息,我们通过dubbo-amin来查看,关于dubbo-admin搭建可以参考dubbo之dubbo admin搭建 一文。 1:测试 服务提供者 , 服务消费者 。 以下依赖于此进行测试! 1.1:启动服务提供者实例 启动后查看dubbo-admin: 可以看到当前已经有一个服务提供者实例了,再启动一个,查看: 此时就有两

wang0907的博客 3172

Tessent Atpg系列 第七章 Running ATPG Patterns -- 如何书写proc文件

本篇文章是记录Tessent scan ATPG系列 本文并非是对userguide的完全翻译,而是自己对userguide的理解,此外,有部分比较深入的内容可能需要后续实验验证。本系列并不对tessent scan做过多描述。 请勿随意转载: 优快云 博主: ciscomonkey一种是在使用tessent scan之后使用ATPG 另一种是使用第三方工具,如snps的DFTC之后使用tessent的ATPG。 这里我们仅仅介绍without tessent scan之后tessent ATPG:对于t

ciscomonkey的博客 7694

STM32 WinUSB免驱实现:从DFU模式到高速通信的实战指南

本文详细介绍了STM32 WinUSB免驱实现方案,从DFU模式到高速通信的完整实战指南。通过修改设备描述符、添加BOS描述符和实现WCID描述符集,开发者可以轻松实现即插即用的USB设备,无需额外安装驱动。文章还提供了性能优化技巧和实际应用案例,帮助开发者快速部署高效稳定的USB通信方案。

weixin_29171087的博客 422

Dubbo生产者一次请求的过程 (Dubbo源码三)

Dubbo底层通讯是基于Netty,请求第一步肯定是从Netty收到消息开始的。Netty收到消息也肯定是不是明文的,这一节要解决如下问题 Netty接收消息的入口 如何把消息解析成明文 怎么通过消息找到对应的服务

小道仙的后宫 892

程序员实战:DINOv3 权重文件下载与本地化部署全流程指南

Meta开源的DINOv3视觉大模型凭借70亿参数和17亿图像训练,在语义分割、目标检测等任务表现优异。本文详解预训练权重的获取渠道、校验方法和加载实践。开发者可通过HuggingFace或GitHub获取不同版本权重,包括针对服务器端的ViT系列和边缘设备的ConvNeXt系列。文章提供MD5校验代码确保文件完整性,并给出PyTorch和Transformers两种加载方式。特别强调7B模型需16GB GPU内存,建议根据硬件条件选择合适版本,如边缘设备使用ConvNeXt-Tiny。最后指出DINOv3

xiugou3365的博客 5906

druid dubbo 生产者_dubbo生产者和消费者

官网:http://dubbo.io/1.xml配置(1)生产者:(下面该配置既是生产者也是消费者)provider.xmlxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xmlns:context="http://www.sprin...

weixin_34207787的博客 217

PostgreSQL 在 Windows操作系统 无管理员权限情况下的部署详解

但是因为使用默认5432端口,我们修改了端口,所以连接报错,需要修改local连接信息,右键-属性修改相应信息即可,方式同上。(也别太任意吧,个人习惯工具放在不包含中文及特殊字符的目录,另外目录名尽量简短,避免不必要的麻烦)图中我解压到了自己的tools\postgresql18。1)如果想修改默认的5432端口,找到初始化目录中的(上面的tools\postgresql18\。此处替换成你的实际目录\tools\postgresql18\pgsql\pgAdmin 4\runtime。

dong_zhi2328的博客 1117

Aurix TC3xx系列MCU ADC模块简介(一)

简单介绍英飞凌Aurix TC3xx系列单片机ADC模块的特点及内部结构。

m0_38045338的博客 6361

maven项目搭建dubbo的消费者和生产者

生产者:  pom.xml需要依赖的: properties> spring.version>3.2.4.RELEASEspring.version> properties> dependencies> dependency> groupId>com.alibabagroupId> artifactId>dubboartifac

yinbucheng的博客 3052

黑猫带你学Nand第8篇:NandFlash的供电情况详解

是指在任何工作条件下,设备允许的最大电压、电流、功率以及温度等参数的界限值。

黑猫奥利奥的博客 1148

dubbo生产者启动就关闭连接

dubbo生产者启动就关闭连接,换过dubbo版本,没用.有没有哪位大佬知道原因? 原因已找到:是pom.xml文件的配置问题,不知道为什么,自己建provider项目的时候,自动生成的pom.xml,我加入zookeeper的引用之后就启动就关闭连接,一用老师的pom.xml文件,就立马没有问题了,奇葩! provider 模块的pom.xml 加上如下引用: <depende...

m0_37307022的博客 1243

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

(十七) 构建dubbo分布式平台-创建dubbo服务生产者

在前面的章节中,我们定义了dubbo服务的接口,接下来针对于接口的实现,我们要定义服务的生产者,服务生产者最终会被注册到注册中心上。 1. 创建ant-bookmark-service项目(dubbo服务生产者),其中pom.xml文件定义如下: <?xml version="1.0...

chengxueli0056的博客 155

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

dubbo生产者和消费者

官网:http://dubbo.io/ 1.xml配置 (1)生产者:(下面该配置既是生产者也是消费者) provider.xml <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" x...

weixin_30247781的博客 824

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

关于dubbo分布式项目管理(生产者/消费者)简单Demo

前言:最近 在完成公司基本业务代码之后,深夜总会有点空闲时间,所以就打算研究一下dubbo(主要考虑以后可能会尝试大型项目的网站建设,所以先记录一下这几天对于搭建      分布式项目的摸爬滚打的经验) ——————————————————————————————————---——————————————---------------------------------------------

weixin_38942963的博客 1146

SSM + Dubbo搭建生产者消费者系统

文章目录前言一、基本架构二、搭建项目1.开启ZooKeeper2.构建common模块3. 构建service模块1. Service2. spring-dubbo.xml3. applicationContext.xml4. mybatis-config.xml5. log4j.properties6. web.xml4. 构建controller模块1. Controller2. spring-dubbo.xml3. spring-mvc.xml4. applicationContext.xml3. 配

来瓶小白干Oo的博客 744

Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解

生产者模块即服务提供者,负责实现业务接口并通过Dubbo框架导出服务,供消费者调用。其职责包括:实现接口(通过@DubboService标注)、协议暴露、注册中心报到、资源管理(线程池、连接池)以及服务治理(限流、熔断、分组、版本等)。关键组件如序列化SPI(推荐使用Protobuf等高性能方案)、连接池、过滤器等也需合理配置。开发中需配置POM依赖、实现类、配置文件和注册中心连接。在Spring Boot中,Dubbo可通过注解方式无缝集成,支持注册、暴露、治理等完整流程。

谢谢你的喜欢 我们一起无限进步 1018

Dubbo框架——生产者服务注册Zookeeper

一、项目创建 JDK1.8环境: 项目下载链接:https://pan.baidu.com/s/1ELPeDuVpVUEjR6E8-wVI_A 提取码:8umc 1、创建两个maven项目,分别为接口项目和接口项目实现 2、在dubbo-memory-api项目创建一个接口文件,如下图 package markzp.dubbo_memory_api; public inte...

MarkZP 438
上一篇: Dubbo原理
下一篇: Dubbo之消费者
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值