小米上市!小米开源项目盘点

写在前面
7 月 9 日,小米在香港挂牌上市,股票代码 1810.hk。据了解,小米将香港 IPO 报价 16.60 港元,较发行价低 2.35%,首日就破发,净筹资 239.75 亿港元,总市值 3714 亿港元;共收到约 10.35 亿股认购申请,相当于超额认购约 9.5 倍。知情人士称,李嘉诚、马云、马化腾 3 人就认购小米份额超过 2.3 亿美元。小米早期投资人,回报达到 866 倍。

除了手机等核心业务之外,小米有哪些开源技术同样值得关注呢?InfoQ 特意搜集制作了这份小米开源项目列表,以飨读者。

MACE:移动端深度学习框架
MACE 是专门为移动设备优化的深度学习模型预测框架,从设计之初,便针对移动设备的特点进行了专门的优化:速度、功耗、系统响应、初始化延迟、内存占用、模型保护等均有提升。

MACE 支持 TensorFlow 和 Caffe 模型,提供转换工具,可以将训练好的模型转换成专有的模型数据文件,同时还可以选择将模型转换成 C++ 代码,支持生成动态库或者静态库,提高模型保密性。目前 MACE 已经在小米手机上的多个应用场景得到了应用,其中包括相机的人像模式,场景识别,图像超分辨率,离线翻译 (即将实现) 等。

地址:https://github.com/XiaoMi/mace

Pegasus:分布式 KV 存储系统
Pegasus 是小米云存储团队开发的一个分布式 Key-Value 存储系统,最初的动机是弥补 HBase 在可用性和性能上的不足。Pegasus 系统的 Server 端完全采用 C++ 语言开发,使用 PacificA 协议支持强一致性,使用 RocksDB 作为单机存储引擎。

Pegasus 具有高可用、高性能、强一致、高扩展、易使用的特性,经过两年多的开发,目前已支持了十几个业务。更多细节可阅读:小米开源分布式 KV 存储系统 Pegasus。

地址:https://github.com/XiaoMi/pegasus

Open-falcon:企业级监控系统解决方案
Open Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案。Open Falcon 是完全用 GO 语言编写的,主要特性如下:

数据采集免配置

容量水平扩展

告警策略自发现

告警设置人性化

历史数据高效查询

Dashboard 人性化

架构设计高可用

官网:http://open-falcon.org/

GitHub 地址:https://github.com/open-falcon

rDSN:分布式服务框架
rDSN 是一个快速构建鲁棒分布式系统的框架。它有一个可插拔组件的微内核,包括应用程序、分布式框架、devops 工具和本地运行时 / 资源提供程序,支持它们的独立开发和无缝集成。这个项目最初是为微软必应开发的,现在已经在微软内部和外部的生产中被采用。

GitHub 地址:https://github.com/XiaoMi/rdsn

Shepher:Zookeeper 管理工具
Shepher 是一款 ZooKeeper 的管理工具,小米用它作为配置管理中心。

Shepher 具有以下特性:

ZooKeeper 节点的可视化操作

ZooKeeper 节点的快照管理

ZooKeeper 节点修改的 Diff 和 Review 功能

ZooKeeper 节点操作邮件通知

集成 CAS 和 LDAP 登录

权限管理

GitHub 地址:https://github.com/XiaoMi/shepher

LInden:基于 Lucene 的实时搜索系统
Linden 是一个基于 Lucene 创建的实时搜索系统。它提供一个类似 SQL 查询语言接口,名为 BQL。BQL 简单而直接。Linden 提供一个非常简单的方式来调整搜索结果排名。你可以在你的查询中传递一段 java 评分代码甚至一个评分插件类名。Linden 也支持通过 linden 灵活查询从低指数水平自定义评分逻辑,你可以获得每一个查询词匹配的信息,所以你可以制作一个非常直观的评分逻辑。这对初学者来说是非常方便的。

GitHub 地址:https://github.com/XiaoMi/linden

Rose:Web 开发框架
Rose 是一个 Java 的 Web 开发框架。Rose 提供各种特性和约束惯例,从而使开发者能够轻松地开发 web 程序。Rose 整合技术,强调最佳实践,甚至包括名称规范。Rose 规范了对 Spring 的使用,同时允许开发者放置 applicationContext-xxx.xml 文件来扩展 Rose。

GitHub 地址:https://github.com/XiaoMi/rose

Chronos: 时间戳服务器
小米公司开发的实现高可用、高性能、提供全局唯一而且严格单调递增 timestamp 的服务。Chronos 采用主备架构,主服务器挂了以后备服务器迅速感知并接替服务,从而实现系统的高可用。服务端使用 Thrift 框 架,经测试每秒可处理约 60 万次 RPC 请求,客户端单线程每秒可请求 6 万次 (本地服务器),保证高性能与低延时。全局只有唯一的 ChronosServer 提供服务,分配的 timestamp 保证严格单调递增,并且将已分配的值持久化到 ZooKeeper 上,即使发生 failover 也能保证服务的正确性。

GitHub 地址:https://github.com/XiaoMi/chronos

Themis:HBase 跨行 / 跨表的事务处理
Themis 是小米公司开发的,为 HBase 提供了跨行 / 跨表的事务处理,基于 Google 的 percolator。

Themis 通过基于 HBase 的单行事务的两阶段提交和冲突解决来保证交叉行事务的 ACID 特性。Themis 依赖于 Chronos 来提供严格递增的全局时间戳,它定义事务的全局顺序,并使 Themis 能够在给定的时间戳之前读取数据库快照。Themis 采用 HBase 协处理器框架,无需改变 HBase 源代码即可应用。我们对它们的正确性进行了几个月的验证,并对算法进行了优化,以获得更好的性能。

GitHub 地址:https://github.com/XiaoMi/themis

Android_tv_metro:安卓版 TV Metro 框架和服务器 API
Android_tv_metro 是一款安卓版 TV Metro 框架和服务器 API,开发语言为 Java。

API 和数据结构

专辑和显示项目:Metro 风格是由两个元素构成

专辑可以包含多张专辑和显示项目

显示项目可以被定义为视频,游戏,应用程序,音乐等

您可以从显示项目中删除你自己的游戏 / 应用 / 视频详细条目

GitHub 地址:https://github.com/XiaoMi/android_tv_metro

Minos:分布式的发布和监控系统
Minos 是小米公司开发的一个分布式的发布和监控系统。最初是小米开发的用来在 Hadoop 和 ZooKeeper 集群上发布和管理的工具。Minos 可轻松扩展来支持其他的系统,目前已经支持包括 HDFS、YARN 和 Impala 。

GitHub 地址:https://github.com/XiaoMi/minos

写在最后
恭喜小米成功上市,希望小米能保持初心,在技术上也能做出更多感动人心的好开源项目来!

原创: 小智 [InfoQ](javascript:void(0);)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容

  • 查询引擎 一、Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apac...
    秋天的程序员阅读 1,030评论 0 4
  • ---------------------------------------------------------...
    零一间阅读 1,531评论 1 12
  • 入门指南 1. 简介 Quickstart会让你启动和运行一个单节点单机HBase。 2. 快速启动 – 单点HB...
    和心数据阅读 4,572评论 1 41
  • 仰天大笑出门去,我辈岂是蓬蒿人。 豪情万丈、斗志昂扬的诗仙李白无疑是唐诗的代表,也是盛唐气象和唐人...
    红西三水阅读 380评论 0 0
  • 很久以前,她便听外婆说,人的一生活的就是命,一切也都是命中注定。那时候她还小,她不明白什么是命,她也不相信有什么...
    芊芊_3945阅读 287评论 0 1