Consul 入门教程 - 基础篇(2024 年)
LoadBalancer 入门教程 - 基础篇
大纲
前言
Ribbon 停更
Netflix Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon 客户端组件提供一系列完善的配置项,如连接超时、失败重试等。简单的说,就是在配置文件中列出 Load Balancer(简称 LB)后面所有的机器,Ribbon 会自动地帮助用户基于某种规则(如简单轮询,随机连接等)去选择连接这些机器。开发者使用 Ribbon 很容易就可以实现自定义的负载均衡算法。截止 2024 年 1 月,Netflix Ribbon 一直处理维护模式,也就是处于停更状态,官方说明如下图所示:
Qt 各版本官方下载地址
CMake 入门教程之三
大纲
前言
本文将介绍 CMake 的常用语法,包括查找源文件、指定输出目录、设置编译参数、链接第三方库等。
查找文件
查找源文件
1 | # 查找 src 目录下的所有源文件,并保存到 SOURCE_FILES 变量 |
CMake 入门教程之一
大纲
前言
本文将介绍 CMake 是什么,并使用 CMake 编译第一个 C/C++ 项目。
主流的构建工具
| 构建工具 | 主要用途 | 适用平台 | 特点 | 常见使用场景 |
|---|---|---|---|---|
| Make | 经典构建系统 | Unix/Linux/macOS,Windows(MinGW / Cygwin) | GNU 工具链标配,依赖 Makefile | Linux 系统编译、跨平台项目 |
| CMake | 跨平台构建配置生成器 | 跨平台 | 不直接编译,生成 Makefile / Ninja / VS 工程 | 跨平台 C/C++ 项目管理 |
| Ninja | 高性能并行构建 | 跨平台 | 构建速度快,文件依赖解析简单 | CMake、Chromium、LLVM 等大型项目 |
| NMake | 命令行 Make 工具(微软版) | Windows | 随 MSVC 提供,适合命令行构建简单项目 | MSVC 环境下的轻量构建 |
| MSBuild | 编译和管理 Visual Studio 项目(.sln/.vcxproj) | Windows | 与 VS 深度集成,支持 MSVC 编译器 | Visual Studio 传统项目构建 |
| Meson | 现代化构建系统 | 跨平台 | 默认用 Ninja 构建,语法简单 | GNOME、GStreamer 等项目 |
| Bazel | Google 出品构建系统 | 跨平台 | 支持大型代码库、分布式构建 | TensorFlow、Google 内部项目 |
| SCons | 基于 Python 实现的构建系统 | 跨平台 | 配置用 Python 脚本编写,依赖少 | 嵌入式或定制化构建流程 |
CMake 基本概念
什么是 CMake
CMake 是用于构建、测试和软件打包的开源跨平台工具。
为什么要学习 CMake
- 企业项目:不管是构建 Linux 程序还是自动化构建 VS 程序,业内大量公司都在使用 CMake。
- 开源项目:QT、OpenCV、GoogleTest、KDE、OGRE、Android NDK、鸿蒙 ETS NDK 等知名开源项目都使用了 CMake。
- 职业发展:CMake 适用于跨平台自动化构建和部署、持续集成、测试驱动开发、自动化单元测试等场景。
