Dubbo+zookeeper简单实现服务注册与发现

Dubbo结合Zookeeper和Nacos的服务注册发现机制详解 本文还有配套的精品资源,点击获取 简介:在分布式系统中,服务注册与发现是核心环节,Dubbo结合Zookeeper和Nacos可以有效地实现这一功能。本文将详细阐述如何利用这两种工具完成服务的注册、发现、以及相关的服务治理。介绍了Zookeeper和Nacos的基本功能,以及它们如何作为注册中心与Dubbo框架进行整合。同时,通过具体配置和服务提供者与消费者的实现,解释了服... 阅读详情

Apache Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
Dubbo的基本概念
服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册(register)自己提供的服务
服务消费者(consumer):调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅(Subscribe)自己所需的服务,
注册中心(Registry):注册中心返回服务提供者地址列表给消费者,
监控中心(Monitor):服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

1、安装Zookeeper

1、下载安装包—》linux的windows也可以用----》解压
2、修改zoo.cfg配置文件,将conf文件夹下面的zoo_sample.cfg复制一份改名为zoo.cfg。
3、zookeeper启动
运行:zkServer.cmd – windows 服务端
:zkCli.cmd 客户端

2、安装dubbo-admin dubbo可视化监控页面

1、下载地址:https://github.com/apache/dubbo-admin/tree/master
2、解压进入目录:指定zookeeper端口地址 (注册中心的)
在这里插入图片描述
3、在项目目录下打包 dubbo-admin
在这里插入图片描述

mvn clean package -Dmaven.test.skip=true 

4、执行 dubbo-admin\target下dubbo-admin-0.0.1-SNAPSHOT.jar

java -jar dubbo-admin-0.0.1-SNAPSHOT.jar

注意:zookeeper的服务一定要打开! 它会一直监听zookeeper
安装完成
在这里插入图片描述
SpringBoot+Dubbo+zookeeper框架搭建
1、创建两个Springboot项目;
导入相关依赖:

<dependency>
			<groupId>org.apache.dubbo</groupId>
			<artifactId>dubbo-spring-boot-starter</artifactId>
			<version>2.7.3</version>
		</dependency>
		<dependency>
			<groupId>com.github.sgroschupf</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.1</version>
		</dependency>

		<!-- 引入zookeeper -->
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>2.12.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-recipes</artifactId>
			<version>2.12.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.14</version>
			<!--排除这个slf4j-log4j12 -->
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

服务提供者配置文件:

# 注册的服务名
dubbo.application.name=provider-server
# 服务的注册地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
# 接口所在包 需要注册的服务
dubbo.scan.base-packages=com.stf.providerserver.service

服务提供者接口及实现类

package com.stf.providerserver.service;

public interface TicketSerice {
	public String saleTicket();
}

package com.stf.providerserver.service;

import org.apache.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;

@Service // 启动--》服务注册到到zookpper
@Component  // 使用了Dubbo尽量不要用Service,
public class TicketServiceImpl implements TicketSerice {

	@Override
	public String saleTicket() {
		return "i am here";
	}

}

服务消费者配置文件

server.port=8088
dubbo.application.name=consumer-server # 注册的服务名
dubbo.registry.address=zookeeper://127.0.0.1:2181  # 服务的注册地址

消费者消费类

package com.stf.consumerserver.service;

import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Service;

import com.stf.providerserver.service.TicketSerice;

@Service
public class UserService {

	@Reference // 远程调用服务:从注册中心拿服务. 正常情况下,引用pom坐标,2 定义路径相同的接口名
	TicketSerice serice;

	public void buyTicket() {
		String ticket = serice.saleTicket();
		System.out.println("从注册中拿到" + ticket);
	}
}

简单实现:将服务提供方的接口copy到服务消费方相同的路径
在这里插入图片描述
测试步骤
1、启动zookeeper
2、启动dubbo-admin 非必须
3、启动服务提供者
4、启动服务消费者
5、测试

实现步骤:
前提:zookeeper已开启
1、提供者提供服务
1、导入依赖
2、配置注册中心的地址,以及服务发现名和需要注册的服务(需要扫描的包)
3、在想要被注册的服务商-增加一个注解@Service(Dubbo的)
2、消费者如何消费
1、导入依赖
2、配置注册中心的地址,配置自己的服务名
3、从远程注入服务-@Reference

FreeRTOS OTA实战:从Bootloader设计到安全升级的完整流程(附MQTT示例代码) 本文详细介绍了在FreeRTOS系统中实现安全OTA固件升级的完整流程。内容涵盖从Bootloader设计、存储分区规划到与MQTT协议集成的OTA Agent任务开发,并重点解析了固件签名验证、防回滚等关键安全机制,为嵌入式物联网设备提供了一套高可靠性的远程升级解决方案。 阅读详情

相关推荐

Win11下USB-Blaster驱动安装全攻略:Quartus用户必看(附常见问题解决)

本文详细介绍了在Windows 11系统下为Intel FPGA开发工具Quartus安装USB-Blaster驱动的完整流程与常见问题解决方案。针对Win11更严格的驱动签名验证机制,提供了从标准安装步骤到高级故障排查(如禁用驱动强制签名、使用测试模式)的实用指南,帮助用户快速解决驱动安装失败问题,确保FPGA编程调试顺利进行。

weixin_29256771的博客 665

Dubbo入门(二)——IDEA下Dubbo+Zookeeper搭建

通过创建项目了解dubbo

jc_hook的博客 2072

Fiddler抓包实战:5分钟搞定微信公众号历史消息接口分析(附完整Python代码)

本文详细介绍了如何使用Fiddler抓包工具逆向分析微信公众号历史消息接口,并提供完整的Python代码实现。从环境准备、动态参数捕获到商业级采集系统架构设计,全面解析了突破官方接口限制的技术方案,帮助开发者高效获取公众号文章数据。

tree8的博客 329

Zookeeper+Dubbo入门(服务注册与发现)学习笔记

ZooKeeper是一个开源的分布式协调服务,用于管理和协调分布式系统中的各种配置、状态和元数据。ZooKeeper通过提供一个可靠的、层级的命名空间来存储和管理数据,这个命名空间类似于一个标准的文件系统。在ZooKeeper中,数据被组织成一个树形结构,每个节点都可以存储少量的数据。ZooKeeper可以协调和同步分布式系统中各个节点之间的操作,提供一致性和顺序性保证。节点可以订阅其他节点的变化,并在数据发生变化时得到通知。

weixin_57392053的博客 1014

Skynet 框架面试题

本文整理了游戏服务端开发面试中 Skynet 框架的高频考点,涵盖底层架构、消息派发、协程调度、网络 I/O、harbor 跨机通信、内存管理、socket 处理、阻塞操作、错误处理等核心内容。全面覆盖 Skynet 框架的原理、使用和实战问题,追求深入准确,拒绝八股文。

小赖的博客 383

iTunes备份文件路径修改方法

因为以前的很多帖子iTunes都不是从微软下载的,而现在的iTunes一般都是微软商店里面的,它的路径为:“C:\Users\ 你的用户名 \Apple\MobileSync” (注:用户名,根据个人电脑名称更改)打开iTunes备份路径:“C:\Users\txh\AppData\Roaming\Apple Computer\MobileSync”,其中文件夹MobileSync就是用来存放备份文件的。创建你想备份纯在的目录创建备份文件目录(我的是G:/APPLE/Backup)2.粘贴的剪切文件目录。

尘玥的故事 1万+

Dubbo:使用注册中心Zookeeper

创建3个工程: 创建接口工程: User类: UserService接口: 创建服务的提供者:pom.xml:引入依赖 实现类UserServiceImpl : dubbo核心配置文件:dubbo-zk-userservice-provider.xml web.xml:相关配置 配置tomcat: 服务的消费者:pom.xml:引入依赖: dubbo核心配置文件dubbo-zk-consumer.xml spring配置文件:applicationContext.xml

dengfengling999的博客 1080

在matlab中运行自带的模块(以CCSDS LDPC Decoder模块为例)

最新版的获取需要注册 MathWorks 账户 访问账户注册页面:www.mathworks.cn/mwaccount/register。下载新版本或历史版本的MATLAB,请登陆:https://www.mathworks.cn/downloads 并下载。点击此处可以拷贝调用例程的命令,在matlab命令行输入即可自动获取代码。可以看到页面中写了该模块需要在R2022b以上版本使用。运行.m文件可以生成simulink运行所需要的数据。可以看到左侧下载到了官方历程的文件。之后双击slx文件即可打开。

qq_28455081的博客 887

Dubbo+zookeeper搭建微服务

步骤:前提:zookeeper服务已开启1、 提供者提供服务(服务端)导入依赖配置注册中心的地址,以及服务发现名,和要扫描的包在想要被注册的服务上面 添加一个注解@Service Dobbo的service2、消费者如何消费 (客户端)导入依赖配置注册中心的地址,配置自己的服务名从远程注入服务@Reference**3、调试 ** (注意我们创建项目时端口的问题)开启注册中心服务zookeeper---->执行可视化的jar包---->idea中启动提供者服务,注册服务----->...

m0_67392811的博客 758

从零开始:使用Mask2Former训练你的专属数据集

本文详细介绍了如何从零开始使用Mask2Former训练自定义数据集。内容涵盖环境搭建、数据准备(将LabelMe格式转换为COCO格式)、数据集注册与模型配置、训练启动与调试,以及最终的模型推理与应用。通过实战步骤和常见问题解决方案,帮助读者掌握使用Mask2Former进行实例分割的核心流程,实现专属模型的训练与部署。

weixin_28678151的博客 454

Proteus仿真实战:基于IIC驱动SSD1306的0.96英寸OLED显示方案解析

本文详细解析了在Proteus仿真环境中基于IIC驱动SSD1306的0.96英寸OLED显示方案。从硬件搭建、IIC接口连接、软件驱动移植到常见问题排查,提供了全面的实战指导,帮助开发者快速实现OLED显示功能并优化性能。

weixin_28724661的博客 772

Dubbo——认识Zookeeper注册中心、Windows&Linux下安装Zookeeper

Dubbo——认识Zookeeper注册中心、Windows&Linux下安装Zookeeper

贝尔摩德苦艾酒 7486

优化点列图(RMS半径)的操作数

优化点列图(RMS半径)的操作数

weixin_72050316的博客 2259

Dubbo 服务注册与发现:基于 Zookeeper 的实现与原理解析

在传统的单体应用中,服务之间的通信通常是直接的,应用通过硬编码的 IP 地址来连接其他服务。然而,在分布式系统中,服务数量和部署位置往往是动态变化的,直接通过 IP 地址进行连接将导致系统变得难以扩展和维护。因此,服务注册与发现机制应运而生。服务注册:服务提供者在启动时,将自己的信息(如接口名、地址、端口、版本号等)注册到注册中心。服务发现:服务消费者在启动时,从注册中心获取可用的服务提供者列表,并进行远程调用。

一碗黄焖鸡三碗米饭的博客 1068

怀旧版电脑GBC模拟器

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

STM32F407中文手册

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

Dubbo+Zookeeper怎么实现的服务注册与发现

Dubbo 则封装了服务注册、发现、健康检查、负载均衡等业务逻辑,二者协同实现微服务间的动态通信。以下从底层架构、核心流程、Zookeeper 节点结构、关键机制四个维度深度拆解。Dubbo 会在 Zookeeper 中创建固定格式的节点树,用于存储服务的全量元数据,(关联 Provider 会话,会话失效则节点删除)、Dubbo 与 Zookeeper 的集成核心是。(Consumer 监听服务节点变更)、(保障集群模式下服务元数据的一致性)。:Zookeeper 的。

TracyCoder的博客 282

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

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

springboot+zookeeper+dubbo实现服务注册与发现

springboot+zookeeper+dubbo实现服务注册与发现 首先我们看下项目结构图 生产者模块结构图 pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X...

@Bean 2574

Dubbo与zookeeper、Dubbo与Nacos实现服务注册与发现案例

dubbo+zookeeper实现服务注册与发现 dubbo+nacos实现服务注册与发现

只为code醉的博客 1525

Dubbo+zookeeper微服务架构之服务注册与发现的简单使用

服务注册与发现 每日格言: 如果要挖井,就要挖到水出为止。 技术栈: springboot dubbo zookeeper 注册中心推荐zookeeper 下载链接:在3.5.5版本后,官方提供了bin的包,可以不需要配置环境,直接上手查看 https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz 之后以管理员方式启动bin文件夹中的cmd文件 会报错,我们需要吧conf

doomwatcher的博客 415

Dubbo介绍、Zookeeper + Dubbo Admin的安装与配置、服务注册发现实战

1 Dubbo 1.1 什么是dubbo Dubbo |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。(官网:Dubbo官网) 1.2 发展史 此处参考 ...

Zhou_LC的博客 309

揭秘Dubbo服务注册延迟问题:如何利用Zookeeper实现毫秒级服务发现

解决Dubbo服务注册延迟痛点,深入剖析基于Zookeeper的服务注册与发现机制,实现毫秒级服务发现。适用于高并发微服务场景,通过优化监听机制与路径管理提升性能,稳定可靠,值得收藏

BytePulse的博客 344

Apache Dubbo 微服务架构下的服务治理(基于Zookeeper的服务注册发现)

Apche Dubbo RPC框架,与普通的RPC框架不同的是,提供了服务治理的功能,比如服务注册、监控、路由、容错(主要基于zookeeper) Apache Dubbo 架构图: image.png 服务注册发现中心:(基于Zookeeper) Zookeeper是一个高性能的分布式协调中间件,所谓分布式协调中间件的作用就是通过并发工具包来协调线程的访问控制,比如访问顺序控制。zookeeper并不是注册中心,只是基于Zookeeper本身的特性可以实现注册中心这个场.

m0_67505824的博客 351

SpringBoot系列:9. 分布式系统,Dubbo,Zookeeper服务注册与发现

前言 本章主要对分布式系统,RPC的实现方式和Zookeeper实现做一个详细的概述并通过实战代码加深对他们的了解。 1. 分布式 什么是分布式系统? :“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”; 分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。 ⑴ 分布式系统(distributed system)是建立在网络之上的软件系统。 ⑵ 首先需要明确的是,只有当单个节点的处理能力无法满

llzz_zzll的博客 493

【SpringBoot】分布式 (Dubbo + Zookeeper) - 服务注册与发现

文章目录一、什么是分布式二、应用架构的演变1、单一应用架构2、垂直应用架构3、分布式服务架构4、流动计算架构三、RPC1、什么是RPC2、为什么需要RPC四、Dubbo1、简介2、Zookeeper的环境搭建五、服务注册与发现实践1、相关依赖2、创建服务提供者3、创建服务消费者4、测试 一、什么是分布式 分布式计算是近年提出的一种新的计算方式,所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。 在《分布式系统原理与范型》中有如

✈ 正在努力 の 寒江(StudiousTiger) ✌ 呐 ✈ 262

第108天学习打卡(SpringBoot window下安装zookeeper he dubbo-admin 服务注册发现实战)

Dubbo 概念 什么是dubbo? Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 官网地址:快速开始 | Apache Dubbo 服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。 **服务消费者(Consumer)????*调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需要的服务,服务消费者,从提供者地址列表

doudoutj的博客 272
上一篇: 代理模式
下一篇: 线程池注入
恩洛
博客等级 码龄9年 2粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值