文章列表

重定向的九种方案及性能比较

, , , , , , , , , ,
说到重定向,大家必然不会陌生,最常见的场景之一便是各种文章、社交媒体上的短链接。最近计划对于之前的短链接服务进行升级改造。在改造前,对于常见 Web 语言,如 Java、PHP、Python、Node、Ruby、Go和服务工具 Nginx、Caddy、Traefik 做了简单的对比分析。希望这篇文章能够帮你在这个技术场景下,更立体的了解到各种语言/工具的基础性能差异。 阅读全文

实时查看容器日志

, , ,
介绍一款使用了几个月的开源小工具,[Dozzle]。它是一款轻量、简单的容器日志查看工具。本篇将简单介绍如何使用它,包括搭配 Traefik,以及如何快速从源码构建它。 阅读全文

使用 Nginx 构建前端日志统计服务(打点采集)服务

, , ,
工作中经常会遇到需要“数据支撑”决策的时候,那么可曾想过这些数据从何而来呢?如果业务涉及 Web 服务,那么这些数据的来源之一便是服务器上各种服务器的请求数据,如果我们将专门用于统计的数据进行服务器区分,有一些服务器专注于接收“统计类型”的请求,那么产生的这些日志便是“打点日志”。本文将介绍如何在容器中使用 Nginx 简单搭建一个支持前端使用的统计(打点采集)服务,避免引入过多的技术栈,徒增维护成本。 阅读全文

阿里云 IP 地理位置库(淘宝IP库)实践(后篇)

, , , ,
上篇文章提到如何[在容器环境中]使用阿里云离线IP地理位置库,前文中测试性能看起来满足日常离线小样本、低频率私密调用性能没有大的问题,但是针对大量数据的场景,再不搭建集群多实例的情况下,显然是无法满足需求的。本篇记录 C++ 版本 SDK 的踩坑过程,希望帮助后面的同学节约折腾时间。另外希望看到本文的产品 PD 同学可以尽快推动文档完善。 阅读全文

阿里云 IP 地理位置库(淘宝IP库)实践(前篇)

, , , ,
最近的几个项目对于 IP 查询需求愈发强烈,使用免费数据库和在线接口已经不能够满足我们的需求。于是我们使用了[阿里云(IP地理位置库)] ([淘宝IP地址库]首页推荐)的离线版本,在使用过程中发现了一些文档的不足,缺失了容器场景的使用案例。本篇记录 Python 版本 SDK 的踩坑过程,希望帮助后面的同学节约折腾时间。另外希望看到本文的产品 PD 同学可以尽快推动文档完善。 阅读全文

容器化 FRP 使用方案

, ,
最近在折腾过程中,使用到了 FRP 这款软件,碰巧作者在几天前更新的 v0.34.1 版本只发布了容器版本,并未像之前一样发布多种编译版本。距离上一次写 FRP [相关的内容],已经过去了两年。本文就基于官方容器版本,介绍该软件的简单使用方法吧。 阅读全文

如何通过容器搭建稳定可靠的私有网盘(NextCloud)

前一阵 SIGIR 2020 国际信息检索研究和发展大会有一个有意思的需求,需要支持几百位国内外学者能够快速上传自己的会议视频,并支持对视频进行快速的网络分发(在线播放)。考虑到网络访问质量和文件外链播放诉求,我们所熟知的成熟的国内网盘服务被排除在外,又因为国内访问海外网盘服务不畅快,所以海外网盘也被排除在外。我们之前常常使用的 SKYNAS (群晖)镜像因为在线版本对人数有限制,所以也不能解决这个需求。于是自建一个简单的网盘服务的需求也被提上了日程。 阅读全文

GitLab 12 跨版本 13 升级

, , ,
本以为 [《GitLab 简明维护指南(v2020.05)》] 足够解决接下来的所有问题,没想到在 v12 版本中, GitLab 官方因为一些变更引入了“升级额外操作”的步骤。也就是说,常规的修改低版本应用版本号到高版本版本号,由 Ruby 升级脚本执行升级操作的模式不完全生效了。而且在升级过程中,也会遇到一些额外的小问题,这里我们就来聊聊如何在有“升级额外操作”的背景下进行应用升级。 阅读全文

轻量安全的部署方案

, , , ,
智源大会结束,虽然还是很忙,但是总归有了一些时间,可以开始对之前的文章计划进行补完操作,本篇是第一篇补全,聊聊如何在容器环境下,花比较少的资源,来搞定高质量发布。这个方案适用于小型团队、个人HomeLab,本文有别于我们当前团队使用的 GitLab Runner 相对比较重的方案,如果你面临的是更大规模的团队协作、项目管理需求和追求更全面的 CI/CD 阶段解耦,可以浏览我之前写的关于 [GitLab] 的内容。 阅读全文

使用 Harbor 搭建私有 Docker 仓库

最近在尝试跨云服务商做备份,除了应用之外的基础设施也需要再启动一套仓库。正巧赶上 Harbor 发布 2.0,于是就有了这篇文章。 阅读全文