皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

360开源项目大盘点

作者 徐川      

自从360于2016年在美股退市以来,大家就一直猜测它何时会在国内上市,期间还发生了诸如借壳上市等话题,如今这只悬在空中的靴子终于落地了。

对于很多人来说,360最为人所知的是它在网络安全方面的建树,不时国外得个奖,近年来席卷互联网的安全事件也都能及时给出警告和解决方案,受到广大网友信赖。

不过,除了安全,其实360还有很多开源技术值得称道,下面就让我们来盘点一下。

360开源项目大盘点

云计算

jepsen:分布式系统验证框架

https://github.com/jepsen-io/jepsen

Jepsen 是开源社区比较公认的分布式数据库的测试框架。Jepsen 验证过程包括 VoltDB、CockroachDB、Galera、MongoDB、etcd 在内的几乎所有的主流分布式数据库/系统。

huststore:高性能分布式存储服务

https://github.com/Qihoo360/huststore

huststore 是一个高性能的分布式存储服务,不但提供了 100 thousand QPS 级别的 kv 存储的功能,还提供了 hash、set、sort set 等一系列数据结构的支持,并且支持二进制的 kv 存储,可以替代 Redis 相关的功能。

Poseidon:日志搜索引擎

https://github.com/Qihoo360/poseidon

Poseidon 系统是一个日志搜索平台,能在数百万亿条规模的数据集中找出我们需要的数据,只需要花费几秒钟时间,大大提高工作效率;同时,数据不需要额外存储,节省了大量存储和计算资源。该系统可以应用于任何海量(从万亿到千万亿规模)的查询检索需求。

人工智能

XLearning:深度学习调度平台

https://github.com/Qihoo360/XLearning

XLearning 由 360 系统部大数据团队与人工智能研究院联合开发,基于 Hadoop Yarn 完成了对 TensorFlow、MXNet、Caffe、Theano、PyTorch、Keras、XGBoost 等常用深度学习框架的集成。平台上线运行近一年时间,经多次版本迭代更新,为各学习框架的使用者提供了统一、稳定的作业提交平台,实现了资源共享,极大的提高了资源利用率,并且具有良好的扩展性和兼容性,在公司搜索、人工智能研究院、商业化、数据中心等业务部门得到广泛使用。

数据库

Zeppelin:高性能KV存储平台

https://github.com/Qihoo360/zeppelin

Zeppelin 是奇虎 360 开源的一个高性能,高可用的分布式 Key-Value 存储平台,它以高性能、大集群为目标,并希望能在 Zeppelin 的基础上,不仅能够提供 KV 的访问,还可以通过简单的一层转换满足更复杂的协议需求。

Atlas:高性能MySQL代理

https://github.com/Qihoo360/Atlas

Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。

pika:类Redis存储系统

https://github.com/Qihoo360/pika

Pika 是 360 DBA 和基础架构组联合开发的类 Redis 存储系统,完全支持 Redis 协议,用户不需要修改任何代码,就可以将服务迁移至 Pika。有维护 Redis 经验的 DBA 维护 Pika 不需要学习成本。

Pika 主要解决的是用户使用 Redis 的内存大小超过 50G、80G 等等这样的情况,会遇到启动恢复时间长,一主多从代价大,硬件成本贵,缓冲区容易写满等问题。Pika 就是针对这些场景的一个解决方案。

MySQL Sniffer:MySQL抓包工具

https://github.com/Qihoo360/mysql-sniffer

MySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer 端的请求,并格式化输出。输出内容包访问括时间、访问用户、来源 IP、访问 Database、命令耗时、返回数据行数、执行语句等。有批量抓取多个端口,后台运行,日志分割等多种使用方式,操作便捷,输出友好。

前端/Node

chimee:浏览器视频播放框架

https://github.com/Chimeejs/chimee

Chimee 由奇舞团研制的 h5 播放器,它支持 mp4、m3u8、flv 等多种格式。通过插件式开发,能满足业务方快速迭代、灰度发布等要求。让开发者能够轻松快捷地完成视频场景的开发。

ThinkJS:企业级Node框架

https://github.com/thinkjs/thinkjs

ThinkJS 是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得如此简单、高效。从 3.0 开始,框架底层基于 Koa 2.x 实现,兼容 Koa 的所有功能。

Firekylin:通用博客系统

https://github.com/firekylin/firekylin

Firekylin 是一个高效简洁的动态博客系统,整体基于 ThinkJS 框架,后台采用了 React 技术栈。

移动开发

RePlugin:Android占坑类插件化方案

https://github.com/Qihoo360/RePlugin

RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。

DroidPlugin:Android插件化框架

https://github.com/DroidPluginTeam/DroidPlugin

DroidPlugin是在Android系统上实现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。

运维监控

QConf:分布式配置管理工具

https://github.com/Qihoo360/QConf

QConf 是一个分布式配置管理工具。 用来替代传统的配置文件,使得配置信息和程序代码分离,同时配置变化能够实时同步到客户端,而且保证用户高效读取配置,这使的工程师从琐碎的配置修改、代码提交、配置上线流程中解放出来,极大地简化了配置管理工作。

phptrace:PHP执行跟踪工具

https://github.com/Qihoo360/phptrace

phptrace是一个低开销的用于跟踪、分析PHP运行情况的工具。它可以跟踪PHP在运行时的函数调用、请求信息、执行流程,并且提供有过滤器、统计信息、当前状态等实用功能。 在任何环境下,它都能很好的定位阻塞问题以及在高负载下Debug,尤其是线上生产环境。

ElasticHD:ElasticSearch可视化管理工具

https://github.com/360EntSecGroup-Skylar/ElasticHD

Elasticsearch 可视化DashBoard, 支持Es监控、实时搜索,Index template快捷替换修改,索引列表信息查看, SQL converts to DSL等。

开发工具

GoReporter:代码质量检测工具

https://github.com/360EntSecGroup-Skylar/goreporter

Golang 开发工具,提供代码质量检测/Golang 代码静态检测器/Golang 项目单元测试,根据自定义模版自动生成 Golang 代码质量检测报告。

Excelize:Go语言Excel文档操作库

https://github.com/360EntSecGroup-Skylar/excelize

这个项目是 Golang 编写的一个用来操作 Office Excel 文档的类库,基于 ECMA-376 Office OpenXML 标准。可以使用它来读取、写入带有复杂样式的 XLSX 文件。目前是开源项目中唯一支持读写带有图片(表)、透视表等复杂样式文档的类库。

转自 http://www.infoq.com/cn/news/2018/03/360-open-source-projects