原文地址
一、现状 目前是通过 swagger + knife4j 的方式集成到微服务项目中,后端同学在开发或修改接口后,需要手动同步维护至公司内部的 wiki 中供前端和测试同学们查阅。
目前来说,这种现有方式存在如下的几个问题:
接口调试和在线文档依赖服务的启动。
现有服务基于 k8s,服务是无状态的,无固定 IP,文档查看需要配置映射。
一般开发同学比较习惯使用 Markdown 语言(.md)撰写文档,但是公司 wiki 平台不支持导入 md 文件,因此需要开发同学手动添加 wiki,效率过低。
Api 更新不及时或未更新。主要由于接口文档依赖于注解的更新,wiki 也需要人工进行更新维护,难免发生疏漏。
公司内部跨部门接口对接时,存在某些接口 wiki 无权限,需要项管协助开通或者需要我们手动把 wiki 中的接口文档以 word 的形式导出,工作效率比较低,并且也存在文档变更不及时通知的场景。
与第三方对接时,公司内部的 wiki 由于是内网,而且需要登录。所以文档都是通过 word 导出的方式,每次接口变更都需要同步修改 wiki 后,在导出一份 word 出来提供 ...
在 Windows 上使用 Docker 时,Docker Desktop 通常依赖于 WSL 2(Windows Subsystem for Linux 2)来提供一个轻量级的 Linux 内核环境。因此,保持 WSL 2 的更新对于确保 Docker 的最佳性能和兼容性是很重要的。以下是更新 WSL 的步骤:
1. 确保 Windows 已更新 首先,确保你的 Windows 10 或 Windows 11 版本是最新的,因为 WSL 2 的更新可能依赖于 Windows 的功能更新。
打开“设置” -> “更新和安全” -> “Windows 更新”。
点击“检查更新”并安装所有可用的更新。
2. 更新 WSL 2 内核WSL 2 的 Linux 内核更新是独立于 Windows 更新的,需要单独下载和安装。
下载最新的 WSL 2 内核更新包:
访问 微软的 WSL 2 核心更新页面。
下载最新的 Linux 内核更新包并运行安装。
通过命令行更新:
打开 PowerShell 或命令提示符(以管理员身份运行)。
执行以下命令来更新 WSL:1wsl ...
保证依赖的模块和父模块都是 pom 格式,自己是 jar 格式
if (typeof lightGallery !== 'undefined') {
var options = {selector: '.gallery-item'};
lightGallery(document.getElementsByClassName('.article-gallery')[0], options);
}
var isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
var isEncrypt = document.getElementById('hexo-blog-encrypt');
...
你所提到的 MinIO 的自愈机制正在从多个独立的模式转换为一个统一的模型。这种变化旨在提高系统的可靠性和数据一致性,同时减少对用户手动干预的需求。以下是对这些自愈机制的详细解释:
当前的自愈机制
整个命名空间的定期自愈 :
每 30 天,MinIO 会自动对整个命名空间进行一次自愈。这是为了确保所有数据块和奇偶校验块在长时间内保持一致。
新磁盘的自愈 :
当检测到磁盘替换时,系统将在大约 10 分钟内开始对新磁盘进行自愈。这确保了新加入的磁盘能够迅速与集群中的其他磁盘同步。
位腐蚀自愈 :
在处理客户端请求时,如果检测到数据位腐蚀,MinIO 会自动进行自愈。这种机制确保在读取数据时自动修复任何检测到的错误。
瞬时断连自愈 :
对于由于网络问题或其他原因导致的瞬时断连,系统会跟踪那些在 PUT 操作中失败的磁盘。当这些磁盘或网络恢复在线时,MinIO 会自动进行自愈,利用内存中维护的最近失败列表触发修复操作。
未来的自愈机制
持续自愈 :
MinIO 正在开发一项新功能,以实现持续自愈。这意味着系统将不断地在后台检查和修复数据不一 ...
在 MinIO 中,watch 和 replication 是两个不同的功能,分别用于监控和数据复制。它们在功能和使用场景上有明显的区别。下面是对这两个命令的详细解释:
watch 命令
功能 :
watch 命令用于实时监控 MinIO 存储桶中的事件。例如,文件的上传、删除等操作。
通过监控这些事件,用户可以及时响应存储桶内的变化。
使用场景 :
开发者和运维人员可以使用 watch 来调试应用程序或监控存储桶的活动。
可以用于触发自动化任务,比如在新文件上传后立即处理文件。
实现方式 :
在 MinIO 客户端(mc)中,你可以使用 mc watch 命令来监控指定存储桶的变化。
replication 命令
功能 :
replication(复制)功能用于在不同 MinIO 集群或实例之间复制数据。
复制可以在不同的地理位置或不同的数据中心之间进行,以实现数据的高可用性和灾难恢复。
使用场景 :
数据冗余:确保数据在多个位置都有副本,以防止单点故障。
灾难恢复:在一个位置的数据丢失后,可以从其他位置恢复数据。
地理分布 ...
12345Error: http://192.168.137.1:9000->http://192.168.137.224:9000 has incorrect configuration: Expected MinIO binary checksum: dd726a40d050dbed4522db85019061ef, seen: 576bfa927fa682ff6104229835fbb3de (*fmt.wrapError) 4: internal\logger\logonce.go:118:logger.(*logOnceType).logOnceIf() 3: internal\logger\logonce.go:149:logger.LogOnceIf() 2: cmd\logging.go:104:cmd.bootLogOnceIf() 1: cmd\bootstrap-peer-server.go:225:cmd.verifyServerSystemConfig.func1()
这个错误信息表明,MinIO 集群中 ...
在测试和开发环境中,模拟磁盘损坏可以帮助你了解和验证系统在故障情况下的行为和恢复能力。以下是在 Windows 和 Linux 环境下模拟磁盘损坏的方法。
在 Linux 环境中模拟磁盘损坏
使用 dd 命令清除磁盘数据 :
你可以使用 dd 命令将随机数据写入磁盘,模拟磁盘损坏。
例如,假设你要模拟 /dev/sdb 磁盘的损坏:1sudo dd if=/dev/urandom of=/dev/sdb bs=1M count=100
这会用随机数据覆盖磁盘的前 100MB,模拟损坏。
卸载磁盘 :
通过卸载磁盘来模拟设备不可用:1sudo umount /path/to/mountpoint
使用 losetup 创建虚拟块设备 :
创建一个虚拟块设备并将其设置为不可用。
例如,使用一个文件创建一个虚拟磁盘:12dd if=/dev/zero of=/tmp/fake-disk.img bs=1M count=100losetup /dev/loop0 /tmp/fake-disk.img
然后卸载或破坏它来模拟故障。
在 Window ...
MinIO Plus API 文档 简介:MinIO Plus API 文档
HOST:mpdemo.liuxp.me
联系人: 刘小平
Version:1.0.0
接口路径:/v2/api-docs
[TOC]
MinIO Plus Demo 接口 文件下载 接口地址:/storage/download/{fileKey}
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
参数名称
参数说明
请求类型
是否必须
数据类型
schema
fileKey
fileKey
path
true
string
响应状态:
状态码
说明
schema
200
OK
401
Unauthorized
403
Forbidden
404
Not Found
响应参数:
暂无
响应示例:
1
获取图标 接口地址:/storage/icon/{fileType}
请求方式:GET
请求 ...
在 Nginx 中,nginx.conf 和 conf.d 目录都用于配置 Nginx 服务器,但它们的用途和使用方式有所不同。下面是对这两者的详细说明:
nginx.confnginx.conf 是 Nginx 的主配置文件,通常位于 /etc/nginx/nginx.conf 路径下。这个文件包含了 Nginx 服务器的全局配置和默认的服务器块配置。以下是一个典型的 nginx.conf 文件结构:
1234567891011121314151617181920212223242526272829303132333435363738user nginx;worker_processes auto;error_log /var/log/nginx/error.log;pid /run/nginx.pid;events { worker_connections 1024;}http { include /etc/nginx/mime.types; default_type application/octet-stream; log ...
在生产环境中,使用 Nginx 作为反向代理来访问 MinIO 可以为你提供更好的安全性、负载均衡以及 SSL/TLS 支持。以下是配置 Nginx 来代理 MinIO 的详细步骤:
前提条件
已经部署好 MinIO,并且可以通过其内部地址访问。
Nginx 已经安装在你的服务器上。
配置步骤
安装 Nginx
如果还没有安装 Nginx,可以使用以下命令进行安装:
1sudo yum install nginx -y
生成 SSL 证书(可选)
如果需要通过 HTTPS 访问 MinIO,可以使用 Let’s Encrypt 生成免费的 SSL 证书:
12sudo yum install certbot python2-certbot-nginx -ysudo certbot --nginx
按照提示完成证书生成和配置。
配置 Nginx
编辑 Nginx 配置文件,添加 MinIO 的反向代理配置:
1sudo vi /etc/nginx/conf.d/minio.conf
添加以下内容:
123456789101112131415 ...