Skip to content

收集了Github上的优秀工具,框架,知识合集

License

Notifications You must be signed in to change notification settings

cindy89/github-bookmark

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Github收藏夹

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


RPC

  • dubbo - 阿里出品的使用范围广泛的RPC框架
  • motan - 微博出品的跨语言的RPC框架
  • brpc - 百度出品的工业级RPC框架
  • grpc - gRPC是一个领先的, 开源的, 高性能的RPC框架, 可以在任何地方运行. gRPC使客户端和服务端的通信变得透明, 并乐意简化连接的创建
  • Tars - 腾讯出品的高性能RPC框架
  • sofa-rpc - 蚂蚁金服出品的高可扩展性、高性能、生产级的 Java RPC 框架

微服务

  • fabric8 - 基于Docker, Kubernetes and Jenkins的微服务平台

持续集成&交付

  • skaffold - Google出品的一款命令行工具, 用于促进Kubernetes应用程序的持续开发
  • travis - 针对github上项目的免费的持续集成平台
  • Argo - 用于Kubernetes的容器原生的工作流引擎
  • Brigade - 基于事件的Kubernetes脚本
  • 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

数据库

  • sharding-sphere - 开源的分布式数据库中间件解决方案。它在Java的JDBC层以对业务应用零侵入的方式额外提供数据分片, 读写分离, 柔性事务和分布式治理能力。并在其基础上提供封装了MySQL协议的服务端版本, 用于完成对异构语言的支持
  • HikariCP - 可靠的高性能JDBC连接池, 号称"zero-overhead"生产就绪, 仅仅130Kb
  • h2database - 快速的,开源的,支持JDBC API的内存数据库
  • mycat - 基于阿里cobar改良的分布式数据库中间件, 官宣为一个模拟MySQL Server的超级数据库
  • cobar - 阿里出品的支持sharding的proxy(很久没有维护了)
  • ignite - Apache旗下的一款以内存为中心,多模型的分布式数据库/cache.号称可以以内存级别的速度处理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框架

缓存

  • 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集群

应用定义&镜像构建

  • 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是一个开源多云平台控制平面。它在现有托管服务的基础上引入了工作负载和资源抽象,从而实现了跨云提供商的高度工作负载可移植性

服务协调&发现

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

服务代理

  • envoy - Envoy是一个开源服务代理, 专为云应用而设计

API网关

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

ServiceMesh

  • linkerd - Linkerd旨在透明地向所有服务间通信添加服务发现, 负载平衡, 故障处理, 检测和路由, 使应用程序变得安全可靠

云原生存储

  • rook - Rook是Kubernetes的开源云本地存储协调器,为各种存储解决方案提供平台,框架和支持,以便与云原生环境本地集成

容器

  • containerd - 一个开放且可靠的容器运行时

云原生网络

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

自动化&配置

  • ansible - IT自动化的平台, 使系统跟程序更加容易部署
  • disconf - 分布式配置管理平台
  • mgmt - 号称下一代的配置管理平台
  • QConf - 奇虎的分布式配置管理平台
  • apollo - 携程框架部门研发的分布式配置中心, 能够集中化管理应用不同环境、不同集群的配置, 配置修改后能够实时推送到应用端, 并且具备规范的权限、流程治理等特性, 适用于微服务配置管理场景
  • BOSH - Bosh是一款用于发布, 部署, 生命周期管理以及监控的开源工具
  • Portainer - Portainer是一个轻量级管理UI,允许您轻松管理不同的Docker环境(Docker主机或Swarm集群)
  • confd - confd是一个轻量级的配置管理工具, 通过读取存储在etcd,consul,redis等的数据来保持本地配置文件最新

安全&合规

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

秘钥管理

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

监控

  • prometheus - CNCF项目, 用于监控其他系统或服务. 它以给定的时间间隔从目标收集指标,根据规则进行评估,显示结果,如果达到某些监控条件, 还可以触发警报

日志

  • log4j - apache旗下的老牌日志工具
  • Fluentd - Fluentd从各种数据源收集事件并将其写入文件,RDBMS,NoSQL,IaaS,SaaS,Hadoop等

测试

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

追踪

  • Jaeger - Jaeger受Dapper和OpenZipkin的启发,是Uber Technologies公开发布的分布式跟踪系统

混沌工程

  • chaostoolkit - 为社区所需的各种形式的混沌工程工具提供免费,开放和社区驱动的工具包和API
  • chaosblade - 一款简单易用、功能强大的混沌实验注入工具

插件&工具

  • guava - google出品的非常好用的Java工具包
  • netty - 事件驱动的支持异步的网络框架
  • hystrix - Netflix出品的熔断器, 目前已停止更新
  • 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更方便"
  • vert.x - JVM上用于开发reactive程序的工具包
  • 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 - 一个轻量的工具集合

相关教程

文档汉化

面试相关

其他资源

优秀blog

游戏

About

收集了Github上的优秀工具,框架,知识合集

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published