互联网架构师必会的中间件列表

WEB/代理服务器

Ngnix

最流行的web服务器和代理服务器

Caddy

一个Go语言开发的HTTP/2 web 服务器,默认启用 HTTPS,Caddy 是一种配置管理器,可以运行应用程序,如 HTTP 服务器、内部证书颁发机构、TLS 证书管理器、进程管理器等。

Traffic

Server

一个高性能的、模块化的HTTP代理和缓存服务器,可通过在网络边缘缓存频繁访问的信息来提高网络效率和性能。

Varnish

一款专业的文件cache服务器,主要基于内存进行缓存,与传统的Squid相比,Varnish具有性能更高、速度更快、管理更方便等诸多优点。

Squid

是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种LB解决方案。

Nuster

一款开源、高性能的负载均衡器和代理服务器

Ehcache

一个纯Java的进程内缓存工具

Caffeine

缓存服务器,主要用于本地缓存数据的常规场景

DB

Oracle

Oracle是甲骨文公司的一款关系数据库,广泛应用于企业级解决方案、性能优越、安全性高、支持多种数据类型。

Mysql

MySQL 是全球广受欢迎的开源数据库,可用于云原生应用程序、企业级解决方案和嵌入式产品。

Postgresql

PostgreSQL 是一个高度可扩展的开源对象关系数据库系统。它具有许多优点,如可靠性、可扩展性、安全性和可定制性,大部分国产数据库都是基于Pg开发而来的。

MongoDB

MongoDB 是一个基于文档的 NoSQL 数据库, 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

Mariadb

MariaDB的前身是MySQL,MySQL 创始人 Michael “Monty” Widenius开发的产品,MariaDB继承了mysql的大部分功能,并加入了一些新特性。

Level DB

由Google开发的键值数据库,适用于存储大量数据并提供快速的读取和写入操作。它使用了日志结构合并树(LSM Tree)作为底层存储结构,非常适合进行写密集型操作,且天然支持持久化,适合大量数据存储的场景。

Amazon

DynamoDB

Amazon DynamoDB 是一项适用于任何规模的现代应用程序的数据库服务,提供个位数毫秒级的性能、全局表、无服务器扩展、AWS 集成等功能。

Cassandra

Apache Cassandra是一种高度可扩展的高性能、分布式NoSQL数据库系统,用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障。

Couch DB

开源的面向文档的数据库,可以通过 RESTful API 访问,拥有一个容错存储引擎,将数据安全放在首位。

Google

Big Table

大型分布式数据库,可扩展到数千服务器的PB级别的数据。

Hbase

一个分布式的、面向列的开源数据库,Hbase依托于Hadoop的HDFS作为最基本存储基础单元。

Oracle Berkeley DB

Oracle Berkeley DB 是一系列库,为应用提供可扩展的高性能数据管理服务,支持 C、Java、C++ 等编程语言和多种操作系统。

Perst

一款开源、双重授权、面向对象的内存实时数据库系统, 是一个简单, 快速, 便捷, 面向对象, 适合java 与.NET 的数据库。

Redis

一款当前最主流的键值缓存数据库

Scalaris

用Erlang语言构建的分布式键值存储系统

Tokyo

Cabinet

是一款轻量级且高效的Key-Value 数据库

TiDB

TiDB 是一款开源分布式关系型数据库,支持在线事务处理与在线分析处理的融合型分布式数据库产品,具有水平扩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 协议和 MySQL 生态等重要特性。

OceanBase

由蚂蚁集团完全自主研发的国产原生分布式数据库

CockroachDB

一种全球领先的分布式SQL数据库,CockroachDB以其高可用性、强一致性和灵活性等特点,能够满足不同行业的数据管理需求。

Clickhouse

是一款高性能的的列式数据库管理系统,适合处理大规模的 OLAP 分析查询。

Neo4j

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎。

Beringei

Beringei 是 Facebook 为了解决内部监控数据存储和查询需求而开发的内存时序列数据库,它使用一种无损耗数据流压缩算法,可以将数据集压缩至少 90%,支持多种数据类型。

PolarDB

阿里巴巴自研的新一代云原生数据库,共有三个引擎,分别为 PolarDB MySQL 版、PolarDB PostgreSQL 版(集中式)、PolarDB 分布式版。

Milvus

一种高性能、高扩展性的向量数据库,主要用于AI领域。

TensorDB

2022年1月24日 · TensorDB是一种向量数据库软件,可以高效组织和检索超大规模的向量型数据。

Influxdb

由InfluxData开发的开源时序型数据库,数据按照时间顺序存储。

Doris

一个现代化的 MPP 分析型数据库,Doris 当前支持多种主流的 BI 产品,包括不限于 Smartbi、DataEase、FineBI、Tableau、Power BI、Apache Superset 等,只要支持 MySQL 协议的 BI 工具,Apache Doris 就可以作为数据源提供查询支持。

BD同步工具

Flink CDC

可以直接从 MySQL、PostgreSQL 等数据库直接读取全量数据和增量变更数据的 source 组件

Canal

一个变更日志数据捕获工具,可以实时地将 MySQL 变更传输到其他系统

TiDB DM

TiDB 提供的从 MySQL 到 TiDB 数据迁移工具

Maxwell

用于 MySQL 数据库实时数据捕获和同步的工具

DataX

阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能

Kettle

纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移

SeaTunnel

是一个简单易用的数据集成框架,支持海量数据的实时同步

数据库连接池

DBCP

Apache 旗下 Commons 项目下的一个子项目,提供连接池功能

HikariCP

一个高性能的 JDBC 连接池组件

Druid

阿里巴巴开发的为监控而生的数据库连接池

日志系统

Filebeat

一款可以从各种来源收集和转发日志和文件的工具,支持ES、Logstash

Logstash

一款开源的服务器端数据处理管道,能够从多个来源采集数据,转换数据

ES

一个分布式的RESTful搜索和分析引擎,可用来集中存储和处理各种数据

Kibana

Kibana是一个开源的分析与可视化平台,用于和ES一起使用

Grafana

一个分析和可视化工具,可以通过将采集的数据查询然后可视化的展示

Exporter

Prometheus的Agent,可以向Prometheus提供监控样本数据的程序

Loki

开源的水平可扩展,高度可用的多租户日志聚合系统

MQ

Pulsar

下一代云原生分布式消息流平台,集消息/存储/轻量化函数式计算为一体。

Kafka

一个分布式/支持分区的/多副本的,基于zookeeper协调的分布式消息系统。

RabbitMQ

一种分布式消息中间件,支持几乎所有的编程语言。

RocketMQ

阿里开源的消息中间件,支持多种消息类型、弹性伸缩、稳定可靠、安全可控。

ActiveMQ

Apache软件基金会所研发的开放源代码消息中间件,主要面向Java。

Beanstalkd

一种高性能、轻量级的消息中间件,支持优先级、延迟、持久化、预留和任务超时重发等功能。

云平台/虚拟化

KVM

开源的 Linux 原生的全虚拟化解决方案支持热迁移、内存超分、对称多处理等特性。

Xen

基于内核的开源虚拟化技术

Kata Container

由OpenStack基金会管理的容器项目

Hyper-V

微软的一款虚拟化产品

VMware

一款功能强大的虚拟软件

OpenStack

一个开源的云计算平台,它主要作为IaaS部署在公用云和私有云中。

云原生

Service

Mesh

Kuma、Istio、Linked、Supergloo、Vamp

Istio

目前最主流的开源服务网格平台,可以帮助您管理和连接微服务

KubeEdge

用于将容器化应用程序编排功能扩展到Edge的主机

Kubeflow

开源的K8s原生框架,可用于开发、管理和运行机器学习

Argo

一个基于 Kubernetes 的工作流引擎,可以实现复杂的 CI/CD 场景

Openkruise

一个聚焦于云原生应用的自动化的 Kubernetes 扩展套件

OpenEdge

百度云打造的智能边缘计算平台

Volcano

Rancher

基于Kubernetes做的一个批处理系统,希望上层的HPC、中间层大数据的应用以及最下面一层AI能够在统一Kubernetes 上面运行的更高效。

Kubesphere

全栈化容器平台,支持K8s集群的部署、维护、升级、扩展和多集群管理

Envoy

是专为大型现代 SOA架构设计的 L7 代理和通信总线,体积小,性能高

Gateway

Gateway API 提供了暴露 Kubernetes 应用的接口Service、Ingress 等

Mosn

一款使用 Go 语言开发的云原生网络代理平台,支持多协议、模块化、智能化、安全的代理能力,可以和 Istio 集成构建 Service Mesh,也可以作为独立的负载均衡。

Dapr

是一个可移植的、事件驱动的运行时,用提供分布式能力的运行时,支持多语言、多云、非云环境,具有高性能、高可用、高扩展的特点。

微服务

链路追踪

Dapper、CAT、SkyWalking、PinPoint、Zipkin

调度中间件

Quartz、Zues、xxl-job、Elastic-job

配置中心

Apollo、Etcd

注册中心

Zookeeper、Nacos、Spring Cloud Config、Eureka、CoreDNS

API网关

Zuul、GateWay、Kong、Tyk、Gloo、Krakend、Apisix、Wso2、3Scale

DB代理

MyCAT、Druid、Sharding-Jdbc

数据同步

Otter、Databus

RPC框架

Dubbo、GRPC、Thrift、Motan、Tars、Spring Cloud、SofaRPC、AVRO

通信框架

Netty、Mina

Devops

Ansible

是一款自动化运维工具,主要用于配置系统、软件部署、持续发布

Zabbix

一个成熟、易用的开源监控解决方案,适用于百万级指标的网络监控

Nagios

自动化运维工具,可以协助运维监控服务器运行状况,并拥有报警功能

Prometheus

一款基于时序数据库的开源监控告警系统,非常适合K8s集群的监控

Slatstack

saltstack是一个配置管理系统,能够维护预定义状态的远程节点。

Jenkins

开源的 CI/CD 软件,用于自动化各种任务,包括构建、测试和部署软件

大数据

Hadoop

用于处理大型数据集的开源项目,包括HDFS、YARN、MapReduce模块

Spark

是一个快速、通用的大数据处理引擎,支持 SQL、流式处理和图分析

Hive

基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载

Flink

一个框架和分布式处理引擎,用于在无边界和有边界数据流上

人工智能

机器学习算法库

NumPy Scikit-learn TensorFlow PyTorch SciPy

模型训练和数理统计算法

逻辑回归 线性回归 神经网络 决策树 XGBoost GBDT

存储协议

NFS

网络文件系统,主要功能是通过局域网让不同的主机之间可以共享文件或目录

SMB

windows中的文件共享服务,用于Web 连接和客户端与服务器之间的信息沟通

iSCSI

iSCSI是一种基于IP网络的存储技术,可以在IP网络上构建SAN

S3

Amazon S3是一种对象存储服务,非常适合存储和分发静态文件、备份数据以及作为数据湖的存储。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部