自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的博客

不相信自己的人 连努力的价值都没有

  • 博客(576)
  • 问答 (1)
  • 收藏
  • 关注

原创 EXPIRE key -1导致key被删除问题

key在指定的秒数之后过期。当seconds参数设置为-1时,这实际上是一个旧的用法,意味着取消key的过期时间,使其变为永久有效。PERSIST key命令移除给定key的过期时间,如果这个key存在并且有一个过期时间,那么PERSIST命令返回1。在Redis中,如果你想要设置一个键(key)为永不过期,你应该使用PERSIST命令,而不是EXPIRE命令配合-1参数。因此,为了确保代码的清晰性和与Redis版本的兼容性,当你想让一个key永不过期时,最好使用PERSIST命令。

2024-03-22 14:57:34 253

原创 Guava Cache、Caffeine Cache引用传递的坑

使用对象时,改动对象,缓存中的数据也会改变。

2024-02-01 11:44:41 172

原创 Spring6.0源码 SpringMVC注解版环境搭建时不加载WebApplicationInitializer情况

【代码】Spring6.0源码 SpringMVC注解版环境搭建时不加载WebApplicationInitializer情况。

2024-01-24 16:20:52 377

原创 06ShardingSphere-JDBC多表关联

在服务器中分别创建两张订单详情表我们希望,因此这两张表我们使用相同的分片策略。那么在中我们也需要创建order_no这个分片键创表语句。

2023-09-18 07:00:00 533

原创 05ShardingSphere-JDBC水平分片

随着业务的扩大,订单表数据量不断增加,数据库面临存储压力,开始考虑对订单表进行水平分片。

2023-09-14 07:00:00 271

原创 04ShardingSphere-JDBC垂直分片

实现最基本的标准垂直分片场景

2023-09-01 07:00:00 187

原创 03ShardingSphere-JDBC读写分离

通过一主多从的配置方式,可以将查询请求均匀的分散到多个数据副本,能够进一步的提升系统的处理能力。 使用多主多从的方式,不但能够提升系统的吞吐量,还能够提升系统的可用性,可以达到在任何一个数据库宕机,甚至磁盘物理损坏的情况下仍然不影响系统的正常运行。与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据 SQL 语义的分析,将读操作和写操作分别路由至主库与从库。

2023-08-25 07:00:00 368

原创 02ShardingSphere-MySQL主从同步配置

docker环境实现MySQL主从同步

2023-08-23 07:00:00 429

原创 01ShardingSphere-docker环境安装

shardingsphere使用docker安装数据库是一个非常好的选择,后续的读写分离、数据分片等功能的数据库都是由docker创建。

2023-08-22 07:00:00 277

原创 ShardingSphere介绍

Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。Apache ShardingSphere 设计哲学为 Database Plus,旨在构建异构数据库上层的标准和生态。 它关注如何充分合理地利用数据库的计算和存储能力,而并非实现一个全新的数据库。 它站在数据库的上层视角,关注它们之间的协作多于数据库自身。

2023-08-21 07:00:00 175

原创 数据库高性能架构模式

互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能。高性能数据库集群的`第一种方式是“读写分离”`,`第二种方式是“数据库分片”`。

2023-08-17 07:00:00 205

原创 kubernetes 集群命令行工具 kubectl

kubectl是一种命令行工具,用于管理Kubernetes集群和与其相关的资源。通过kubectl,您可以查看和管理Pod、Deployment、Service、Volume、ConfigMap等资源,也可以创建、删除和更新它们。kubectl还提供了许多其他功能,例如:查看集群状态、节点列表和事件日志。在Pod中执行命令或启动交互式终端。管理Secret和ConfigMap。部署应用程序、扩展和缩小应用程序副本数量。在多个Kubernetes集群之间切换。kubectl是Kubernete

2023-08-09 07:00:00 396

原创 kubernetes 集群搭建(二进制方式)

使用二进制方式搭建Kubernetes集群,可以更加灵活、自由地定制和配置Kubernetes。同时,它还可以实现更高的性能和更小的资源占用。对于我这个初学者来说:- 更加直观地看到Kubernetes的各个组件,了解它们之间的关系和作用。- 在搭建Kubernetes集群的过程中,了解集群的架构和各个组件之间的协作关系,有助于初学者更好地理解Kubernetes的工作原理和机制。- 使用二进制方式搭建Kubernetes集群需要进行一些配置和维护工作,这有助于初学者掌握Kubernetes的维

2023-08-07 07:00:00 236

原创 kubernetes 集群搭建(kubeadm 方式)

kubeadm 是官方社区推出的一个用于快速部署 kubernetes 集群的工具, 这个工具能通过两条指令完成一个 kubernetes 集群的部署:第一、 创建一个 Master 节点 kubeadm init第二, 将 Node 节点加入到当前集群中: kubeadm join

2023-08-01 07:00:00 683 3

原创 kubernetes介绍

Kubernetes 是一个开源的容器编排引擎,用来对容器化应用进行自动化部署、 扩缩和管理。Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。 Kubernetes 建立在 Google 大规模运行生产工作负载十几年经验的基础上, 结合了社区中最优秀的想法和实践。在生产环境中部署一个应用程序时, 通常要部署该应用的多个实例以便对应用请求进行负载均衡。在 Ku

2023-07-30 07:00:00 314

原创 Docker容器监控之 CAdvisor+InfluxDB+Granfana

通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据,一般小公司够用了。但是,docker stats统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能

2023-07-29 07:00:00 664 1

原创 Docker轻量级可视化工具Portainer

Portainer是一个轻量级的管理UI界面,用于管理Docker容器、镜像、卷和网络。它支持端口映射、容器启动、停止、删除、日志查看等功能,同时也提供了可视化的监控和统计功能,可以快速轻松的管理多个Docker主机。Portainer不需要额外安装依赖,所有的安装都可以通过Docker容器完成。同时,Portainer也提供了REST API,可以方便地进行集成和自动化操作。方便地管理Docker环境,包括单机环境和集群环境。

2023-07-28 07:00:00 388

原创 Linux虚拟机(lvm)报Unmount and run xfs_repair

linux系统没有正常关机,今天启动虚拟机无法进入系统,提示metadata corruption deleted at xxxx;Unmount and run xfs_repair

2023-07-27 22:38:27 933

原创 Docker-compose容器编排

Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。

2023-07-27 07:00:00 182

原创 Docker网络

本节主要介绍Bridge模式、Host模式、None模式、Container模式

2023-07-26 07:00:00 771

原创 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

Druid 1.0.20版本之后,开始支持配置connectTimeout和socketTimeout。在1.0.20版本之前,Druid默认使用Java底层的连接超时和读取超时参数。如果不配置 connect-timeout 和 socket-timeout 参数,则默认启用 Druid 的默认超时时间。默认情况下,连接超时时间为 1000 毫秒,读取超时时间为 30 分钟。如果需要更改超时时间,可以配置 connect-timeout 和 socket-timeout 参数来覆盖默认值。一般来说,建

2023-07-25 10:42:49 1018

原创 通过dockerfile发布微服务部署到docker容器

通过一个简单的示例Dockerfile,用于发布一个基本的Spring Boot微服务应用程序

2023-07-25 07:00:00 235

原创 seata无限失败重试Failed to retry rollbacking Unknown java.lang.RuntimeException: rm client is not connect

在多数据源分布式事务下,如果应用在事务执行过程中被强制重启,还没有来得及完成事务提交或回滚操作时,可能会导致一些数据没有正确的提交或回滚,从而出现数据不一致的情况。这种情况下,可能会在/bin/sessionStore/root.data文件中留下一些回滚数据。为了避免这种情况的发生,应尽可能避免强制重启应用,同时在设计应用时,要充分考虑多数据源分布式事务的一致性和可靠性,采用合适的解决方案来保证分布式事务的正确执行。

2023-07-24 17:33:10 1152 2

原创 docker虚悬镜像

虚悬镜像(dangling image)是指在 Docker 中存在的一种镜像,它已经被创建,但是没有被任何容器所引用。这通常发生在当你在构建镜像的过程中,因为一些原因(例如构建取消或构建失败),你创建了一个镜像,但是没有将其命名或标记。这些镜像被称为虚悬镜像,因为它们“悬浮”在 Docker 中,没有被任何容器所使用,而且也不会被 Docker 清理工具删除。虚悬镜像占用磁盘空间,可以通过命令docker image prune来清理不再使用的虚悬镜像。仓库名、标签都是的镜像,俗称虚悬镜像

2023-07-24 07:00:00 585 1

原创 Dockerfile文件+docker build命令方式创建Docker自定义镜像

自定义一个centos镜像,具备vim+ifconfig+jdk8的配置

2023-07-23 07:00:00 387

原创 DockerFile常用保留字指令

DockerFile常用保留字指令

2023-07-22 07:00:00 100

原创 DockerFile介绍

通过Dockerfile构建时,在用Dockerfile定义一个文件之后,docker build时会产生一个Docker镜像,当运行 Docker镜像时会真正开始提供服务;Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。4:每条指令都会创建一个新的镜像层并对镜像进行提交。

2023-07-21 07:00:00 127

原创 Docker安装redis集群(3主3从cluster集群模式)

Docker安装redis集群(3主3从redis集群配置)

2023-07-20 07:00:00 320

原创 Docker安装mysql主从

Docker安装mysql主从

2023-07-19 07:00:00 329

转载 Apache ShardingSphere 5.4.0 最新版本全知道!

Apache ShardingSphere在2023年7月初迎来了 5.4.0 版本的发布,该版本历时两个月,共合并了来自全球的团队和个人累计 1271 个 PR,新版本在功能、性能、测试、文档、示例等方面都进行了大量的优化。本次更新包含了不少能够提升用户体验、解决用户痛点的内容,本文与大家一起快速预览:广播表调整为全局表CDC 功能完善Single table 元数据加载逻辑优化

2023-07-18 21:47:21 2016 2

原创 Docker安装redis

Docker安装redis

2023-07-18 07:00:00 434

原创 Docker安装mysql

Docker安装mysql

2023-07-17 07:00:00 142

原创 Docker安装tomcat

Docker安装tomcat

2023-07-16 20:31:33 1035

原创 Docker容器数据卷

Docker容器数据卷是一种特殊类型的目录,可以在容器和主机之间共享数据。当容器结束时,数据卷不会被删除,因此可以在其他容器中使用。数据卷可以被其他容器连接和共享,这使得容器之间的数据共享和持久保存变得更加容易。卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷一句话:

2023-07-16 07:00:00 237

原创 Docker本地镜像发布到私有库

使用Docker Registry,可以创建私有或公共的镜像仓库,以存储Docker镜像。私有仓库可以用于存储公司内部的镜像,或者用于个人项目的镜像。公共仓库则会将发布的镜像分享到全世界。,中国大陆访问太慢了且有被阿里云取代的趋势,不太主流。2 Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。Docker Registry是官方提供的工具,可以用于构建私有镜像仓库。

2023-07-15 07:00:00 1950

原创 Docker本地镜像发布到阿里云

我们构建了自己的镜像后,可以发布到远程镜像提供给其他人使用,比如发布到阿里云使用build/commit生成新的镜像,并生成自己镜像的版本标签tag,此新的镜像在自己的本地库中,使用push可以将镜像提交到阿里云公有库/私有库,使用pull从公有库/私有库中拉取镜像1 编写Dockerfile文件生成新的镜像2 docker commit命令基于当前容器创建一个新的镜像这里就是用之前构建的镜像dongguo/myubuntu3.1选择控制台,找到容器镜像服务3.2选择个人实例创建个人版。

2023-07-14 07:00:00 768

原创 Docker镜像commit操作实战

我们从官网拉取下来的镜像,一般是非常精简的,比如ubuntu,并没有vim命令,那么如果我想要有vim命令,可以加上vim命令后,提交成一个新的镜像。docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]我们自己commit构建的镜像,新增加了vim功能,可以成功使用。#再安装需要的vimapt-get -y install vim。docker commit 提交容器副本使之成为一个新的镜像。这里打开了一个新的会话,执行命令。

2023-07-13 07:00:00 323

原创 Docker镜像

对于一个精简的OS,rootfs可以很小,只需要包括最基本的命令、工具和程序库就可以了,因为底层直接用Host的kernel,自己只需要提供 rootfs 就行了。是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。而且镜像的每一层都可以被共享。以我们的pull为例,在下载的过程中我们可以看到docker的镜像好像是在一层一层的在下载。

2023-07-12 07:00:00 94

原创 Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPointerEx

因为Springfox 使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X以上使用的是PathPatternMatcher。

2023-07-10 20:53:15 7732 3

原创 Docker常见命令(以备不时之需)

Docker常见命令

2023-07-10 07:00:00 3222

空空如也

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

TA关注的人

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