大数据利器2018版
类别 | 名称 (可重点关注加粗部分) |
官网 | 备注 |
查询引擎 | Phoenix | https://phoenix.apache.org/ | Salesforce公司出品,Apache HBase之上的一个SQL中间层,完全使用Java编写 |
Presto | http://prestodb.io/ | Facebook开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节 | |
http://shark.cs.berkeley.edu/ | |||
Pig | http://pig.apache.org/ | 基于Hadoop MapReduce的脚本语言 | |
Cloudera Impala | http://www.cloudera.com/content/cloudera/en/products-and-services/cdh/impala.html | 参照Google Dremel实现,能运行在HDFS或HBase上,使用C++开发。Cloudera声称,基于SQL的Impala数据库是面向Apache Hadoop的领先的开源分析数据库。 | |
Apache Drill | https://drill.apache.org/ | 参照Google Dremel实现,无主节点的实时的分布式查询引擎。兼容ANSI SQL(国际标准SQL语言)语法作为接口,支持对本地文件,HDFS,HIVE, HBASE,MongeDB作为存储的数据查询,文件格式支持Parquet、CSV、 TSV以及JSON这种无模式无关(schema-free)的数据。 | |
Apache Tajo | http://tajo.apache.org/ | 一个运行在YARN上支持SQL的分布式数据仓库 | |
Kylin | http://kylin.apache.org/ http://kylin.apache.org/cn/ |
一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。 | |
Hive | http://hive.apache.org/ | 基于Hadoop MapReduce的SQL查询引擎 | |
Calcite | https://calcite.apache.org/ | 起源于Hive,源名optiq,2014年5月独立出来后更名为Calcite,一个动态数据管理框架。它将数据存储和数据处理分离出去,专注于成为配置应用与一个或者多个数据存储位置以及数据处理引擎的中间件。独立于存储与执行的SQL解析、优化引擎,广泛应用于各种离线、搜索、实时查询引擎,如Drill、Hive、Kylin、Solr、flink、Samza等。 | |
流式计算 | Facebook Puma | 实时数据流分析 | |
Twitter Rainbird | 分布式实时统计系统,如网站的点击统计 | ||
Yahoo S4 | http://incubator.apache.org/s4/ | Java开发的一个通用的、分布式的、可扩展的、分区容错的、可插拔的无主架构的流式系统 | |
jStrom | https://github.com/alibaba/jstorm | 阿里开源的经过优化的Java版Storm | |
Flink | https://flink.apache.org/ | 到2018年,Flink已经很成熟了,生态也逐渐丰富,流式(实时)计算和离线计算通吃 | |
Twitter Storm | http://storm.incubator.apache.org/ | 使用Java和Clojure实现 | |
迭代计算 | Apache Hama | https://hama.apache.org/ | 建立在Hadoop上基于BSP(Bulk Synchronous Parallel)的计算框架,模仿了Google的Pregel。 |
Apache Giraph | https://giraph.apache.org/ | 建立在Hadoop上的可伸缩的分布式迭代图处理系统,灵感来自BSP(bulk synchronous parallel)和Google的Pregel | |
HaLoop | https://code.google.com/p/haloop/ | 迭代的MapReduce | |
Apache Tez | https://tez.apache.org/ | 支持DAG作业的开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升DAG作业的性能。 | |
Twister | http://www.iterativemapreduce.org/ | 迭代的MapReduce | |
图形数据库 | FlockDB | https://github.com/twitter-archive/flockdb | 推特开发的FlockDB是一种非常快、扩展性非常好的图形数据库,擅长存储社交网络数据,最近一次更新时间为2016年 |
Neo4j | https://neo4j.com/ | 基于Java的高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中 | |
离线计算 | Hadoop MapReduce | http://hadoop.apache.org/ | 经典的大数据批处理系统 |
Berkeley Spark | http://spark.apache.org/ http://shark.cs.berkeley.edu/ |
使用Scala语言实现,和MapReduce有较大的竞争关系,性能强于MapReduce,也可做离线计算,但是秒级的,不如Flink毫秒级的 | |
Flink | https://flink.apache.org/ | 和Spark类似的,同时适应于实时计算和离线计算 | |
Apache Ignite | http://ignite.apache.org/ | 内存数据组织框架是一个高性能、集成化和分布式的内存计算和事务平台 | |
DataTorrent | http://www.datatorrent.com/ | 基于Hadoop2.X构建的实时流式处理和分析平台,每秒可以处理超过10亿个实时事件 | |
嵌入式DB | SQLite | https://www.sqlite.org/ | 经典的嵌入式SQL库 |
Firebird | http://www.firebirdsql.org/ | 从Interbase派生出来的,支持SQL,支持事务 | |
对象存储 | Ozone | https://hadoop.apache.org/ozone/ | 2018新增的Hadoop新成员 |
键值存储 | LevelDB | https://code.google.com/p/leveldb/ | Google开源的高效KV编程库,注意它只是个库 |
RocksDB | http://rocksdb.org/ | Facebook开源的可嵌入式的支持持久化的key-value存储系统,基于Google的LevelDB,但提高了扩展性可以运行在多核处理器上 | |
HyperDex | http://hyperdex.org/ | 下一代KV存储系统,支持strings、integers、floats、lists、maps和sets等丰富的数据类型 | |
TokyoCabinet | http://fallabs.com/tokyocabinet/ | 日本人Mikio Hirabayashi(平林干雄)开发的一款DBM数据库,注意它只是个库(大名鼎鼎的DBM数据库qdbm就是Mikio Hirabayashi开发的),读写非常快 | |
Voldemort | http://www.project-voldemort.com/voldemort/ | 一个分布式键值存储系统,是Amazon Dynamo的一个开源克隆,LinkedIn开源 | |
Amazon Dynamo | https://github.com/dynamo/dynamo | 亚马逊的KV模式的存储平台,无主架构 | |
Tair | http://tair.taobao.org/ | 淘宝出品的高性能、分布式、可扩展、高可靠的KV结构存储系统,专为小文件优化,并提供简单易用的接口(类似Map),Tair支持Java和C版本的客户端 | |
TiKV | https://github.com/tikv/tikv | Rust 语言编写的分布式键值系统(KVS),它采用Raft协议保证数据的强一致性,同时使用MVCC+2PC的方式实现了分布式事务的支持 | |
Apache Accumulo | https://accumulo.apache.org/ | 一个可靠的、可伸缩的、高性能的排序分布式的KV存储系统,参照Google Bigtable而设计,建立在Hadoop、Thrift和Zookeeper之上。 | |
Anna | https://github.com/ucbrise/anna | 伯克利RISE实验室(RISE实验室的前身是赫赫有名的伯克利AMP实验室,开发了著名的Spark、Mesos、Tachyon等)推出的键值存储数据库,也是一个具备惊人的存取速度、超强的伸缩性和优秀的一致性的KVS | |
Redis | http://redis.io/ | 使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、单机版KV数据库。从2010年3月15日起,Redis的开发工作由VMware主持 | |
表格存储 | OceanBase | https://github.com/alibaba/oceanbase | 支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务 |
Amazon SimpleDB | http://aws.amazon.com/cn/simpledb/ | 一个可大规模伸缩、用 Erlang 编写的高可用数据存储 | |
Vertica | http://www.vertica.com/ | 惠普2011收购Vertica,Vertica是传统的关系型数据库,基于列存储,同时支持MPP,使用标准的SQL查询,可以和Hadoop/MapReduce进行集成 | |
Cassandra | http://cassandra.apache.org/ | Hadoop成员,Facebook于2008将Cassandra开源,基于O(1)DHT的完全P2P架构 | |
HyperTable | http://hypertable.org/ | 搜索引擎公司Zvents针对Bigtable的C++开源实现 | |
FoundationDB | https://foundationdb.com/ | 支持ACID事务处理的NoSQL数据库,提供非常好的性能、数据一致性和操作弹性 | |
PaxosStore | https://github.com/Tencent/paxosstore | 微信出品,参照Google MegaStore实现的分布式存储系统,广泛支撑微信在线应用,峰值过亿TPS,运行在数千台服务器上。 | |
MemSQL | http://www.memsql.com/ | 前Facebook工程师创办的,号称世界上最快的分布式关系型数据库,兼容MySQL但快30倍,能实现每秒150万次事务,原理是仅用内存并将SQL预编译为C++。 | |
ScyllaDB | https://www.scylladb.com/ http://www.scylladb.cn/ |
由大神KVM之父Avi Kivity创建的NoSQL数据库,世界级性能领先的NoSQL列存储数据库,C++改写的Cassandra,完全兼容Apache Cassandra | |
HBase | http://hbase.apache.org/ | Bigtable在Hadoop中的实现,最初是Powerset公司为了处理自然语言搜索产生的海量数据而开展的项目 | |
时间序列数据库 (TSDB) |
openTSDB | http://opentsdb.net/ | 基于HBase的分布式的、可伸缩的时间序列数据库,和Grafana结合使用 |
KairosDB | https://kairosdb.github.io/ | 基于Cassandra的分布式的、可伸缩的时间序列数据库 | |
Prometheus | https://prometheus.io/ | 开源的服务监控系统和时序列数据库,由社交音乐平台SoundCloud在2012年开发,常和Grafana结合使用 | |
Druid | http://druid.io/ | 注意不是阿里的Druid,开源的、快速和近实时的海量数据OLAP系统,诞生于Metamarkets,后核心人员创立了IMPLY公司开发Druid及相关产品,按时间来进行分区(Segment),并且是面向列的存储 | |
RRDtool | https://oss.oetiker.ch/rrdtool/ | 轮询式数据库,适合时间序列的数据 | |
Graphite | https://graphiteapp.org/ | 时序数据库,作用是存储和聚合监控数据并绘制图标,不负责数据的收集 | |
Pinot | https://github.com/linkedin/pinot | 来自 Linkedin的开源的实时、分布式OLAP数据存储方案 | |
InfluxDB | https://github.com/influxdata/influxdb https://www.influxdata.com/ |
开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据,但集群版本收费,和Grafana结合使用 | |
文件存储 | CouchDB | http://couchdb.apache.org/ | 面向文档的数据存储,号称是“一款完全拥抱互联网的数据库”,它将数据存储在JSON文档中,这种文档可以通过Web浏览器来查询,并且用JavaScript来处理。它易于使用,在分布式上网络上具有高可用性和高扩展性。 |
MongoDB | https://www.mongodb.org/ | C++ 语言编写的文档型数据库 | |
Alluxio | https://www.alluxio.org/ | 原名Tachyon,2016改名为Alluxio,高容错的以内存为中心的虚拟的分布式存储系统,吞吐量要比HDFS高300多倍。加州大学伯克利分校的AMPLab基于Hadoop的核心组件开发出一个更快的版本Tachyon,它从底层重构了Hadoop平台。 | |
KFS | http://code.google.com/p/kosmosfs/ | GFS的C++开源版本 | |
HDFS | http://hadoop.apache.org/ | GFS在Hadoop中的实现 | |
资源管理 | Twitter Mesos | http://mesos.apache.org/ | 开源分布式资源管理框架,它被称为是分布式系统的内核。最初是由加州大学伯克利分校的AMPLab开发的,后在Twitter得到广泛使用。 |
Hadoop Yarn | http://hadoop.apache.org/ | 类似于Mesos | |
日志收集系统 | Facebook Scribe | https://github.com/facebook/scribe | Facebook开源的日志收集系统,能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理,常与Hadoop结合使用,Scribe用于向HDFS中Push日志 |
Cloudera Flume | http://flume.apache.org/ | Cloudera提供的日志收集系统,支持对日志的实时性收集 | |
Logstash | http://www.logstash.net/ | 日志管理、分析和传输工具,可配合kibana、ElasticSearch组建成日志查询系统 | |
Kibana | http://www.elasticsearch.org/overview/kibana/ | 为日志提供友好的Web查询页面 | |
消息系统 | StormMQ | http://stormmq.com/ | 基于netty的消息队列,Java语言开发 |
RocketMQ | https://rocketmq.apache.org/ | 阿里开源的类似于Kafka的分布式消息队列 | |
ZeroMQ | http://zeromq.org/ | 很底层的高性能网络库 | |
RabbitMQ | https://www.rabbitmq.com/ | 在AMQP基础上完整的,可复用的企业消息系统 | |
Apache ActiveMQ | http://activemq.apache.org/ | 能力强劲的开源消息总线 | |
PhxQueue | https://github.com/Tencent/phxqueue | 微信开源的一款基于Paxos协议实现的高可用、高吞吐和高可靠的分布式队列,保证At-Least-Once Delivery。在微信内部广泛支持微信支付、公众平台等多个重要业务。 | |
Jafka | https://github.com/adyliu/jafka | Java版本开源的、高性能的跨语言Kafka,最早是由Apache孵化的Kafka(由LinkedIn捐助给Apache)克隆而来 | |
Pulsar | https://pulsar.apache.org/ | 由雅虎开发并开源的下一代消息系统,Kafka的竞品 | |
Apache Kafka | http://kafka.apache.org/ | Linkedin于2010年12月份开源的分布式消息系统,它主要用于处理活跃的流式数据,由Scala写成 | |
分布式服务 | ZooKeeper | http://zookeeper.apache.org/ | 分布式锁服务,PoxOS算法的实现,对应Google的Chubby |
rethinkdb | https://github.com/rethinkdb/rethinkdb | 设计用来存储 JSON 文档的分布式数据库,可通过简单操作实现多机分布式存储。支持表的联合和分组查询。 特点: 简单编程模型 JSON 数据模型和一致性 分布式联合查询、子查询、聚合查询和原子更新操作 Hadoop 风格的 map/reduce | |
Nacos | https://github.com/alibaba/nacos | 阿里开源的一个更易于构建云原生应用的动态服务发现、配置和服务管理平台 | |
PhxPaxos | https://github.com/tencent-wechat/phxpaxos | 微信后台团队自主研发的一套基于Paxos协议的多机状态拷贝类库。它以库函数的方式嵌入到开发者的代码当中, 使得一些单机状态服务可以扩展到多机器,从而获得强一致性的多副本以及自动容灾的特性。 这个类库在微信服务里面经过一系列的工程验证,并且我们对它进行过大量的恶劣环境下的测试,使其在一致性的保证上更为健壮。 | |
QJM | http://hadoop.apache.org/ | Hadoop内置的JournalNode,用于NameNode元数据容灾,存储NameNode元数据日志,节点间的数据同步可以考虑 | |
Bookeeper | https://bookkeeper.apache.org/ | 和JournalNode类似 | |
etcd | https://github.com/coreos/etcd | 一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。 | |
RPC | Apache Avro | http://avro.apache.org/ | Hadoop中的RPC |
PhxRPC | https://github.com/tencent-wechat/phxrpc | 微信后台团队推出的一个非常简洁小巧的基于Protobuf的RPC框架(实现语言为C++),编译生成的库只有450K | |
sofa-pbrpc | https://github.com/baidu/sofa-pbrpc | 百度开源的,基于Protobuf的C++实现的RPC | |
Dubbo | https://dubbo.incubator.apache.org | 阿里开源的RPC,实现语言为Java | |
gRPC | http://www.grpc.io/ https://github.com/grpc/grpc |
一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。 | |
Finagle | https://twitter.github.io/finagle/ | Twitter基于Netty开发的支持容错的、协议无关的RPC框架 | |
Thrift | http://thrift.apache.org/ | RPC,支持C++/Java/PHP等众多语言 | |
集群管理 | Nagios | http://www.nagios.org/ | 监视系统运行状态和网络信息的监视系统 |
CDAP | https://github.com/caskdata/cdap | CAST DATA APPLICATION PLATFORM,开源的大数据应用统一集平台,帮助应用开发者和系统管理员基于Hadoop技术栈来构建、测试、部署、管理数据应用程序,由Datasets、Programs、 Services、Tools等组件组成。 | |
Hue | http://gethue.com/ | 开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来 | |
Ganglia | http://ganglia.sourceforge.net/ | UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。 | |
Ranger | https://hortonworks.com/apache/ranger/ | 一个集中式安全管理框架,它可以对Hadoop生态的组件如Hive、Hbase进行细粒度的数据访问控制。通过操作Ranger控制台,管理员可以轻松的通过配置策略来控制用户访问HDFS文件夹、HDFS文件、数据库、表、字段权限。这些策略可以为不同的用户和组来设置,同时权限可与hadoop无缝对接。 | |
Kafka Manager | https://github.com/yahoo/kafka-manager | Web可视化Kafka管理软件 | |
osquery | https://osquery.io/ | Facebook开源的一个SQL驱动操作系统检测和分析工具,支持像SQL语句一样查询系统的各项指标,可以用于OSX和Linux操作系统,它使得底层操作系统分析和监控性能更加直观 | |
Apache Ambari | http://ambari.apache.org/ | 一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeepr、Sqoop和Hcatalog等的集中管理。 | |
基础设施 | SSTable | 源于Google,orted String Table | |
RecordIO | 源于Google | ||
Flat Buffers | https://github.com/google/flatbuffers | 针对游戏开发的,高效的跨平台序列化库,相比Proto Buffers开销更小,因为Flat Buffers没有解析过程 | |
Protocol Buffers | http://code.google.com/p/protobuf/ | Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且可扩展性极强。 | |
Consistent Hashing | 1997年由麻省理工学院提出,目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似,基本解决了在P2P环境中最为关键的问题——如何在动态的网络拓扑中分布存储和路由。 | ||
Netty | http://netty.io/ | JBOSS提供的一个java开源框架,提供异步的、事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 | |
Seastar | http://seastar.io/ | 现代硬件上的高性能C++异步框架,Scylla完全基于Seastar库,KVM之父Avi Kivity大神创建 | |
Proxygen | https://github.com/facebook/proxygen | Facebook开源的支持SPDY 3.1的HTTP框架 | |
libPhenom | https://github.com/facebook/libphenom | Facebook发布的一个C语言事件框架,用于构建高性能和高可扩展的系统。支持多线程、提供内存管理和常用数据结构、json处理。 | |
BloomFilter | 布隆过滤器,1970年由布隆提出,是一个很长的二进制矢量和一系列随机映射函数,可以用于检索一个元素是否在一个集合中,优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 | ||
搜索引擎 | Nutch | https://nutch.apache.org/ | 开源Java 实现的搜索引擎,诞生Hadoop的地方。 |
Lucene | http://lucene.apache.org/ | 一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能。 | |
SolrCloud | 基于Solr和Zookeeper的分布式搜索, Solr4.0 的核心组件之一,主要思想是使用 Zookeeper 作为集群的配置信息中心 | ||
Solr | https://lucene.apache.org/solr/ | Solr是基于Lucene的搜索。 | |
ElasticSearch | http://www.elasticsearch.org/ http://www.elasticsearch.cn/ |
开源的(Apache2协议),分布式的,RESTful的,构建在Apache Lucene之上的的搜索引擎。 | |
Sphinx | http://sphinxsearch.com | 一个基于SQL的全文检索引擎,可结合MySQL、PostgreSQL做全文检索,可提供比数据库本身更专业的搜索功能,单一索引可达1亿条记录,1000万条记录情况下的查询速度为0.x秒(毫秒级)。 | |
SenseiDB | http://senseidb.com | Linkin公司开发的一个开源分布式实时半结构化数据库,在全文索引的基础封装了Browse Query Language (BQL,类似SQL)的查询语法。 | |
数据挖掘 | Mahout | http://mahout.apache.org/ | Hadoop成员,目标是建立一个可扩展的机器学习库 |
Iaas | OpenStack | https://www.openstack.org/ | 美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作,旨在为公共及私有云的建设与管理提供软件的开源项目。6个核心项目:Nova(计算,Compute),Swift(对象存储,Object),Glance(镜像,Image),Keystone(身份,Identity),Horizon(自助门户,Dashboard),Quantum & Melange(网络&地址管理),另外还有若干社区项目,如Rackspace(负载均衡)、Rackspace(关系型数据库)。 |
Docker | http://www.docker.io/ | 应用容器引擎,让开发者可打包应用及依赖包到一个可移植的容器中,然后发布到Linux机器上,也可实现虚拟化。 | |
Kubernetes | https://github.com/GoogleCloudPlatform/kubernetes/ | 由Google开源的,Docker编写的容器编排引擎,支持自动化部署、大规模可伸缩、应用容器化管理。支持公有云,私有云,混合云,多重云。简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。ETCD是Kubernetes提供默认的存储系统,保存所有集群数据。 | |
Imctfy | https://github.com/google/Imctfy/ | Google开源的Linux容器 | |
关系数据库 | PhxSQL | https://github.com/tencent-wechat/phxsql | 微信开源的基于MySQL的强一致高可用分布式数据库 |
TiDB | https://github.com/pingcap/tidb | TiDB 是 PingCAP 公司受 Google Spanner / F1 论文启发而设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,目标是为 OLTP(Online Transactional Processing) 和 OLAP (Online Analytical Processing) 场景提供一站式的解决方案。 | |
机器学习 | TensorFlow | https://www.tensorflow.org https://www.tensorflow.org/?hl=zh-cn |
最初是由 Google Brain 团队(隶属于 Google 的 AI 部门)中的研究人员和工程师开发的,可为机器学习和深度学习提供强力支持,并且其灵活的数值计算核心广泛应用于许多其他科学领域。 |
Sonnect | https://github.com/deepmind/sonnet | 基于TensorFlow的神经网络库 | |
Facets | https://pair-code.github.io/facets/ | 谷歌开源机器学习可视化工具 | |
Kubeflow | https://github.com/kubeflow/kubeflow | 让Kubernetes集群具备机器学习能力,致力于在 Kubernetes 上让 ML(Machine Learning)堆栈变得简单、快速、可扩展 | |
OpenFermion | https://github.com/quantumlib/OpenFermion | Google开源量子计算软件 | |
TonY | https://github.com/linkedin/TonY | LinkedIn开发的在Hadoop上自然运行TensorFlow的框架,核心理念是像MapReduce和Spark一样,使TensorFlow可以在Hadoop上以可靠、灵活的方式运行 | |
TensorFlow Fold | https://github.com/tensorflow/fold | 深度学习动态计算图工具 | |
微服务 | helidon | https://github.com/oracle/helidon | Oracle推出的轻量级Java微服务框架 |
Lstio | https://istio.io/ | 谷歌,IBM和Lyft开源大型微服务系统管理工具 | |
协程 | libco | https://github.com/Tencent/libco | 微信后台大规模使用的c/c++协程库,2013年至今稳定运行在微信后台的数万台机器上。无需侵入业务逻辑,把多进程、多线程服务改造成协程服务,并发能力得到百倍提升。支持CGI框架,轻松构建web服务。使用hook技术让链接进程序的同步的第三方库变为异步调用,大大提升其性能。 |
libgo | https://github.com/yyzybb537/libgo | 使用C++11编写的协作式调度的stackful协程库, 同时也是一个强大易用的并行编程库。提供golang一般功能强大协程,基于corontine编写代码,可以以同步的方式编写简单的代码,同时获得异步的性能。支持海量协程, 创建100万个协程只需使用4.5GB物理内存。使用hook技术让链接进程序的同步的第三方库变为异步调用,大大提升其性能。 | |
libtask | https://swtch.com/libtask/ | C实现的协程库, 通过一两千行代码就实现了协程调度、延迟调度以及Channel的功能 | |
state-threads | https://sourceforge.net/projects/state-threads/ | 一个基于setjmp/longjmp实现的C语言版用户线程库或协程库(user level thread) | |
Protothreads | http://dunkels.com/adam/pt/ | “蝇量级”的协程库,针对C语言封装后的宏函数库,为C语言模拟了一种无堆栈的轻量线程环境,能够实现模拟线程的条件阻塞、信号量操作等操作系统中特有的机制,从而使程序实现多线程操作。 | |
编程语言 | Kotlin | https://kotlinlang.org/ | 现代多平台应用的静态编程语言,由JetBrains(Java IDE IntelliJ的提供商)开发。可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行,为Android官方支持开发语言。比Java更安全,能够静态检测常见的陷阱,被称之为Android世界的Swift。 |
Julia | https://julialang.org/ | 集Python、C++和R为一体,面向科学计算的高性能动态高级程序设计语言,可用于天文图像分析、自动驾驶汽车、机器人、3D打印、精准医疗、增强现实、基因组学、风险管理等,主要应用于数据可视化、通用计算、数据科学、机器学习、科学领域、并行计算六大领域。 | |
Rockstar | https://github.com/dylanbeattie/rockstar | 图灵完备的能写出诗歌般代码的动态编程语言,用它写下的不仅仅是一行行可执行的代码,还是一首青春的赞美语——就像是它的名字一样,摇滚明星。 | |
Rust | https://www.rust-lang.org | 由Mozilla研究室主导开发的一门现代系统编程语言,Rust是一种系统编程语言,它有着惊人的运行速度,能够防止段错误,并保证线程安全。 | |
Scala | https://www.scala-lang.org/ | 典型作品:Kafka,运行在JVM上的多范式的类Java编程语言,集成面向对象编程和函数式编程的各种特性。 | |
Clojure | https://clojure.org/ | 典型作品:Storm,运行在JVM上的动态函数式编程语言,语法接近于LISP语言,Lisp是一种以表达性和功能强大著称的编程语言 | |
GO | https://golang.org/ | 典型作品:Docker、Kubernetes |