看新闻很累? 看技术新闻更累? 试试 下载 InfoQ 手机客户端 , 每天上下班路上听新闻, 有趣还有料!
自从 360 于 2016 年在美股退市以来, 大家就一直猜测它何时会在国内上市, 期间还发生了诸如借壳上市等话题, 如今这只悬在空中的靴子终于落地了
对于很多人来说, 360 最为人所知的是它在网络安全方面的建树, 不时国外得个奖, 近年来席卷互联网的安全事件也都能及时给出警告和解决方案, 受到广大网友信赖
不过, 除了安全, 其实 360 还有很多开源技术值得称道, 下面就让我们来盘点一下
云计算
jepsen: 分布式系统验证框架
https://github.com/jepsen-io/jepsen
Jepsen 是开源社区比较公认的分布式数据库的测试框架 Jepsen 验证过程包括 VoltDBCockroachDBGaleraMongoDBetcd 在内的几乎所有的主流分布式数据库 / 系统
huststore: 高性能分布式存储服务
https://github.com/Qihoo360/huststore
huststore 是一个高性能的分布式存储服务, 不但提供了 100 thousand QPS 级别的 kv 存储的功能, 还提供了 hashsetsort set 等一系列数据结构的支持, 并且支持二进制的 kv 存储, 可以替代 Redis 相关的功能
Poseidon: 日志搜索引擎
https://github.com/Qihoo360/poseidon
Poseidon 系统是一个日志搜索平台, 能在数百万亿条规模的数据集中找出我们需要的数据, 只需要花费几秒钟时间, 大大提高工作效率; 同时, 数据不需要额外存储, 节省了大量存储和计算资源该系统可以应用于任何海量 (从万亿到千万亿规模) 的查询检索需求
人工智能
XLearning: 深度学习调度平台
https://github.com/Qihoo360/XLearning
XLearning 由 360 系统部大数据团队与人工智能研究院联合开发, 基于 Hadoop Yarn 完成了对 TensorFlowMXNetCaffeTheanoPyTorchkerasXGBoost 等常用深度学习框架的集成平台上线运行近一年时间, 经多次版本迭代更新, 为各学习框架的使用者提供了统一稳定的作业提交平台, 实现了资源共享, 极大的提高了资源利用率, 并且具有良好的扩展性和兼容性, 在公司搜索人工智能研究院商业化数据中心等业务部门得到广泛使用
数据库
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 的内存大小超过 50G80G 等等这样的情况, 会遇到启动恢复时间长, 一主多从代价大, 硬件成本贵, 缓冲区容易写满等问题 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 播放器, 它支持 mp4m3u8flv 等多种格式通过插件式开发, 能满足业务方快速迭代灰度发布等要求让开发者能够轻松快捷地完成视频场景的开发
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.tuicool.com/articles/f2YNba6