北京网络公司的网站,中国三大水电建设基地,物流网站建设 市场分析,公司介绍简介前言 「作者主页」#xff1a;雪碧有白泡泡 「个人网站」#xff1a;雪碧的个人网站 |Eureka,Nacos,Consul,Zookeeper在Spring Cloud和Dubbo中实战 引言
在项目开发过程中#xff0c;随着项目不断扩大#xff0c;也就是业务的不断增多#xff0c;我们将采用集群#xf…前言 「作者主页」雪碧有白泡泡 「个人网站」雪碧的个人网站 |Eureka,Nacos,Consul,Zookeeper在Spring Cloud和Dubbo中实战 引言
在项目开发过程中随着项目不断扩大也就是业务的不断增多我们将采用集群微服务的形式去降低配置集群是指将一个项目部署到多个服务器当中而微服务是指将业务拆分为一个一个服务去进行那么我们想要去实现一个业务的时候我们就需要调用多个服务那么每个服务的调用我们都需要知道它的URL若是有成千上万的URL该如何维护呢 这时就需要注册中心功能 其实我们可以把注册中心类比与通讯录
设计思路
程序是数据结构和算法的组合那么我们若是想要设计一个注册中心我们就要从两个方面去考虑
存储结构提供的操作
存储结构
我们类比一下通讯录通讯录的每一个内容都包括姓名和电话那么注册中心每一个保存的是服务名和服务信息这个结构我们不难想象到map结构 则注册表的存储结构如下 两层map结构 在微服务系统中为了避免单点故障通常使用的是服务集群一个服务名会对应多个服务实例 注册中心的操作
接收服务接收服务心跳接收服务下线服务剔除查询注册表中服务信息注册中心集群中的信息同步
注册中心的使用
注册中心的使用主要分为两步
搭建注册中心服务端启动业务服务让服务和注册中心连通
本文的核心内容就是具体的注册中心配置使用
Dubbo和Zookeeper的使用
Zookeeper zookeeper的安装 安装地址 将conf目录下的zoo_sample.cfg文件复制一份重命名为zoo.cfg 在步骤2的基础上,修改zoo.cfg配置文件中zookeeper的数据文件存储位置及添加zookeeper日志文件位置(方法查错),(数据日志配置需另加),具体步骤如下
在zookeeper目录下新建tmp文件夹,在分别tmp文件夹下面新建data文件夹与log文件夹用于存放data(数据存储)和log(数据日志)修改conf下zoo.cfg配置中数据存储和数据日志路径
dataDir../tmp/data
dataLogDir../tmp/log
# 添加此配置项
admin.serverPort8888zoo.cfg配置文件参数说明
# tickTime 客户端与服务器或者服务器与服务器之间维持心跳也就是每个tickTime时间就会发送一次心跳。通过心跳不仅能够用来监听机器的工作状态还可以通过心跳来控制Flower跟Leader的通信时间# initLimit 集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数#syncLimit 集群中flower服务器F跟leaderL服务器之间的请求和答应最多能容忍的心跳数# dataDir 用来存放myid信息跟一些版本日志跟服务器唯一的ID信息等。# dataLogDir 存放事务日志的文件夹# clientPort 客户端连接的接口客户端连接zookeeper服务器的端口zookeeper会监听这个端口接收客户端的请求访问这个端口默认是2181。# maxClientCnxns 允许连接的客户端数目0为不限制,通过IP来区分不同的客户端
判断zookeeper安装十分成功 bin目录 zkCli.cmd 验证是否安装成功zkServer.cmd 启动zookeeper服务 可以通过连接工具判断是否连接成功
下载地址——prettyzoo
dubbo-admin
dubbo-admin下载 安装地址
后端启动打包
踩坑经过一定要确定运行环境是jdk1.8 成功启动并打包
前端启动打包
首先找到前端文件夹ui 执行命令
npm install打包即可注意要检查是否完成node.js的安装
Eureka的使用
搭建eureka-server步骤
1.引入SpringCloud为eureka提供的starter依赖
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId
/dependency
2. 编写一个application.yml文件内容如下
server:port: 10086
spring:application:name: eureka-server
eureka:client:service-url: defaultZone: http://127.0.0.1:10086/eureka
3. EnableEurekaServer注解
SpringBootApplication
EnableEurekaServer
public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}
}
4.启动微服务然后在浏览器访问http://127.0.0.1:10086
Nacos的使用
1. 下载安装
下载地址——Nacos下载
Nacos安装 解压安装包 打开配置文件nacos安装目录 - conf - application.properties
spring.datasource.platformmysqldb.num1
db.url.0jdbc:mysql://127.0.0.1:3306/nacos?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTCdb.userroot
db.password123456
修改端口号
\### Default web context path:
server.servlet.contextPath/nacos
\### Default web server port:
server.port8848 执行sql文件(nacos安装目录 - conf -nacos-mysql.sql) 通过修改nacos.core.auth.enabled为true就可以开启nacos认证。开启后客户端必须配置username、password。
单机模式启动
在nacs安装目录下的bin目录中运行命令默认是集群模式启动单机模式启动需要指定模式。
Windows命令startup.cmd -m standalone
Linux命令sh startup.sh -m standalone
命令运行成功后直接访问http://localhost:8848/nacos 默认账号密码都是nacos
Consul的使用 下载与安装
下载地址——Consul
1下载
wget https://releases.hashicorp.com/consul/1.3.0/consul_1.3.0_linux_amd64.zip2)解压
unzip consul_1.3.0_linux_amd64.zip3拷贝到usr目录下
mv consul /usr4)查看是否安装成功
./consul小结
本文内容主要在单机模式下下载安装注册中心更详细的内容我推荐在下面这本书中去获取
京东链接购买地址 本次送书1~3本【取决于阅读量阅读量越多送的越多】⌛️活动时间截止到2023-12月9号✳️参与方式关注博主三连点赞、收藏、评论 内容简介
《Spring Cloud 微服务快速上手》介绍了当下*主流的属于Spring生态的微服务框架它继承了Spring Boot的优点开发部署都非常简单。本书内容全面介绍了微服务架构的发展历程包含Spring Cloud Netflix 和 Spring Cloud Alibaba的组件如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。在解读核心组件的实现原理的同时配以案例进行实践。本书内容包含微服务架构和云原生架构读者在掌握微服务之后可以进一步掌握云原生知识。