Spring Boot Dubbo Zookeeper

文章目录

  • Spring Boot Dubbo Zookeeper
    • 简介
    • Dubbo
      • Common
      • Provider
      • Consumer
    • Zookeeper

Spring Boot Dubbo Zookeeper


简介

Dubbo

Common

公共依赖

<!-- Spring Boot Starter -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>2.3.0.RELEASE</version>
</dependency><!-- Dubbo Starter -->
<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.8</version>
</dependency><!-- ZooKeeper 注册中心 -->
<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-zookeeper</artifactId><version>2.7.8</version>
</dependency>
  • 定义接口(用户服务注册使用)
public interface HelloService {String sayHello(String name);
}

Provider

首先需要依赖Common

  • yml
dubbo: application: name: my-applicationregistry: address: zookeeper://localhost:2181
  • 实现定义的接口(Service是apache.dubbo)
@Service
public class HelloServiceImpl implements HelloService {@Overridepublic String sayHello(String name) {return "Hello, " + name + "!";}
}
  • 启动类(@EnableDubbo)
@EnableDubbo
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

Consumer

首先需要依赖Common

  • Controller(@Reference注解)
@RestController
public class HelloController {@Referenceprivate HelloService helloService;@GetMapping("/hello/{name}")public String sayHello(@PathVariable String name) {return helloService.sayHello(name);}
}

Zookeeper

  • 安装脚本
#!/bin/bash
#### 需要先装JDK ####
#### 需要先装JDK ####
#### 需要先装JDK ####
cd /data/server;
# 下载一个版本儿
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz;
# 创建目录
mkdir -p /data/server/apache-zookeeper-3.4.14;
# 解压到/usr/local下
tar -zxvf zookeeper-3.4.14.tar.gz -C /data/server/;
# 新增zk目录
mkdir -p /data/server/zookeeper-3.4.14/data;
mkdir -p /data/server/zookeeper-3.4.14/logs;
# 新增PID文件 并 设置PID
touch /data/server/zookeeper-3.4.14/data/myid;
# PID,与MAP key相同
echo 1 > /data/server/zookeeper-3.4.14/data/myid;
# 复制默认配置,改为zoo.cfg
cp /data/server/zookeeper-3.4.14/conf/zoo_sample.cfg /data/server/zookeeper-3.4.14/conf/zoo.cfg;
# 修改核心配置zoo.cfg
# 替换
dataDir_old='/tmp/zookeeper';
dataDir_url='/data/server/zookeeper-3.4.14/data';
sed -ig "s#${dataDir_old}#${dataDir_url}#" /data/server/zookeeper-3.4.14/conf/zoo.cfg;
# 写入dataLogDird
echo 'dataLogDir=/data/server/zookeeper-3.4.14/logs' >> /data/server/zookeeper-3.4.14/conf/zoo.cfg;
# 单节点,只需要写入单个即可
declare -A map
map[1]="127.0.0.1"for key in ${!map[@]};doecho "server."${key}"="${map[${key}]}":2888:3888" >> /data/server/zookeeper-3.4.14/conf/zoo.cfg;
done# 查看下配置
cat /data/server/zookeeper-3.4.14/conf/zoo.cfg;# 启动
# 不是root,需要source /etc/profile!!
# 不是root,需要source /etc/profile!!
# 不是root,需要source /etc/profile!!
/data/server/zookeeper-3.4.14/bin/zkServer.sh start# 查看状态
/data/server/zookeeper-3.4.14/bin/zkServer.sh status
#### 显示下面内容就是启动成功了 ####
#ZooKeeper JMX enabled by default
#Using config: /data/server/zookeeper-3.4.14/bin/../conf/zoo.cfg
#Mode: standalone
# 日志存储位置
tail -100f /data/server/zookeeper-3.4.14/zookeeper.out
###### 问题
###1. org.apache.zookeeper.server.admin.AdminServer$AdminServerException: Problem starting AdminServer on address 0.0.0.0, port 8080 and command URL /commands
### 解决办法:https://www.jianshu.com/p/181a69836fe9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/51993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序教学系列(2)

第二章&#xff1a;小程序开发基础 1. 小程序页面布局与样式 在小程序开发中&#xff0c;我们可以使用 WXML&#xff08;WeiXin Markup Language&#xff09;和 WXSS&#xff08;WeiXin Style Sheet&#xff09;来定义页面的布局和样式。 1.1 WXML基础 WXML 是一种类似于 H…

Python Opencv实践 - 图像直方图自适应均衡化

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/cat.jpg", cv.IMREAD_GRAYSCALE) print(img.shape)#整幅图像做普通的直方图均衡化 img_hist_equalized cv.equalizeHist(img)#图像直方图自适应均衡化 #1. 创…

laravel实现AMQP(rabbitmq)生产者以及消费者

基于php-amqplib/php-amqplib组件适配laravel框架的amqp封装库 支持便捷可配置的队列工作模式 官网详情 在此基础上可支持延迟消息、死信队列等机制。 环境要求&#xff1a; PHP版本: ^7.3|^8.0 需要开启的扩展: socket 其他: 如果需要实现延迟任务需要安装对应版本的ra…

js中?.、??、??=的用法及使用场景

上面这个错误&#xff0c;相信前端开发工程师应该经常遇到吧&#xff0c;要么是自己考虑不全造成的&#xff0c;要么是后端开发人员丢失数据或者传输错误数据类型造成的。因此对数据访问时的非空判断就变成了一件很繁琐且重要的事情&#xff0c;下面就介绍ES6一些新的语法来方便…

[Stable Diffusion教程] 第一课 原理解析+配置需求+应用安装+基本步骤

第一课 原理解析配置需求应用安装基本步骤 本次内容记录来源于B站的一个视频 以下是自己安装过程中整理的问题及解决方法&#xff1a; 问题&#xff1a;stable-diffusion-webui启动No Python at ‘C:\xxx\xxx\python.exe‘ 解答&#xff1a;打开webui.bat 把 if not de…

“深入探索JVM内部机制:理解Java虚拟机的工作原理“

标题&#xff1a;深入探索JVM内部机制&#xff1a;理解Java虚拟机的工作原理 摘要&#xff1a;本文将深入探索Java虚拟机&#xff08;JVM&#xff09;的内部机制&#xff0c;讲解JVM的工作原理&#xff0c;并通过示例代码帮助读者更好地理解JVM的工作过程。 正文&#xff1a;…

ARM-汇编指令

一&#xff0c;map.lds文件 链接脚本文件 作用&#xff1a;给编译器进行使用&#xff0c;告诉编译器各个段&#xff0c;如何进行分布 /*输出格式&#xff1a;32位可执行程序&#xff0c;小端对齐*/ OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm",…

StreamingWarehouse的一些思考和未来趋势

300万字&#xff01;全网最全大数据学习面试社区等你来&#xff01; 一篇笔记。 以Hudi、Iceberg、Paimon这几个框架为例&#xff0c;它们支持高效的数据流/批读写、数据回溯以及数据更新。具备一些传统的实时和离线数仓不具备的特性&#xff0c;主要有几个方面&#xff1a; 这…

Day 59

Day 59 503.下一个更大元素II 将两个nums数组拼接在一起&#xff0c;使用单调栈计算出每一个元素的下一个最大值&#xff0c;最后再把结果集即result数组resize到原数组大小就可以了。 class Solution:def nextGreaterElements(self, nums: List[int]) -> List[int]:resu…

自然语言处理从入门到应用——LangChain:索引(Indexes)-[检索器(Retrievers)]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 检索器&#xff08;Retrievers&#xff09;是一个通用的接口&#xff0c;方便地将文档与语言模型结合在一起。该接口公开了一个get_relevant_documents方法&#xff0c;接受一个查询&#xff08;字符串&#xff09;并返…

(3)、SpringCache源码分析

1、入口说明 @EnableCaching是开启SpringCache的一个总开关,开启时候我们的缓存相关注解才会生效,所以我们@EnableCaching开始作为入口进行分析, 2、分析@EnableCaching注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(

Python“牵手”唯品会商品列表数据,关键词搜索唯品会API接口数据,唯品会API接口申请指南

唯品会平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范&#xff0c;唯品会API接口是指通过编程的方式&#xff0c;让开发者能够通过HTTP协议直接访问唯品会平台的数据&#xff0c;包括商品信息、店铺信息、物流信息等&#xff0c;从而实现唯…

CPU、MCU、MPU、SOC、SOCPC、概念解释之在嵌入式领域常听到的名词含义

CPU、MCU、MPU、SOC等几个在嵌入式领域学习过程中会涉及到的几个名词。我们来学习一下&#xff0c;资料从网上搜集的&#xff0c;有错的地方可以指出。。。 CPU、MCU、MPU、SOC、SOCPC、 1. CPU2. MPU3.MCUMPU和MCU的区别&#xff1a;4.SOC5. SoPC 1. CPU CPU&#xff0c;即中…

Spring之Spring生态系统的演进

未来展望&#xff1a;Spring生态系统的演进 未来展望&#xff1a;Spring生态系统的演进 摘要引言词汇解释详细介绍新技术趋势与影响开发方向与展望探讨Spring在未来的发展趋势微服务与云原生响应式编程强调开发效率和全栈式开发支持人工智能和大数据保持灵活性和创新性 针对新兴…

docker 内apt-get安装软件都不好使

报各种错误 apt-get install --no-install-recommends libboost-all-dev Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed:autoconf automake autotools-dev cpp-8 gc…

索引设计规范

索引是帮助数据库高效获取数据的数据结构。索引是加速查询的常用技术手段。在设计索引时&#xff0c;要遵循索引设计规范&#xff0c;避免不必要的踩坑。 【推荐】索引存储结构推荐BTREE InnoDB和MyISAM存储引擎表&#xff0c;索引类型必须为BTRER&#xff0c;MEMORY表可以根…

vue2 vue中的常用指令

一、为什么要学习Vue 1.前端必备技能 2.岗位多&#xff0c;绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能&#xff08;Vue2Vue3&#xff09; 二、什么是Vue 概念&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套 **构建用户界面 ** 的 渐进式 …

go:正确引入自己编写的包(如何在 Go 中正确引入自己编写的包)

前言 目录如下&#xff1a; 具体教程 1. 工作空间&#xff08;我的是根目录&#xff09;新建 go.work 文件 文件内容如下&#xff1a; go 1.21.0use (./tuchuang./tuchuang/testm ) 2. 添加go.mod文件 1. 包文件夹下 进入testm目录执行 go mod init testModule 2. 引用目…

设计模式——装饰器模式

装饰器模式 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。这种类型的设计模式属于结构型模式&#xff0c;它是作为现有的类的一个包装。 装饰器模式通过将对象包装在装饰器类中&#xff0c;以便动态…

软考高级系统架构设计师系列论文九十九:论软件开发平台的选择和应用

软考高级系统架构设计师系列论文九十九:论软件开发平台的选择和应用 一、相关知识点二、摘要三、正文四、总结一、相关知识点 软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构二、摘要 本文从一个行业MIS系统的开发实践,讨论了软件开发平台的选择和应…