文章目录
Zookeeper
概述
定义:
Leaf分布式ID生成系统,在Spring Boot或类似的微服务架构中的集成配置。
Leaf是由滴滴出行开源的一套分布式ID生成解决方案,旨在为分布式系统提供高效、高可用的ID生成服务。
配置
在springboot项目中使用,提供分布式
leaf:
// Leaf ID生成系统的顶级配置
snowflake:
// Leaf提供了两种ID生成模式,一种是基于Twitter Snowflake算法的snowflake模式,另一种是基于数据库的segment模式。这里的配置是针对Snowflake模式的。
enabled: true
// 启用Snowflake模式的ID生成器
name: associated_api
// Snowflake worker的名称,用于标识不同的业务或者服务。在多服务共用一套Leaf集群的情况下,通过名称区分不同来源的ID请求,确保ID的唯一性和可追踪性。
zkAddress: 127.0.0.1:2181
// 配置了Zookeeper的地址。Leaf的Snowflake模式依赖于Zookeeper作为服务发现和分布式协调工具,用来管理worker的分配与状态同步。其中默认的端口号为2181;
实战
1 启动zookeeper失败
描述:
双击zkServer.cmd,执行快速运行,然后页面闪退;
通过netstat -ano | findstr "2181" 发现该端口没有被监听,也就是zookeeper没有启动;
分析:
启动zookeeper;
参考博客:https://blog.csdn.net/qq279862451/article/details/79083522
可能是端口被占用的问题 8080端口,将xxl-job端口改成8090
2 修改AdminServer端口号
描述:
zookeeper启动后,会生成日志:
INFO [main:JettyAdminServer@112] - Started AdminServer on address 0.0.0.0, port 8080 and command URL /commands
表示AdminServer服务的地址为http://ip:8080/commands 可以实现访问;
分析:
修改zoo.cfg文件;
具体修改为:admin.serverPort = 8081
Rancher
基础
思考
- Rancher与Kubernetes之间关系?
Rancher和Kubernetes都是容器编排和管理的强大工具,但它们在设计理念和实际应用上有一些区别。
Rancher着重于用户体验,而Kubernetes则更多被视为一个可扩展的平台。
实战
1:Rancher的某个namespace的scale为0
在Rancher中,scale通常指的是Deployment、ReplicaSet或者StatefulSet,这类工作负载资源的副本数量;
某个namespace的scale=0,表示这个namespace下的某类工作负载的副本数量被设置为0;
这将产生如下情况:
资源不运行任何副本:没有Pod实例正在运行,不会对外提供服务;
节省资源:没有运行Pod,集群的计算和内存资源可以被释放或用于其他任务;
停止服务:任何试图想访问该服务的请求都将无法得到响应;
更新和维护:scale=0 可以进行应用更新或维护的一种策略,以确保在更改过程中没有活跃流量;
名词概念解释:
Deployment、ReplicaSet或者StatefulSet 都是用来控制和管理Pod的工具;
Pod是实际运行容器的地方;
Deployment:一种高级别的抽象,用来定义和管理一组相同容器化的应用程序的副本;
ReplicaSet:一种确保一定数量的Pod副本始终运行的工作负载资源,保证即使某些Pod失败或销毁,也会有新的Pod被创建以保持预期的数量;
StatefulSet:用于管理有状态的应用程序的工作负载资源,为每个Pod提供唯一的网络标识符,并支持持久存储卷的使用;
Pod:是Rancher中最小的可部署单位,包含一个或多个容器的逻辑主机,它内部的容器共享相同的网络命名空间和存储卷。