Giter Club home page Giter Club logo

github-bookmark's Introduction

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 - 阿里出品的分布式事务解决方案,具有高性能和易于使用的微服务架构

缓存

  • 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

应用定义&镜像构建

  • Helm - 一个Kubernetes包管理器, CNCF项目
  • Brooklyn - Apache旗下开源框架, 用于建模, 部署和管理使用声明式YAML蓝图定义的分布式应用程序
  • Buildpacks - Buildpacks是可插拔的模块化工具,可将源代码转换为OCI映像
  • Docker Compose - Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用Compose文件来配置应用程序的服务。然后,使用单个命令,您可以从配置中创建并启动所有服务
  • Draft - 一款用于开发人员在Kubernetes上创建云原生应用程序的工具
  • Habitat - 可创建独立于平台的构建工件,并提供内置的部署和管理功能

搜索引擎

调度&编排

  • kubernetes - Kubernetes是一个开源系统, 用于管理多个主机上的容器化应用程序;提供应用程序部署, 维护和扩展的基本机制
  • elastic-job - Elastic-Job是一个分布式调度解决方案, 由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成.
  • flink - 隶属于Apache的流处理框架,拥有强大的流处理以及批量处理的能力.
  • quartz - 功能丰富的,几乎可以与任何java程序集成的调度框架
  • xxl-job - 分布式任务调度平台XXL-JOB

服务协调&发现

  • 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容器的网络体系

自动化&配置

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

安全&合规

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

监控

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

日志

  • log4j - apache旗下的老牌日志工具

测试

  • selenium - 自动化浏览器测试框架

混沌工程

  • chaostoolkit - 为社区所需的各种形式的混沌工程工具提供免费,开放和社区驱动的工具包和API

插件&工具

  • 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版本

相关教程

文档汉化

面试相关

其他资源

优秀blog

游戏

github-bookmark's People

Contributors

taojintianxia avatar

Watchers

James Cloos avatar biexiande avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.