Spring Boot Dubbo Zookeeper(含ZK安装脚本)

文章目录

  • Spring Boot Dubbo Zookeeper(含ZK安装脚本)
    • 简介
    • Dubbo
      • Common
      • Provider
      • Consumer
    • Zookeeper

Spring Boot Dubbo Zookeeper(含ZK安装脚本)


简介

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/59674.shtml

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

相关文章

C#_特性反射详解

特性是什么&#xff1f; 为程序元素额外添加声明信息的一种方式。 字面理解&#xff1a;相当于把额外信息写在干胶标签上&#xff0c;然后将其贴在程序集上。 反射是什么&#xff1f; 反射是一种能力&#xff0c;运行时获取程序集中的元数据。 字面理解&#xff1a;程序运行…

一键实现 Oracle 数据整库同步至 Apache Doris

在实时数据仓库建设或迁移的过程中&#xff0c;用户必须考虑如何高效便捷将关系数据库数据同步到实时数仓中来&#xff0c;Apache Doris 用户也面临这样的挑战。而对于从 Oracle 到 Doris 的数据同步&#xff0c;通常会用到以下两种常见的同步方式&#xff1a; OGG/XStream/Lo…

事务管理-事务进阶-propagation属性

目录 事务属性-传播行为 propagation 案例 需求 步骤 具体代码 小结 事务属性-传播行为 propagation 事务传播行为&#xff1a;指的就是当一个事务方法被另一个事务方法调用时&#xff0c;这个事务方法应该如何进行事务控制。即如果事务方法A中调用了事务方法B&#xff0c…

设计模式-桥接模式

核心思想 适配器模式类似&#xff0c;以后也会遇到意思接近一样的设计模式。在开发中一般多个模式混用&#xff0c;且根据不同的场景进行搭配&#xff0c;桥接模式也是结构型模式将抽象的部分和实现的部分分离&#xff0c;使它们都可以独立的变化。通俗来说&#xff0c;就是通…

探索链表:数据结构的精妙之处

前言 在计算机科学中&#xff0c;数据结构是构建和组织数据的基础&#xff0c;它们是解决复杂问题的关键。然而&#xff0c;在众多数据结构中&#xff0c;链表&#xff08;Linked List&#xff09;因其独特的特点和广泛的应用而备受关注。本文将带您深入探讨链表的概念、种类、…

Linux特殊指令

目录 1.dd命令 2.mkfs格式化 3.df命令 4.mount实现硬盘的挂载 5.unshare 1.dd命令 dd命令可以用来读取转换并输出数据。 示例一&#xff1a; if表示infile&#xff0c;of表示outfile。这里的/dev/zero是一个特殊文件&#xff0c;会不断产生空白数据。 bs表示复制一块的大…

mysql 分库分表实现思路

MySQL的分库分表是一种常用的数据库拆分方案&#xff0c;它可以提高数据库的性能和扩展性。下面是一般的实现步骤&#xff1a; 数据库设计&#xff1a;首先&#xff0c;需要对数据库进行良好的设计。确定要分库分表的实体和关系&#xff0c;并根据业务需求进行合理的拆分。 数…

vscode 对模型train、detect脚本进行Debug时配置参数

我们训练yolov5代码时&#xff0c;一般会配置一些参数&#xff0c;比如模型权重文件--weights, 模型的配置文件--cfg, 以及训练的数据--data, 对应的训练脚本为: 训练train python train.py -- weights ./yolov5s.pt --cfg models\yolov5s.yaml --data ./data/coco128.yaml…

9.oracle中sign函数

在Oracle/PLSQL中, sign 函数返回一个数字的正负标志. 语法如下&#xff1a;sign( number ) number 要测试标志的数字. If number < 0, then sign returns -1. If number 0, then sign returns 0. If number > 0, then sign returns 1. 应用于: Oracle 8i, Oracle …

Docker - Docker安装MySql并启动

因为项目需要连接数据库&#xff0c;但是远程服务器上的mysql我不知道账户和密码&#xff0c;这个时候便是docker发挥作用的关键时刻了&#xff01; 目录 docker安装安装gcc卸载老docker&#xff08;如有&#xff09;安装软件包设置镜像仓库更新yum软件包索引安装docker启动doc…

SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第五天)MyBatis的注解开发

SSM框架的学习与应用(Spring Spring MVC MyBatis)-Java EE企业级应用开发学习记录&#xff08;第五天&#xff09;MyBatis的注解开发 ​ 昨天我们深入学习了MyBatis多表之间的关联映射&#xff0c;了解掌握了一对一关联映射&#xff0c;一对多关联映射&#xff0c;嵌套查询方…

微信小程序如何实现页面传参和页面传递多个参数

前言 只要你的小程序超过一个页面那么可能会需要涉及到页面参数的传递&#xff0c;下面我总结了 4 种页面方法。 下面时多个参数页面传参的方式 let loveJSON.stringify(this.data.totle);let youJSON.stringify(this.data.totleId)let csdnJSON.stringify(this.data.totleP…

Linux系统下vim常用命令

一、基础命令&#xff1a; v:可视模式 i:插入模式 esc:命令模式下 :q &#xff1a;退出 :wq &#xff1a;保存并退出 ZZ&#xff1a;保存并退出 :q! &#xff1a;不保存并强制退出二、在Esc下&#xff1a; dd : 删除当前行 yy:复制当前行 p:复制已粘贴的文本 u:撤销上一步 U:…

ELK日志收集系统

目录 一、概述 二、组件 一、logstash 一、工作过程 二、INPUT 三、FILETER 四、OUTPUTS 二、elasticsearch 三、kibana 三、架构类型 一、ELK 二、ELKK 三、ELFK 四、ELFKK 五、EFK 四、配置ELK日志收集系统集群实验的步骤文档 五、配置ELK日志收集系统集群 …

图像二值化

目录 1.固定值二值化 2.自适应阈值二值化 3.Android JNI完整代码 1.固定值二值化 固定阈值二值化是OpenCV中一种简单而常用的图像处理技术&#xff0c;用于将图像转换为二值图像。在固定阈值二值化中&#xff0c;像素值根据一个预定义的阈值进行分类&#xff0c;大于阈值的…

【JavaEE】Spring事务-@Transactional参数介绍-事务的隔离级别以及传播机制

【JavaEE】Spring 事务&#xff08;2&#xff09; 文章目录 【JavaEE】Spring 事务&#xff08;2&#xff09;1. Transactional 参数介绍1.1 value 和 transactionManager1.2 timeout1.3 readOnly1.4 后面四个1.5 isolation 与 propagation 2. Spring 事务隔离级别 - isolation…

利用torchvision库实现目标检测与语义分割

一、介绍 利用torchvision库实现目标检测与语义分割。 二、代码 1、目标检测 from PIL import Image import matplotlib.pyplot as plt import torchvision.transforms as T import torchvision import numpy as np import cv2 import randomCOCO_INSTANCE_CATEGORY_NAMES …

SQL server数据库-定制查询-指定查询列/行、结果排序和Like模糊查询

本篇讲述进阶查询方法&#xff0c;如有语句不明确&#xff0c;可跳转本文专栏学习基础语法 1、指定列查询 特点 只会显示你输入的列的数据&#xff0c;会根据你输入的顺序进行显示&#xff0c;可以自定义查询显示时的列名 &#xff08;1&#xff09;只会显示你输入的列的数…

使用 TypeScript 创建工具函数:管理项目版本与环境变量

使用 TypeScript 创建工具函数&#xff1a;管理项目版本与环境变量 文章目录 使用 TypeScript 创建工具函数&#xff1a;管理项目版本与环境变量一、前言二、代码示例1、导入项目的 package.json2、获取版本号3、获取环境变量的值4、获取特定的环境变量 三、完整代码1、工具函数…

C++ 面试题(一)--C++基础,面向对象,内存管理

目录 1.part1 C基础 1 C特点 2 说说C语言和C的区别 3 说说 C中 struct 和 class 的区别 4 include头文件的顺序以及双引号""和尖括号<>的区别 5 说说C结构体和C结构体的区别 6 导入C函数的关键字是什么&#xff0c;C编译时和C有什么不同&#xff1f; 7…