Skip to content

Latest commit

 

History

History
527 lines (491 loc) · 59.3 KB

README.md

File metadata and controls

527 lines (491 loc) · 59.3 KB

Github收藏夹

这是个收藏夹,收集了Github上看到的各种不同的优秀工具,框架,知识合集


RPC

  • Dubbo - 阿里出品的使用范围很广的一款高性能,基于 Java 的开源 RPC 框架
  • Motan - 微博出品的一款用于快速开发高性能分布式服务的跨语言 RPC 框架
  • bRPC - 百度出品的工业级 RPC 框架
  • gRPC - gRPC 是一个先进的,开源的,高性能的 RPC 框架,可以在任何地方运行。 gRPC 使客户端和服务器应用程序可以透明地进行通信,并简化了连接系统的构建
  • Tars - 腾讯出品的高性能 RPC 框架
  • sofa-rpc - 蚂蚁金服出品的高可扩展性、高性能、生产级的 Java RPC 框架

微服务

  • fabric8 - 基于 Docker,Kubernetes and Jenkins 的微服务平台
  • Axon - 一款基于领域驱动设计的 CQRS 框架,用于构建事件驱动的微服务系统

分布式协议

  • sofa-jraft - 一个生产级别的 RAFT 的 Java 实现
  • Ratis - Raft 共识协议的 Java 实现

持续集成&交付

  • Skaffold - Google 出品的一款命令行工具,用于促进 Kubernetes 应用程序的持续开发
  • Travis - 针对 Github 上项目的免费的持续集成平台
  • Argo - 用于 Kubernetes 的容器原生的工作流引擎
  • Brigade - 基于事件的 Kubernetes 脚本。可以使用 JavaScript 编写简单或复杂的工作流程脚本。
  • Buildkite - Buildkite Agent 是一个用 Golang 编写的开源工具包,用于在任何设备或网络上安全地运行构建作业
  • Concourse - Concourse 是一个用 Go 编写的自动化系统. 它最常用于 CI/CD,可以扩展到任何类型的从简单到复杂自动化 pipline
  • ContainerOps - Devops 编排工具
  • Drone - Drone是一个用Go写的基于Docker的持续交付平台
  • Gitkube - Gitkube是一个使用git push在Kubernetes上构建和部署Docker镜像的工具
  • GitLab - Gitlab,第一款实现了完整的Devops生命周期的应用
  • GoCD - 持续交付的server,GoCD可帮助您自动化和简化构建测试 - 发布周期,从而无忧无虑地持续交付产品
  • Habitus - Habitus为Docker构建添加了工作流,这意味着您可以基于工作流创建一系列构建,并生成最终的Docker镜像
  • Jenkins - 最流行的CI/CD工具,提供多达上千种插件支持,几乎支持任何自动化构建
  • JenkinsX - Jenkins X使用Jenkins,Knative Build,Prow,Skaffold和Helm为Kubernetes提供自动CI + CD,并提供Pull Request的预览环境
  • Spinnaker - Spinnaker是一个开源的,Multi-Cloud的持续交付平台,以快速且高可用的方式发布软件
  • Flux - 当在Continuous Delivery管道末端用作部署工具时,Flux最有用. Flux将确保您的新容器映像和配置更改传播到集群
  • Wercker - wercker是为wercker.com提供所有构建和部署作业的命令行工具,它在Docker的帮助下在本地计算机上运行
  • Zuul CI - Zuul推动持续集成,交付和系统部署,重点关注project gating和相互关联的项目,此项目非Netflix的zuul
  • CircleCI - 一款支持在 Github 上进行构建的商业 CI 工具
  • TeamCity - TeamCity 是 JetBrains 出品的构建管理和持续集成服务器

数据库

  • ShardingSphere - 开源的分布式数据库中间件解决方案。它在 Java 的 JDBC 层以对业务应用零侵入的方式额外提供数据分片、读写分离、柔性事务、数据加密和分布式治理等能力。并在其基础上提供封装了常见数据库协议的服务端版本,用于完成对异构语言的支持。
  • HikariCP - 简单可靠的高性能 JDBC 连接池,号称 "zero-overhead" 生产就绪,lib 仅仅 130Kb 左右
  • h2database - 快速的,开源的,支持 JDBC API 的内存数据库
  • mycat - 基于阿里cobar改良的分布式数据库中间件,官宣为一个模拟MySQL Server的超级数据库
  • cobar - 阿里出品的支持 Sharding 的 Proxy(很久没有维护了)
  • ignite - Apache旗下的一款以内存为中心,多模型的分布式数据库.号称可以以内存级别的速度处理 Pb 级别的数据.
  • vitess - Vitess是一个用于MySQL水平扩展的数据库集群系统
  • arangodb - ArangoDB是一个原生的多模型数据库,具有文档,图形和键值的灵活数据模型。使用方便的类SQL查询语言或JavaScript扩展构建高性能应用程序
  • bigchaindb - BigchainDB 是区块链数据库
  • CarbonData - Apache CarbonData 是一种索引的柱状数据存储解决方案,用于在大数据平台上进行快速分析,例如 Apache Hadoop,Apache Spark 等
  • Cassandra - Apache Cassandra 是一套开源分布式 NoSQL 数据库系统。它最初由 Facebook 开发,用于储存收件箱等简单格式数据,集 Google BigTable 的数据模型与 Amazon Dynamo 的完全分布式的架构于一身。Facebook 于 2008 将 Cassandra 开源,此后,由于 Cassandra 良好的可扩放性,被 Digg、Twitter 等知名 Web 2.0 网站所采纳,成为了一种流行的分布式结构化数据存储方案
  • Couchbase - 为Web时代而生的开源数据库
  • CrateDB - CrateDB 是一个分布式 SQL 数据库,可以轻松实时存储和分析大量机器数据
  • Druid - Apache Druid(孵化中)是一个用于事件驱动数据的高性能列簇数据库
  • FoundationDB - FoundationDB 是一个分布式数据库,旨在处理跨商用服务器群集的大量结构化数据. 它将数据组织为有序的键值存储,并为所有操作使用 ACID 事务。它特别适用于读/写工作负载,但对写入密集型工作负载也具有出色的性能。用户使用 API​​ 语言绑定与数据库交互
  • Hadoop - Apache Hadoop 使用简单的编程模型跨计算机集群分布式处理大型数据集
  • Hazelcast - 企业级的开源框架,是一款功能丰富且对开发人员友好的内存数据网格解决方案
  • Infinispan - 一个开源数据网格平台和高度可扩展的NoSQL云数据存储
  • MariaDB - MariaDB Server 是社区开发的 MySQL Server 的分支,由原始 MySQL 团队的核心成员发起
  • Fescar - 阿里出品的分布式事务解决方案,具有高性能和易于使用的微服务架构
  • MongoDB - 一个文档数据库,由C++撰写而成
  • MySQL - 世界上最流行的开源数据库
  • Neo4j - 高性能的图形数据库,具有成熟和强大的数据库所需的所有功能,如友好的查询语言和ACID事务
  • noms - 一款灵感来自于Git的去中心化的数据库
  • OrientDB - OrientDB 是最通用的 DBMS,在一个多模型产品中支持图形,文档,反应,全文,地理空间和键值模型。 OrientDB 可以运行分布式(Multi-Master),支持 SQL,ACID 事务,全文索引和反应查询
  • Percona - Percona Server 是 MySQL 8.0 的一个分支,带来更高的性能, 可靠性和更多功能
  • Pilosa - 分布式位图索引,可以显著加速跨多个海量数据集的查询
  • PostgreSQL - PostgreSQL 是一个功能强大的开源对象关系数据库系统,经过30多年的积极开发,在可靠性,功能稳健性和性能方面赢得了良好的声誉
  • Presto - Presto 是一个用于大数据的分布式 SQL 查询引擎
  • RethinkDB - RethinkDB是第一个为实时应用程序构建的开源可扩容数据库,它开拓了一种新型的数据访问模型,不同于拉取改变的数据,开发人员可以控制数据库不断地将更新的查询结果实时推送到应用程序
  • Scylla - 使用seastar框架的NoSQL数据存储,与Apache Cassandra兼容
  • stolon - stolon是保证PostgreSQL高可用的云原生管理器
  • TiDB - 国产的分布式HTAP数据库,兼容 MySQL 协议
  • TiKV - 分布式事务键值数据库,最初创建用于补充TiDB
  • YugaByte DB - YugaByte DB是一款开源的高性能SQL数据库,用于构建互联网规模的全球分布式应用程序
  • hmily - 高性能异步分布式事务TCC框架
  • flyway - 使数据库迁移变得简单
  • nebula - Nebula Graph 是一款开源的图数据库,擅长处理千亿个顶点和万亿条边的超大规模数据集
  • snowflake - Snowflake 是一家云存储技术开发公司,旨在搭建一个基于云服务的新型数据库和数据处理架构,以此满足用户和数据处理层面的需求
  • Weaviate - Weaviate 是一个矢量搜索引擎和矢量数据库
  • SchemaHero - SchemaHero 是一个 Kubernetes Operator,用于各种数据库的声明式管理。

缓存

  • Redis - 可以当成数据库,缓存,消息队列使用的内存数据结构存储工具
  • KeyDB - KeyDB是 Redis 的一个分支,专注于多线程,内存效率和高吞吐量
  • Ehcache - 号称使用最为广泛的 Java 缓存

流&消息

  • Kafka - 隶属于Apache的分布式流平台
  • RocketMQ - 隶属于Apache的分布式消息跟流平台,低延迟,高性能,高可靠,万亿级别容量,动态扩展
  • ActiveMQ - 隶属于Apache的高性能消息队列
  • NATS Server - NATS Server是一个简单,高性能的开源消息系统,适用于云原生应用程序,物联网消息传递和微服务架构。
  • Heron - Apache Heron(孵化中)是一款来自 Twitter 的实时,分布式,具有容错性的流处理引擎
  • NiFi - Apache NiFi是一个易于使用,功能强大且可靠的系统,用于处理和分发数据
  • Spark - Apache Spark是一种快速通用的大数据集群计算系统. 提供Scala,Java,Python和R的高级API,以及支持数据分析的通用计算图的优化引擎
  • Storm - Apache Storm 是一个分布式实时计算系统. 类似于 Hadoop 提供一组用于批处理的通用基元,Storm 以此处理实时计算
  • Beam - Apache Beam是一个统一的模型,用于定义批处理和流数据并行处理管道,以及一组特定于语言的SDK,用于构建管道和Runners,用于在分布式处理后端上执行它们,包括Apache Apex,Apache Flink,Apache Spark和Google Cloud Dataflow。
  • CloudEvents - CloudEvents是一项新的开放规范,用于对事件数据提供一致的描述标准. 该开放规范由 CNCF下设的 无服务器工作组(Serverless Working Group)提出,且CNCF已与多家云服务和云提供商建立了合作伙伴关系
  • Flink - Apache Flink是一个开源流处理框架,具有强大的流和批处理功能
  • Open Messaging - OpenMessaging,目的在于建立行业指南并且为消息传递,流媒体规范,为财务,电子商务,物联网和大数据领域提供通用框架. 设计原则是分布式异构环境中面向云,简单,灵活和独立于语言的原则. 符合这些规范将有可能在所有主要平台和操作系统上开发异构消息传递应用程序
  • Pachyderm - 数据版本控制,数据管道和数据沿袭工具
  • Pulsar - Pulsar是一个分布式pub-sub消息传递平台,具有非常灵活的消息传递模型和直观的客户端API
  • RabbitMQ - RabbitMQ是部署最广泛的开源message broker
  • StreamSets - StreamSets Data Collector是一个企业级,开源,持续的大数据摄取基础架构
  • Strimzi - Strimzi 可以基于各种部署配置运行在 Kubernetes 或 OpenShift 上的 Kafka 集群
  • Debezium - Debezium为捕获改变数据,提供了一个低延迟的流式平台

应用定义&镜像构建

  • Helm - 一个Kubernetes包管理器,CNCF项目
  • Brooklyn - Apache 旗下开源框架,用于建模,部署和管理使用声明式YAML蓝图定义的分布式应用程序
  • Buildpacks - Buildpacks是可插拔的模块化工具,可将源代码转换为OCI映像
  • Docker Compose - Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用Compose文件来配置应用程序的服务。然后,使用单个命令,您可以从配置中创建并启动所有服务
  • Draft - 一款用于开发人员在Kubernetes上创建云原生应用程序的工具
  • Habitat - 可创建独立于平台的构建工件,并提供内置的部署和管理功能
  • Kaniko - kaniko可以在container或者k8s集群中通过Dockerfile构建镜像
  • KubeVirt - KubeVirt是Kubernetes的虚拟机管理插件。目的是为Kubernetes提供虚拟化解决方案的共同基础
  • virtlet - Virtlet是一个Kubernetes运行时服务器,允许您基于QCOW2映像运行VM工作负载
  • Open Service Broker API - Open Service Broker API项目允许独立软件供应商,SaaS提供商和开发人员轻松地为在Cloud Foundry和Kubernetes等云原生平台上运行的工作负载提供支持服务
  • OpenAPI - OpenAPI规范是OpenAPI Initiative中的社区驱动的开放规范,一个 Linux 基金会协作项目
  • Operator Framework - 用于构建 Kubernetes 应用程序的 SDK。提供高级 API,有用的抽象和项目脚手架
  • Packer - Packer是一个从单一的模板文件来创建多平台一致性镜像的轻量级开源工具
  • ServiceComb - ServiceComb Java Chassis 是一款 SDK,用于快速开发Java中的微服务,提供服务注册,服务发现,动态路由和服务管理功能
  • Ship - Ship使Kubernetes集群运营商能够跟踪和自动化生产等级的维护,第三方应用程序部署(适用于开源和商业支持的应用程序)
  • Skaffold - Skaffold是一个命令行工具,可以促进Kubernetes应用程序的持续开发
  • Squash - Squash 可以在Kubernetes中运行时,从终端或IDE调试微服务应用程序
  • Telepresence - 针对远程Kubernetes或OpenShift集群的本地开发
  • Tilt - 本地Kubernetes开发无压力

搜索引擎

调度&编排

  • kubernetes - Kubernetes 是一个开源系统,用于管理多个主机上的容器化应用程序;提供应用程序部署,维护和扩展的基本机制
  • elastic-job - Elastic-Job 是一个分布式调度解决方案,由两个相互独立的子项目 Elastic-Job-Lite 和 Elastic-Job-Cloud 组成.
  • flink - 隶属于Apache的流处理框架,拥有强大的流处理以及批量处理的能力.
  • quartz - 功能丰富的,几乎可以与任何java程序集成的调度框架
  • xxl-job - 分布式任务调度平台XXL-JOB
  • Mesos - Apache Mesos是一个集群管理器,可跨分布式应用程序或框架提供有效的资源隔离和共享。它可以在动态共享节点池上运行Hadoop,Jenkins,Spark,Aurora和其他框架
  • Crossplane - Crossplane是一个开源多云平台控制平面。它在现有托管服务的基础上引入了工作负载和资源抽象,从而实现了跨云提供商的高度工作负载可移植性
  • dolphinscheduler - 一款分布式且易于扩展的可视工作流计划程序系统,已经成为 Apache 顶级项目
  • OpenNebula - OpenNebula 是一个开源平台,提供简单但功能丰富且灵活的解决方案,用于构建和管理用于虚拟化服务、容器化应用程序和无服务器计算的企业云
  • k3s - 轻量级 Kubernetes

服务协调&发现

  • coredns - CoreDNS(Go 语言编写)是一个链接插件的DNS服务器,每个插件都执行DNS功能。
  • zookeeper apache旗下的分布式服务协调框架
  • etcd 一个可依赖的分布式key-value存储系统,用于分布式环境下保存关键数据
  • Consul - Consul是一种服务发现和配置工具。 Consul 具有分布式,高可用性和极高的可扩展性
  • Nacos - 阿里出品的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台
  • archguard - ArchGuard 是一个架构治理工具,用于管理和分析组织级别的软件架构。

服务代理

  • envoy - Envoy是一个开源服务代理,专为云应用而设计
  • HAProxy - 可靠,高性能的TCP / HTTP负载均衡器
  • nginx - nginx [engine x]是一个HTTP和反向代理服务器,一个邮件代理服务器和一个通用的TCP / UDP代理服务器,最初由Igor Sysoev编写。
  • OpenResty - OpenResty是一个成熟的Web应用程序服务器,它捆绑了标准的nginx核心,许多第三方nginx模块以及大多数外部依赖项。
  • traefik - Traefik(发音为traffic)是一种先进的HTTP反向代理和负载均衡器,可以轻松部署微服务

API网关

  • 3scale - APIcast是一个建立在NGINX之上的API网关. 它是Red Hat 3scale API管理平台的一部分

ServiceMesh

  • linkerd - Linkerd旨在透明地向所有服务间通信添加服务发现,负载平衡,故障处理,检测和路由,使应用程序变得安全可靠
  • Consul - Consul 是一种分布式,高可用性和数据中心感知解决方案,用于跨动态分布式基础架构连接和配置应用程序
  • Istio - Istio是一个开放平台,用于提供统一的方式来集成微服务,管理跨微服务的流量,实施策略和聚合遥测数据
  • Zuul - Zuul是一种网关服务,可提供动态路由,监控,弹性,安全性等。
  • SuperGloo - SuperGloo,一个大规模管理和编排服务网格的开源项目
  • Vamp - Vamp 的核心功能是平台无关的微服务DSL,简单的 A-B 测试/ canary releasing 所有内容以及深度和可扩展的指标引擎,可监控所有内容并直接反馈到您的服务中。

云原生存储

  • Rook - Rook是Kubernetes的开源云本地存储协调器,为各种存储解决方案提供平台,框架和支持,以便与云原生环境本地集成
  • Alluxio - Alluxio(以前称为Tachyon)是一个虚拟的分布式存储系统。它弥合了计算框架和存储系统之间的鸿沟,使计算应用程序可以通过公共接口连接到众多存储系统
  • Ceph - Ceph是一个分布式对象,块和文件存储平台
  • ChubaoFS - ChubaoFS(储宝文件系统)是为大规模容器平台设计的分布式文件系统
  • CSI - Container Storage Interface,容器存储接口规范
  • Gluster - Gluster是一种 software defined 的分布式存储,可以扩展到几个PB。它提供了用于对象,块和文件存储的接口
  • Longhorn - Longhorn 是一个 Kubernetes 的分布式块存储系统
  • MinIO - MinIO是与Amazon S3 API兼容的高性能对象存储服务器
  • MooseFS - MooseFS 是一个 PB 级别的开源分布式文件系统。它易于部署和维护,容错,高性能,易于扩展且兼容 POSIX
  • OpenEBS - 基于与原生架构构建的领先的开源容器附加存储,可以简化运行在 k8s 上的 stateful application
  • OpenIO - OpenIO SDS是面向大数据和AI的高性能对象存储
  • OpenSDS - Linux基金下的一个协作项目,得到了存储用户和供应商的支持,包括Dell EMC,英特尔,华为,富士通,西部数据,沃达丰,NTT和俄勒冈州立大学
  • Swift - 分布式对象存储系统,旨在从一台机器扩展到数千台服务器
  • Manta - Triton的对象存储和融合分析解决方案,基于HTTP的对象存储
  • Velero - Velero(以前称为Heptio Ark),可以备份和迁移Kubernetes应用程序及其持久卷
  • Zenko - enko 为本地存储(使用Docker卷或Scality RING)或在公共云存储服务(如Amazon S3,Microsoft Azure Blob存储或Google Cloud Storage)中存储的数据提供统一的名称空间,访问API和搜索功能

容器

  • containerd - 一个开放且可靠的容器运行时
  • podman - 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用
  • colima - macOS(和 Linux)平台上,只需最少设置就可使用的容器运行时

云原生网络

  • cni - Container Network Interface - 用于Linux容器的网络体系
  • Cilium - Cilium用于在应用程序容器或进程等应用程序工作负载之间提供并透明地保护网络连接和负载平衡

自动化&配置

  • Airship - Airship 是一组组件,它们通过一系列描述性的 yaml 文档,来配置和部署和维护Kubernetes环境。
  • ansible - IT自动化的平台,使系统跟程序更加容易部署
  • disconf - 分布式配置管理平台
  • mgmt - 号称下一代的配置管理平台
  • QConf - 奇虎的分布式配置管理平台
  • apollo - 携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景
  • BOSH - Bosh是一款用于发布,部署,生命周期管理以及监控的开源工具
  • Cadence Workflow - Cadence是一种分布式,可扩展,持久且高度可用的编排引擎,可以以可伸缩和弹性的方式执行异步长时间运行的业务逻辑。
  • CFEngine - CFEngine 3是一种流行的开源配置管理系统。其主要功能是提供大规模计算机系统的自动配置和维护。
  • Chef Infra - 系统集成框架,旨在为整个基础架构带来配置管理的优势。
  • Digital Rebar - Digital Rebar Platform是一个简单而强大的Golang可执行文件,它提供了一个完整的API驱动的DHCP / PXE / TFTP配置系统。
  • Foreman - Foreman是一个免费的开源项目,使您能够轻松自动执行重复性任务,快速部署应用程序,并主动管理您的服务器生命周期,内部部署或云端
  • Juju - 简单,安全和稳定的devops工具。 Juju降低了复杂性,提高了生产率。专为管理当今运行在任何地方的复杂应用程序架构而设计
  • KubeEdge - KubeEdge是一个开源系统,将本机容器化的应用程序编排和设备管理扩展到Edge上的主机
  • Kubicorn - kubicorn是一个免费的开源项目,它解决了Kubernetes基础设施问题,并为用户提供了丰富的golang库以使用基础设施
  • LinuxKit - 用于为容器构建安全,便携式和小巧的操作系统的工具包
  • MAAS - 在真实服务器上远程自助安装Windows,CentOS,ESXi和Ubuntu 进一个 bare-metal cloud
  • ManageIQ - ManageIQ是一个开源管理平台,可提供企业需要的洞察力,控制力和自动化能力,以应对管理混合IT环境的挑战
  • OpenStack - OpenStack软件可控制整个数据中心的大型计算,存储和网络资源池,这些资源可通过仪表板或通过OpenStack API进行管理
  • Pulumi - Pulumi的 Infrastructure as Code SDK是在任何云上创建和部署使用容器,无服务器功能,托管服务和基础架构的云软件的最简单方法
  • Puppet - Puppet是Linux,Unix和Windows系统的自动管理引擎,它基于集中式规范执行管理任务(例如添加用户,安装软件包和更新服务器配置)
  • Rundeck - Rundeck是自带Web控制台,命令行工具和 WebAPI 的开源自动化服务。它使您可以轻松地在一组节点上运行自动化任务
  • SaltStack - SaltStack为大规模的复杂系统管理软件,几分钟之内即可轻松运行,可扩展性足以管理成千上万台服务器,而速度又足以在秒级内完成与其的通信
  • StackStorm - StackStorm(又称“ IFTTT for Ops”)是事件驱动的自动化工具,用于自动修复,安全响应,故障排除,部署等
  • Terraform - Terraform使您能够安全且可预测地创建,更改和改善基础架构。它是一个开源工具,将API编码为声明性配置文件,这些文件可以在团队成员之间共享,就像代码一样代码,进行编辑,审阅和版本控制
  • Portainer - Portainer 是一个轻量级管理UI,允许您轻松管理不同的Docker环境(Docker主机或Swarm集群)
  • confd - confd是一个轻量级的配置管理工具,通过读取存储在etcd,consul,redis等的数据来保持本地配置文件最新

镜像托管

  • Harbor - Harbor是一个开源的云原生注册中心,用于存储,签名和扫描容器映像以查找漏洞
  • Docker Registry - 用于打包,发送,存储和内容交付的Docker工具集。
  • Dragonfly - Dragonfly是一个基于开源智能P2P的图像和文件分发系统。其目标是解决云原生场景中的所有分发问题
  • Kraken - Kraken是一个基于P2P的Docker Registry,专注于可扩展性和可用性。它专为混合云环境中的Docker映像管理,复制和分发而设计。借助可插拔的后端支持,Kraken可以轻松地集成到现有的Docker Registry设置中作为分发层。
  • Portus - Portus是授权服务器并提供了下一代Docker Registry 的用户界面。
  • Quay - 一个可以构建,存储和分发您的应用程序和容器的平台

安全&合规

  • Shiro - 隶属于apache的功能强大的java安全框架
  • Knox - Knox用于管理其他服务中使用到的秘钥相关信息

秘钥管理

  • CyberArk Conjur - Conjur为现代基础设施提供秘密管理和机器身份识别

监控

  • Prometheus - CNCF项目,用于监控其他系统或服务. 它以给定的时间间隔从目标收集指标,根据规则进行评估,显示结果,如果达到某些监控条件,还可以触发警报
  • Centreon - 市面上最灵活,最强大的监控软件之一
  • Cortex - 用于 Prometheus 的水平可扩展,高可用,多租户的长期存储介质
  • Falcon - 小米出品的一款企业级、高可用、可扩展的开源监控解决方案
  • Grafana - 用于Graphite,InfluxDB和Prometheus等的监视、指标分析和仪表板的工具
  • Graphite - Graphite 是一种高度可扩展的实时图形系统,可以在廉价硬件上很好地运行
  • Icinga - Icinga是一个监视系统,用于检查网络资源的可用性,通知用户中断并生成性能数据报告
  • InfluxData - go 编写的可扩展的数据存储,用于指标,事件和实时分析
  • Kiali - Kiali 是一个具有配置 service mesh 能力的 Istio 的可观察性控制台,它可以通过推断拓扑来帮助您了解服务网格的结构,还可以提供网格的运行状况
  • Nagios - Nagios是一个用 C 编写的主机/服务/网络监视程序,包含 CGI,可以通过Web界面查看当前状态,历史记录等。GNU 协议
  • Netdata - Netdata 可以针对系统或应用进行分布式、实时的性能跟健康监控
  • NexClipper - NexClipper 是一种快速简单的 Kubernetes 监控方案
  • OpenMetrics - 致力于将 Prometheus 的展现形式变为一种标准
  • OpenTSDB - 基于 HBase 的分布式、可伸缩的时间序列数据库
  • Sensu - 一个简单,可延展和可扩展的框架,用于组件您所需的监控系统,目前已经被 sensu-go 项目取代
  • sysdig - 一款支持 Linux 系统监控,故障排查的原生支持容器的工具
  • Thanos - Thanos 是一组组件,可以组成具有无限存储容量的高可用性系统,能将其无缝添加到现有 Prometheus 之上。

日志

  • log4j - apache旗下的老牌日志工具
  • Fluentd - Fluentd从各种数据源收集事件并将其写入文件,RDBMS,NoSQL,IaaS,SaaS,Hadoop等
  • Loki - Loki是一个水平可扩展,高可用性,多租户的日志聚合系统,灵感来自Prometheus
  • Graylog - 按照开放标准构建的开源日志平台,可以无缝收集,增强,存储和分析日志数据
  • Logstash - Logstash是一个开源的服务器端数据处理管道,它同时从多个源中提取数据,对其进行转换,然后将其发送到您最喜欢的“存储”之中

测试

  • selenium - 自动化浏览器测试框架
  • mockito - Java 体系中用于单元测试的最受欢迎的Mocking工具

追踪

  • Jaeger - Jaeger 受 Dapper 和 OpenZipkin 的启发,是 Uber Technologies 公开发布的分布式跟踪系统
  • OpenTracing - OpenTracing由API规范,已实现规范的框架和库以及项目文档组成
  • OpenTelemetry - OpenTelemetry是OpenTracing和OpenCensus项目的下一个主要版本,OpenTelemetry由一组集成的API,库以及agent 组成。 这些组件用于生成,收集和描述有关分布式系统的 telemetry 信息
  • Pinpoint - Pinpoint是一个APM(应用程序性能管理)工具,适用于用Java / PHP编写的大型分布式系统。灵感源自 google dapper 论文。Pinpoint提供了一种解决方案,通过跟踪分布式应用程序之间的事务,帮助分析系统的整体结构以及它们中的组件如何相互连接。
  • SkyWalking - 分布式系统下的 APM 工具(Application performance monitor),专为微服务,云原生和基于容器(Docker,K8s,Mesos)架构而设计。
  • SOFATracer - SOFATracer 是一个用于分布式系统调用跟踪的组件,通过统一的 traceId 将调用链路中的各种网络调用情况以日志的方式记录下来,以达到透视化网络调用的目的。这些日志可用于故障的快速发现,服务治理等。
  • spring-cloud-sleuth - Spring Cloud Sleuth是Spring Cloud的分布式跟踪工具。它借鉴了Dapper,Zipkin和HTrace。
  • Zipkin - Zipkin是一种分布式跟踪系统。它有助于收集解决服务体系结构中的延迟问题所需的计时数据。功能包括收集和查找此类数据

混沌工程

  • Chaos Mesh - Kubernetes的混沌工程平台
  • Chaos Toolkit - 为社区所需的各种形式的混沌工程工具提供免费,开放和社区驱动的工具包和API
  • Chaosblade - 一款简单易用、功能强大的混沌实验注入工具
  • chaoskube - chaoskube定期随机性的杀掉K8s集群中的pod
  • Litmus - Litmus是Kubernetes的e2e测试和混沌工程框架,专注于 stateful workloads
  • PowerfulSeal - PowerfulSeal会为您的Kubernetes群集添加混乱,以便您可以尽早检测系统中的问题。它会杀死目标 pod 并且使虚拟机变得不稳定。遵循混沌工程原理,灵感源自Chaos Monkey

插件&工具

  • guava - Google 出品的非常好用的Java工具包
  • netty - 事件驱动的支持异步的网络框架
  • okhttp - 适用于 Android,Kotlin 和 Java的 HTTP 客户端
  • hystrix - Netflix出品的熔断器,目前已停止更新
  • Sentinel - (轻量级的流量控制、熔断降级 Java 库
  • resilience4j - 轻量级的熔断器,设计上受到Hystrix的启发,但专为Java 8和函数式编程而设计
  • uid-generator - 百度出品的基于snowflake的唯一Id生成器
  • fastjson - 阿里出品的解析/生成JSON的java框架
  • swagger - java API管理工具
  • protobuf - google出品的平台无关,语言无关的序列化工具
  • cqengine - 可以在Java的collection中进行SQL-like查询的工具
  • jetcache - 阿里出品的Java缓存框架,"用起来比Spring Cache更方便"
  • RxJava - RxJava 是 Reactive Extensions 的 Java VM 实现:该库用于通过使用可观察的序列来组成异步和基于事件的程序
  • Vert.x - JVM上用于开发reactive程序的工具包
  • Akka - 在JVM上构建高度并发,分布式和弹性消息驱动的应用程序
  • mapper - MyBatis 通用 Mapper
  • tcc-transaction - TCC型事务java实现
  • druid - 阿里出品的号称"为监控而生"的数据库连接池
  • fast-syntax-highlighting - zsh的语法高亮插件
  • nosqlclient - mongodb的客户端
  • mybatis-generator-gui mybatis generator的GUI工具
  • git_commit_template - 一个git message的模板
  • gitignore.io - 可以方便的自定义.gitignore文件
  • shadowsocks - 这个无需介绍了,懂的自然都懂
  • source-code-pro - Adobe 开源的编程字体
  • antlr4 - ANTLR是一个功能强大的解析器生成器,用于读取、处理、执行、转换结构化文本或二进制文件
  • etcdkeeper - 一款 etcd 的 web ui 工具,支持 etcd v3
  • kops - Kubernetes Operations(kops) - 生产级的K8s安装,升级和管理工具
  • boot2docker - Boot2Docker是一个轻量级Linux发行版,专门用于运行Docker容器。它可以完全在RAM中运行,下载约45MB并启动速度很快
  • FiraCode - 适合编程的等宽开源字体,有retina版本
  • error-prone - Google出品的一款Java静态分析工具,可以在编译时捕获常见错误
  • Collabobot - Github机器人,自动标签管理,自动问题翻译,自动周报等
  • MikuTools - 一个轻量的网站工具集合
  • solo - 一款小而美的博客系统,专为程序员设计
  • JustAuth - 史上最全的整合第三方登录的开源库
  • Bistoury - Bistoury 是去哪儿网开源的一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力。
  • wrk - 一款 HTTP 基准测试工具
  • common config - 一些常见工具的优化配置,zsh,idea,git 等
  • asciinema - 一款记录终端操作并将其分享的工具,地址在 https://asciinema.org/
  • Katacoda - 面向软件开发人员的交互式技术学习平台(https://www.katacoda.com/)
  • docker-slim - 一款给 docker image 瘦身的工具
  • DataX - 阿里云开源离线同步工具
  • nmon - Linux 下一款精巧的监控小工具
  • sysbench - 一个基于 LuaJIT 的的多线程基准测试工具,可以测试 CPU、IO 以及数据库等
  • emoji-cheat-sheet - 记录了所有 emoji 在 github 上的写法
  • autojump - linux 系统下一款可以快速跳跃目录的工具
  • pyenv - 一个简单的 Python 环境管理工具
  • z - 一款可让你快速跳转到过去或最近经常访问的目录的命令行工具
  • async-profiler - 一款功能强大的 profile 工具,可以生成火焰图
  • SwitchHosts - SwitchHosts 是一个管理 hosts 文件的应用,可以定时更新 hosts 文件
  • GitHub520 - 每日定时更新 github 的 ip 地址
  • iotop - 查看硬盘上 IO 情况的小工具
  • protractor - Angular 和 AngularJS 应用程序的端到端测试框架
  • DevToys - 支持离线,一款常用工具的“瑞士军刀”,包含文件格式转换、PDF 生成等功能
  • ASCII Table - 可以在 Java 的控制台中输出表格
  • Atom - GitHub 官方文本编辑器

相关教程

文档汉化

论文

面试相关

其他资源

优秀blog

游戏

  • RetroArch - 跨平台游戏模拟器
  • Citra - 3DS 模拟器
  • Dolphin - Wii 模拟器
  • Cemu - Wii U 模拟器
  • Ryujinx - 任天堂 Switch 模拟器
  • PPSSPP - PSP 模拟器
  • ePSXe - PS模拟器
  • PCSX2 - PS2模拟器
  • RPCS3 - PS3模拟器
  • RetroPie - 一个模拟器合集,可以将树莓派改造成一个模拟器
  • lakka - Lakka,一款树莓派可用的模拟器集合,界面很像 PS4
  • ResidentEvi HD - 老版生化危机的 HD 项目