自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 k8s 学习笔记之 k8s 存储管理

在虚拟机的环境中,应用程序的数据通常存储在本地磁盘上,即使重启虚拟机也不会数据丢失。但是在 pod 中。pod 的特点就是 “临时性” ,随着 pod 的重建,容器中的数据也会消失,这将导致一些应用程序读不到之前的数据。因此 pod 引入了持久化这个概念,也就是 “卷”

2024-11-17 20:13:19 1262

原创 K8s学习笔记之了解k8s的网络模型

K8s 网络插件介绍VXLAN 和 IPIP 他们不依赖低层网络环境,几乎可以在任何网络中使用。缺点就是数据包会经历两次封装和解包,这会导致一定的性能开销BGP 的优点是动态学习路由,基于路由出发,具有良好的网络性能,但是它依赖于二层网络,当节点较多的场景下路由表会是巨大的。

2024-11-16 15:54:01 1332

原创 CentOS8.4 部署 k8s 1.31.2

针对哪个镜像站加速,就创建哪个文件夹,例如针对docker.io加速,就要在certs.d下创建docker.io文件夹,hosts.toml是固定的名字。设置iptables不对bridge的数据进行处理,启用IP路由转发功能。查看主节点情况,都是 running 就没问题。如果在主节点查看 pod 的时候出现这个报错。上面的那个哈希在两个从节点上分别执行。节点都加入之后在主节点查看集群状态。解压之后会有一个 root 目录。配置 master 节点。注意,它会返回一个 哈希。初始化 master。

2024-11-06 20:42:06 946

原创 Centos8.4 Ceph16.2.15 学习指南 集群部署【 cephadm 】

Ceph 是一个开源项目,它提供软件定义的、统一的存储解决方案。Ceph 是一个可大规 模扩展、高性能并且无单点故障的分布式存储系统。从一开始它就运行在通用商用硬件上, 具有高度可伸缩性,容量可扩展至 EB 级别,甚至更大。Ccph 提供了各种接门让客户端庄接 Ceph 集群,这为客户端增加了灵活性。对于数据保护,Ceph 并不依赖 RAlD 技术,因为它存在本章前面提到的各种限制。而是采用了已经被证明比 RAID 更好的副本和纠删码方案。

2024-11-01 17:24:59 1161

原创 ‍️CentOS7.9 mall 部署【高可用版本】【本机部署】

important] -组织架构mall├── mall-common – 工具类及通用代码├── mall-mbg – MyBatisGenerator生成的数据库操作代码├── mall-security – SpringSecurity封装公用模块├── mall-admin – 后台商城管理系统接口├── mall-search – 基于Elasticsearch的商品搜索系统├── mall-portal – 前台商城系统接口。

2024-10-27 22:45:54 1059 1

原创 Markdown 语法 【基本使用】【小白必看】

Markdown 是一种轻量级的标记语言,它允许人们使用易读易写的纯文本格式编写文档。这种语言在2004年由约翰·格鲁伯(John Gruber)创建,并且由于其简洁、高效、易读、易写的特点,被广泛使用于各种平台,如GitHub、简书等。

2024-10-21 15:37:27 824

原创 MongoDB oplog 详解

MongoDB Oplog是MongoDB Primary节点和Secondary节点在复制建立期间和建立完成之后的复制介质,Primary节点中的所有写入操作都会被记录到MongoDB的Oplog中,然后从库会来主库一直拉取Oplog并应用到自己的数据库中。这样每个Secondary节点都有oplog,记录着从主节点复制过来的信息,所以每个成员都可以作为同步源给其它节点。MongoDB Oplog是MongoDB副本集主从复制的纽带,类似于MySQL中的binlog日志。

2024-10-16 12:56:05 1442

原创 docker compose部署mongodb 分片集群

将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载。减少单个分片需要处理的请求数,提高集群的存储容量和吞吐量 比如,当插入一条数据时,应用只需要访问存储这条数据的分片 减少单分片存储的数据,提高数据可用性,提高大型数据库查询服务的性能。它不再需要单独生成密钥,将 config server 的密钥文件拷贝过来即可,切记一定要使用 config server 的密钥文件,不然会登录不进去。那么这个时候,要么使用这一串不知名的东西,要么就改这个节点的名字。

2024-10-15 17:56:53 1933

原创 KafKa 集群【docker compose】

所有的主机这一段基本都是一样的 只有 id 不同,id 可以根据上面表格进行修改。新增到 docker-compose.yml 文件中。只需要在一台主机上部署 ui 就可以了。通过 ip + 8080 端口访问。

2024-10-11 16:39:23 1844

原创 手把手教你 vim 多行操作

模板。

2024-10-10 15:25:29 1617 1

原创 【ubuntu22.04】 搭建自己的镜像站 【harbor】【docker compose】【超详细】

Harbor是一个开源的企业级Docker Registry管理工具,它提供了一个安全、可靠、可扩展的平台,用于存储、管理和分发Docker镜像。Harbor可以帮助组织和团队更好地管理Docker镜像,并提高应用程序构建和部署的效率。虽然Docker官方提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。

2024-10-07 13:00:44 1888 4

原创 Kafka 快速入门

Apache Kafka 是分布式的、基于 发布/订阅 的容错消息系统。主要特性如下:高吞吐、低延迟:可以做到每秒百万级的吞吐量,并且时延极低持久性、可靠性:消息被持久化到本地磁盘,支持数据备份防止数据丢失,具备以时间复杂度为 O(1) 的方式提供消息持久化能力;并且可以配置消息有效期,以便消费者可以多次消费kafka的管理UI,这里主要推荐三个:kafka-ui:官方文档地址为。相对于EFAK,功能显得极为简陋,但基本够用,最主要是他支持kraft。另外其github上的star数量也远超EFAK。

2024-10-05 17:43:30 1097

原创 etcd 集群搭建【docker-compose】

ETCD_INITIAL_CLUSTER=etcd0=http://192.168.142.157:2380,etcd1=http://192.168.142.156:2380,etcd2=http://192.168.142.155:2380,etcd3=http://192.168.142.158:2380: 定义初始集群的配置,包括每个成员的名称和对等 URL。ETCD_PEER_CERT_FILE=/etc/ssl/certs/etcd.crt: 指定 etcd 节点的对等证书文件路径。

2024-10-05 15:52:16 1111

原创 etcd 快速入门

随着go与kubernetes的大热,etcd作为一个基于go编写的分布式键值存储,逐渐为开发者所熟知,尤其是其还作为kubernetes的数据存储仓库,更是引起广泛专注。本文我们就来聊一聊etcd到底是什么及其工作机制。首先,coreos官方是这么定义etcd的:A highly-available key value store for shared configuration and service discovery(etcd是一个高可用的用于共享配置和服务发现的KV存储)

2024-10-05 02:34:45 1710

原创 MongoDB 副本集搭建【带身份认证】 【docker compose + 本机部署】【建议收藏起来】

MongoDB副本集(Replica Set)是一种数据冗余和故障恢复机制,它允许你维护相同数据的一个或多个副本,并提供自动故障转移和数据恢复能力。副本集是一个包含多个MongoDB实例(通常称为成员)的集合,其中一个成员被选举为主节点(Primary),其他成员作为从节点(Secondary)或仲裁节点(Arbiter)。副本集至少需要3个成员,可以配置为一主两从如果主节点挂掉,两个从节点会重新选举,找到一个从节点,将其提升为主。

2024-10-01 21:13:17 1452

原创 MongoDB 用户管理

MongoDB安装完成后,数据库 admin 中没有任何用户账户。此时,MongoDB 向从本地主机发起的连接提供完整的数据库管理权限。用户管理员账户和数据库管理员账户都是在数据库 admin 中创建的。在 MongoDB 服务器中启用身份验证后,要以用户管理员或数据库管理员的身份连接到服务器,必须向 admin 数据库验证身份,您还需在每个数据库中创建用户账户,让这些用户能够访问该数据库。

2024-10-01 15:39:29 1356 2

原创 MongoDB 索引

GeoJSON 是一种基于 JSON (JavaScript Object Notation) 的格式,用于表示各种地理数据结构。它是基于 JSON 的一种标准,用于编码地理信息,包括点、线、面(多边形)以及其他地理集合。GeoJSON 通常用于 Web 地图和地理信息服务中,以便于数据的传输和处理。点(Point)表示一个地理位置上的单个点。线(LineString)表示一系列由线段连接的点。多边形(Polygon)

2024-10-01 14:54:29 1595

原创 MongoDB 聚合管道

聚合管道由一个或多个处理文档的阶段组成:每个阶段对输入文档执行一个操作。例如,某个阶段可以过滤文档、对文档进行分组并计算值。从一个阶段输出的文档将传递到下一阶段。一个聚合管道可以返回针对文档组的结果。例如,返回总值、平均值、最大值和最小值。如使用通过聚合管道更新中显示的阶段,则可以通过聚合管道更新文档。其实也就类似于 MYSQL 的函数的功能。

2024-10-01 10:43:49 733

原创 MongoDB 的基本使用

目录数据库的创建和删除创建数据库查看数据库删除数据库集合的创建和删除显示创建查看 删除集合隐式创建文档的插入和查询单个文档的插入insertOneinsertMany 查询嵌入式文档查询数组查询数组元素 为数组元素指定多个条件 通过对数组元素使用复合筛选条件查询数组查询满足多个条件的数组元素按数组索引位置查询元素按数组长度查询数组查询嵌入式文档数组查询嵌套在数组中的文档在文档数组中的字段上指定查询条件在文档数组中嵌入的字段上指定查询条件使用数组索引查询嵌入式文档中的字段为文档数组指定多个条件单个嵌套文档满足

2024-10-01 01:37:46 1339

原创 MongoDB 快速入门+单机部署(附带脚本)

Mongodb 是一个开源的,高性能,五模式的文档行数据库,当初的设计就是用于简化开发和方便扩展,是 NoSQL 数据库产品中的一种。是最像关系型数据库 MYSQL 的非关系型和数据库它支持的数据结构非常松散,是一种类似于 JSON 的格式,叫做 BSON , 所以它既可以存储比较复杂的数据类型,又相对灵活。

2024-09-30 19:35:43 1927

原创 Linux 基础

renice 是设置一个已经运行的程序的优先级,nice 是设置一个没有运行的程序的优先级让他立刻执行就获得相对应的优先级。文件拥有人 ----》 ACL 权限 ------》 拥有组 --------》 组 ACL ---------》 其他人。软硬链接的区别就在于软连接的源文件被删除了则软连接也打不开了,但是硬连接的源文件删除了连接任然可以用。软硬链接的区别就在于软连接的源文件被删除了则软连接也打不开了,但是硬连接的源文件删除了连接任然可以用。

2024-09-28 11:18:24 1544

原创 minio 快速入门+单机部署+集群+调优

比如一个16节点的Minio集群,每个节点16块硬盘,就算8台服务器宕机,这个集群仍然是可读的,不过需要9台服务器才能写数据。下图为 MINIO 集群存储示意图,每一行是一个节点机器,有 32 个节点,每个节点里有一个小方块我们称之 Drive,Drive 可以简单地理解为一个硬盘。这就意味着如果是12块盘,一个对象会被分成6个数据块、6个奇偶校验块,你可以丢失任意6块盘(不管其是存放的数据块还是奇偶校验块),你仍可以从剩下的盘中的数据进行恢复。适合存储大容量非结构化的数据,如图片,视频,日志文件。

2024-09-27 22:19:19 2131

原创 docker 守护进程的错误响应

再次 docker compose up -d 应该就没问题了。

2024-09-27 17:13:43 360

原创 Docker compose 部署 zookeeper 集群

ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper 的架构通过冗余服务实现高可用性。Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。

2024-09-27 15:45:18 1987 1

原创 Docker Compose 搭建 nacos 集群

三篇 docker-compose.yml 都大差不差只有一点变化。slave02 的 docker-compose.yml 文件。master 的 docker-compose.yml。slave 的 docker-compose.yml。打开浏览器分别使用三个 ip 地址访问。三台主机上分别构建 mysql 镜像。

2024-09-24 18:18:55 469

原创 nacos 快速入门

Nacos/nɑ:kəʊs/是“动态命名和配置服务”的缩写,是一个用于构建云原生应用的易于使用的动态服务发现、配置和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。它提供了一组简单实用的功能,使您能够实现动态服务发现、服务配置、服务元数据和流量管理。Nacos 可让您更轻松、更快速地构建、交付和管理微服务平台。它是支持以服务为中心的现代应用架构的基础设施,采用微服务或云原生方法。Nacos 的主要特点:服务发现和服务健康检查。

2024-09-24 16:29:57 710

原创 Rabbitmq 集群+镜像队列的搭建

内存节点:元数据存放于内存中。为了重启后能同步数据,内存节点会将磁盘节点的地址存放于磁盘之中,除此之外,如果消息被持久化了也会存放于磁盘之中,因为内存节点读写速度快,一般客户端会连接内存节点。镜像队列模式下,节点之间不仅仅会同步元数据,消息内容也会在镜像节点间同步,可用性更高。磁盘节点:元数据存放于磁盘中(默认节点类型),需要保证至少一个磁盘节点,否则一旦宕机,无法恢复数据,从而也就无法达到集群的高可用目的。在普通集群模式下,集群中各个节点之间只会相互同步元数据,也就是说,消息数据不会被同步。

2024-09-23 15:26:14 1681

原创 RabbitMQ 快速入门

消息队列: message queue 简称 MQMQ 其实就是个列队,FIFO 先进先出,只不过队列中存放的消息是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息,在互联网架构中,MQ 是一种非常常见的上下游 ”逻辑解耦+物理解耦“ 的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。

2024-09-22 20:06:37 1598

原创 Redis 优化

有一个方案就是将每一个 hash 再次才分成多个小的 hash ,这样外层的一个 key 就可以掌管多个内部的 key ,也就是相当于掌管里面所有的 hash ,我们只需要对内部的 hash 的做优化就可以了,如果内部 hash 过于庞大的话,再考虑对外部的 hash 做优化就可以基本解决这个问题。在这张表上,我们可以看到最后一个 hash_tag 是最好的,但是也存在一定的风险,这相当于把 redis 中的所有的数据都同化了,这就是数据倾斜,所以在实际的开发中我们还是更加推荐并行 slot。

2024-09-22 15:14:54 1694

原创 redis 快速入门

redis 是一个 key-value 的数据库, key 一般是 String 类型,不过 value 的类型多种多样前五个是基本类型,后面三个是在基本类型的基础之上做了一些特殊的功能,所以也被称之为特殊类型。

2024-09-21 11:57:46 1593

原创 Docker 的安装部署与基本使用

Docker 的旧版本被称为 docker,docker.io 或 docker-engine。: 随着时间的推移,持续更新和优化 Dockerfile,以利用 Docker 引擎和基础镜像的改进。: 使用多阶段构建来减小最终镜像大小,编译时使用一个包含所有工具的基础镜像,最终只保留编译产物。列出容器 docker ps -a 列出当前机器上所有的容器 -q 只列出容器的 id。:声明容器运行时监听的端口,不会发布端口,只是作为文档说明使用。: 使用标签来管理不同版本的镜像,确保使用的是优化过的版本。

2024-09-21 10:31:26 741

原创 Docker Compose 搭建 Redis 哨兵集群模式搭建详解(1主2从+3哨兵)(包含主从复制的搭建) (保证一遍学会)

这意味着在故障转移过程中,只有一个从节点会开始与新的主节点同步数据,其他从节点会等待,直到该从节点完成同步后才开始。sentinel 给所有其他 slave 发送 slaveof 192.168.142.152 6379 命令,让这些 slave 成为新的 master 的从节点,开始从新的 master 上同步数据。quorum 值最好超过 Sentinel 实例数量的一半。最后,sentinel 将故障节点标记为 slave ,当故障节点恢复后会自动成为新的 master 的 slave 节点。

2024-09-20 19:37:14 2204 1

原创 Redis 数据同步原理

因此,slave 做数据同步时,必须向 master 声明自己的 replication id 和 offset ,master 才可以确认到底要同步哪些数据,master 判断 slave 是不是第一次来同步数据只能是 replication id 不能是 offset ,因为 offset 也可能是 slave 从别的 master 那里同步过数据。如果 slave 的 offset 小于 master 的 offset ,则说明 slave 的数据 落后于 master ,需要更新。

2024-09-20 16:22:08 644

原创 Docker Compose 搭建 Redis 主从复制

总而言之最总要的一步就是 slaveof

2024-09-20 16:17:54 769

原创 Redis 多级缓存

亿级流量的缓存方案。

2024-09-19 23:02:54 1247

原创 Redis 消息队列

STREAM 类型消息队列的 XREADGROUP 命令特点消息可回溯可以多消费者争抢消息,加快消息速度可以阻塞读取没有消息漏读的风险有消息确认机制,确保消息至少被消费一次ListPubSubStream消息持久化支持不支持支持阻塞读取支持支持支持消息堆积处理受限于内存空间,可以利用多消费者加速处理受限于消费者缓冲区受限于队列长度,可以利用消费者组来提高消费速度,减少堆积消息确认机制不支持不支持支持消息回溯不支持不支持支持。

2024-09-19 22:52:46 1096

原创 Redis 分布式锁

在每一个 JVM 中都有一个锁监视器,单一个 JVM 中,这个锁监视器可以控制在这个 JVM 中的每个线程,可以实现线程之间的互斥,但是在有多个 JVM 的场景之下,就会有多个锁监视器,这样就无法实现多 JVM 之间的互斥,于是就诞生了分布式锁分布式锁必须达到的几个条件Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格 (In-Memory Data Grid). 它不仅提供了一系列的分布式的 Java 常用对象,还提供了许多分布式服务,其中就包含了各种分布式锁的实现。

2024-09-19 22:45:03 809

原创 Redis 分布式缓存

其实就是集群。

2024-09-19 22:37:34 1134

原创 jfong artifactory 部署

Artifactory是JFrog出品的全功能制品库。所谓制品,可以表示任何软件构建过程的产出,包括:Docker镜像、NPM包、RPM/Debian等操作系统安装包、Helm Chart、Maven构建等。Artifactory包含一套产品,其开源版本为Artifactory OSS。根据名称、属性、归档、Checksum值来检索。基于Checksum的存储,支持去重。最后在浏览器端使用 ip 地址访问。为存储的构件设置包含/排除规则。通过REST或者UI上传构件。通过UI增删改查构件。

2024-09-19 20:51:40 437

原创 C# Socket 服务端

WPF 项目。

2024-09-19 20:07:14 438

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除