Flume是分布式的、可靠的、高可用的服务,用于有效地采集、聚合和移动大量日志数据。
版本
- Flume OG(Original Generation) —— 初始版本。该版本有代码臃肿、核心组件设计不合理、核心配置不标准等问题。
- Flume NG(Next Generation) —— 2011年启动的重构版本(重构核心组件、核心配置、代码架构)。
架构
Flume运行的核心是Agent。Flume以Agent为最小的独立运行单位,它是一个完整的数据采集工具。
Flume Agent 包含三个核心组件,分别是:
https://github.com/elastic/logstash
Logstash is an open source data collection engine with real-time pipelining capabilities。 Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
Logstash作为Elastic Stack的重要组成部分,在Elasticsearch数据采集和处理过程中扮演着重要的角色。
todo
X11(X Window System Version 11)是一种网络透明的窗口系统,主要用于Unix-like操作系统。它采用客户端-服务器模型,允许应用程序(客户端)在远程服务器上运行,而图形界面可以显式在本地计算机上。
X11转发: 通过SSH隧道安全地传输X11图形界面数据的技术,使得远程图形程序可以在本地显式。 通过X11转发,我们可以在没有图形界面的远程Linux操作系统中运行带图形化界面的程序,方便日常的开发维护工作。
X11转发架构: X Server 是 X11 的服务端,负责将客户端的图形化界面渲染出来; X Client 是 X11 的客户端,通过 X11 协议将要渲染的图形化界面发送给 X Server,由 X Server 负责渲染出来; X Client 和 X Server 通过 SSH 通道加密传输。
vcpkg是Microsoft开发并开源的C++包管理工具,旨在简化C++库的获取、构建和集成过程。 vcpkg可以在Windows、Macos、Linux平台上运行,可以在编译跨平台的C/C++项目时方便的对第三方依赖库进行管理。
工作流程:
- 下载依赖
- 定位cmake项目到vcpkg
- 通过
find_package使用下载好的依赖
工作原理:
- vcpkg本质是命令行工具,结合Git仓库管理其“端口文件”。
- 每个“端口文件”是一个文件夹,里面描述了库如何下载、配置、编译脚本(portfile.cmake)和元数据(CONTROL文件)
- 用户通过命令(
vcpkg install zlib)触发vcpkg下载源码、应用补丁、配置和编译库,最终生成可用的静态库或动态库。
MinGW(Minimalist GNU for Windows)提供了一套在Windows平台上的GNU工具集,用于C/C++语言的开发、编译、调试。
MSVC(Microsoft Visual C++)是 Windows Visual Studio 中的一部分,负责 C++/C/汇编语言 的编译和代码库的提供。
MSVC提供的工具和库可用于创建通用Windows平台(UWP)应用、主机Windows桌面和服务器应用、在Windows/Linux/Android/IOS上运行的跨平台库和应用、使用 .Net Framework 的托管应用和库。