欢迎来到 星空Online - 织梦者,我的原创世界。

快速搭建高可用的 HAProxy 集群

春节前为大家推送了一篇安装 Alpine Linux 的小短文,得到了不少小伙伴的认可,在此感谢朋友们的支持。

我在文中有提到,我安装 Alpine 的目的是希望运行一个低开销、高性能的 haproxy + keepalived 三节点集群,而高可用恰巧也是很多服务所需要的,所以就有小伙伴私下问我具体的操作步骤。我回顾了一下安装与配置过程,其实并不复杂,那么正好趁放假有时间,我就整理整理给大家再分享一些我的经验吧。

在正式开始之前,我先简单介绍下 haproxykeepalived

阅读 评论

安装 Alpine Linux,从入门到入门

如果平时用 Docker 的话,那么大家应该不会对 alpine 感到陌生。在许多镜像中,都能看到 alpine 的身影,就比如 nginx:1.15-alpinenode:22.10.0-alpine3.20 之类的。这些常见的应用均不约而同地选择使用 alpine 作为基础镜像,是因为 alpine 的体积比许多其他的 Linux 发行版小很多,所以在很多场景下,使用 alpine 进行构建,相比 ubuntu 等可以减少镜像体积,在部署时可以有效节省带宽,减少镜像拉取时间以提升部署速度。

但是很多人可能和我一样,尽管可能会经常直接或间接的通过 docker 使用过 alpine,但好像从来没有直接的安装过 alpine 的系统。那么今天我们就来一起学习一下 alpine 的安装过程。

相比 CentOSUbuntu 的大而全,Alpine Linux 只包含基本的系统工具和 C 库,虽然不适合作为满血版的服务器托管大型应用,但对于一些特定场景,也许更小的资源占用和更快的运行速度,才是你想要的。就比如我希望搭建一个三节点的 haproxy + keepalived 高可用集群,那么使用 alpine 可以节省不少成本。

阅读 评论

让 TypeScript 开源项目支持单元测试覆盖率

很多小伙伴在访问 Github 的开源项目时,总能看到一些与项目有关的徽章,比如代码测试覆盖率、代码质量、下载次数等等。前段时间有朋友问我该如何设置,我想干脆就写一篇小短文来分享一下吧,万一恰好还有朋友需要呢。

徽章其实并不是什么稀罕的东西。在打开 Github 项目时,默认会将 README.md 文件的内容渲染成网页,而徽章就是通过 Markdown 语法来实现的。说白了,徽章仅仅只是个图片而已。你可以使用 Markdown 语法来插入任何你想要的图片,并不仅仅局限于徽章。但是如果是想要插入与自己项目有关的、动态的数据 —— 如代码测试覆盖率、代码质量、下载次数等等,那又该怎么办呢?总不可能每次上传代码时,再去修改图片或图片地址吧。

本文将以单元测试覆盖率作为示例,来和大家一起探讨如何为 TypeScript 项目实施单元测试,并添加单元测试覆盖率徽章。

阅读 评论