GDAL 使用笔记与开发流程
本文介绍Java项目中集成GDAL进行地理数据格式转换的核心要点。关键结论是:Java依赖仅提供接口调用,必须同时在系统安装GDAL二进制程序并配置环境变量,否则无法正常工作。Windows部署需配置Path指向GDAL的bin和java目录,手动新建PROJ_LIB指向proj数据目录。GDAL Java包版本须与系统二进制版本完全一致,如日志输出“3020300”表示GDAL 3.2.0,需匹配对应依赖。初始化代码通过注册驱动、设置UTF-8及坐标轴序,并检查本地库可用性,失败时可回退GeoTools。相比GeoTools,GDAL性能快10-50倍,内存占用降低10-20倍,适合高吞吐转换场景。涉及格式包括KML/KMZ、Shapefile与GeoJSON互转。
- 2025-10-04
- 104
- 0
- 0
- 34.4℃
MapLibre GL JS 使用笔记与开发流程
文章介绍在 Vue 3 + TypeScript 项目中集成 MapLibre GL 的完整流程。通过 npm 安装 maplibre-gl 后,在组件挂载时初始化地图,设置容器、官方演示样式、中心坐标(北京天安门)、缩放级别、抗锯齿等参数;随后添加导航、比例尺、全屏、地理定位等控件,并监听地图加载完成与点击事件。加载完成后可创建自定义标记点,绑定带 HTML 内容的 Popup 弹窗。组件卸载时调用 map.remove() 清理实例,并通过 defineExpose 暴露地图实例供外部使用。文中还给出自定义控件、弹窗及标记样式的 CSS 写法。读者可据此快速搭建 Vue 3 地图应用,掌握初始化、控件配置、事件交互和资源释放等核心环节。
- 2025-10-04
- 237
- 0
- 0
- 47.7℃
使用 K8S 或 Docker 快速部署 Seata 集群
本文介绍 Seata 2.0.0 在 Kubernetes 环境的高可用部署方案。部署采用 3 副本 Deployment,并通过 Pod 反亲和性分散调度;配置通过 ConfigMap 挂载,注册中心和配置中心均使用 Nacos,事务存储模式为 DB(MySQL)。文中提供了完整的 ConfigMap、Deployment、Service 配置示例,并在 Nacos 中维护 seataServer.properties,指定数据库连接、全局表、分支表、锁表等参数。读者可参照此配置快速搭建生产可用的 Seata Server 集群,理解其核心配置项与 K8s 资源组织方式。
- 2025-09-30
- 216
- 0
- 0
- 45.6℃
使用 K8S 或 Docker 快速部署 Minio
本文介绍 MinIO 对象存储的部署方式,涵盖 Docker 与 Kubernetes 两种环境。Docker 部署部分因正文未给出具体命令,仅提及部署方式。Kubernetes 部署为核心内容,需依次创建三类资源:首先创建 Secret 保存 MINIO_ACCESS_KEY 和 MINIO_SECRET_KEY;随后创建 Deployment,使用 minio/minio:RELEASE.2022-12-12T19-27-27Z 镜像,启动命令为 `minio server /data`,并开放 9000(S3 API)与 9001(Web 控制台)端口,通过 Secret 注入访问密钥,同时挂载 PVC 持久化数据;最后创建 NodePort 类型 Service,将 9000 映射到节点端口 30972,9001 映射到 31733,以供外部访问。文中还开启了浏览器控制台并指定监听地址,为读者提供了可直接参考的 MinIO 在 K8s 上的完整部署清单。
- 2025-09-28
- 73
- 0
- 0
- 31.3℃
使用 K8S 或 Docker 快速部署 Velero
本文介绍基于 MinIO 的 Velero 备份与还原 Kubernetes 资源及 PVC 数据的方法。部署通过下载安装包完成,配置 AWS 插件与 S3 兼容存储,并需提前创建存储桶。备份卷支持两种模式:默认备份全部卷,可通过注解 `backup.velero.io/backup-volumes-excludes` 排除特定卷;选择加入模式通过 `backup.velero.io/backup-volumes` 仅备份指定卷,且不能再加 `--default-volumes-to-fs-backup`。实测删除命名空间后,用 Velero 还原可完整恢复 Deployment、PVC 及数据。支持定时备份(Schedule CRD)和常用管理命令。私有仓库环境需创建 ConfigMap 自定义还原器镜像,否则 PVC 恢复会失败。卸载直接执行 `velero uninstall`。
- 2025-09-26
- 161
- 0
- 0
- 40.1℃
使用 RPM 快速部署 PolarDB-X 集群
本文以三节点(172.31.0.41/42/43)为例,介绍 PolarDB-X 引擎集群的安装与验证。先下载并 yum 安装对应版本 RPM,再完成前置配置:创建 polarx 用户、目录,生成含唯一 server_id、GTID、binlog、cluster_info 的 my.cnf;每节点分别用 mysqld --initialize-insecure 初始化并用 mysqld_safe 启动。随后用 MySQL 客户端连接 4886 端口,查询 ALISQL_CLUSTER_GLOBAL 等状态,创建库表写入数据,kill -9 模拟宕机验证主从切换。最后提醒重置 root 空密码,避免弱密码。
- 2025-09-04
- 210
- 0
- 0
- 45.0℃
快速部署 haproxy 3.2
HAProxy 运行一段时间后进程异常退出,经排查为老版本缺陷,社区反馈建议升级。原 2.2.16 版本接近维护终止,故源码编译升级至长期支持版 3.2.0。操作流程包括:卸载旧版及相关包,安装编译依赖,使用 make 配置并安装;新版不会覆盖旧配置,需将 /etc/haproxy/haproxy.cfg.rpmsave 恢复为 haproxy.cfg;随后创建 systemd 服务单元,启用并启动服务。验证显示服务 active (running),版本为 3.2.0,且属于长期支持分支,可获稳定运行与安全更新至约 2030 年。升级过程还提示了配置中存在的警告(backend 与 frontend 同名等),但不影响启动。读者可按此流程完成 HAProxy 升级并获得更可靠的服务。
- 2025-08-28
- 229
- 0
- 0
- 46.9℃
使用 K8S 或 Docker 快速部署 nacos-sync 认证模式
文章记录了为解决 nacos-sync 官方版无登录认致敏感信息泄露问题,通过引入 Spring Security 实现统一认证的完整实践。核心内容涵盖:基于官方 0.5.0 版本重新打包镜像(支持 amd64/arm64),通过 Dockerfile 替换 JAR、ConfigMap 注入数据库与安全凭证、Kubernetes Deployment/Service 部署落地;代码层面在 `nacossync-worker` 引入 `spring-boot-starter-security` 并扩展实现 Nacos 与 Eureka 双向通配符 `*` 全量同步能力。使用指南详细说明了集群配置(含 VIP/NodePort 及认证信息填写)与服务同步规则设置。拓展部分阐述 Eureka 仅管注册发现、负载均衡依赖客户端组件的原理。作者采用 Cursor 辅助开发,虽存在 30 秒同步延迟及每 5 分钟重启 Deployment 保活的粗糙方案,但已稳定满足生产预期。
- 2025-08-14
- 298
- 0
- 0
- 53.8℃
使用 K8S 或 Docker 快速部署 rabbitmq 集群
文章介绍RabbitMQ的部署方式,重点给出Kubernetes下的完整配置方案。部署涉及ConfigMap配置集群发现与插件、Secret保存默认管理员账号密码、Service以NodePort暴露管理界面(15672)和AMQP端口(5672),并说明生产环境应改用Ingress访问。通过RBAC赋予RabbitMQ发现集群节点所需权限,使用StatefulSet部署三节点实例,每个节点挂载10Gi持久卷,并配置存活与就绪探针。配置采用基于Pod主机名的节点命名及Erlang Cookie保证集群通信。文章还提及Docker部署方式,但未展开细节。读者可按此配置搭建高可用的RabbitMQ集群,并了解各资源的作用与生产注意事项。
- 2025-08-13
- 167
- 0
- 0
- 40.7℃
使用 K8S 或 Docker 快速部署 redis7 集群
文章介绍了在 Kubernetes 上部署 Redis 集群的完整方案。通过定义无头 Service 暴露节点,使用 ConfigMap 配置集群参数(开启集群模式、AOF 持久化、密码认证等),并利用 StatefulSet 部署 6 个节点(3 主 3 从),配置了资源限制、探活检查、Pod 反亲和性及持久化存储。最后通过 `redis-cli --cluster create` 命令完成集群初始化。方案采用镜像 `redis:7.2.6`,支持水平扩展和高可用,为 Kubernetes 环境下的 Redis 集群部署提供了操作参考。
- 2025-08-13
- 120
- 0
- 0
- 36.0℃