前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >港股上市!小米开源项目盘点

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

作者头像
纯洁的微笑
发布2018-07-20 10:32:11
6580
发布2018-07-20 10:32:11
举报
文章被收录于专栏:纯洁的微笑纯洁的微笑

作者|小智

写在前面

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

写在最后

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

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 纯洁的微笑 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MACE:移动端深度学习框架
  • Pegasus:分布式 KV 存储系统
  • Open-falcon:企业级监控系统解决方案
  • rDSN:分布式服务框架
  • LInden:基于 Lucene 的实时搜索系统
  • Rose:Web 开发框架
  • Chronos: 时间戳服务器
  • Themis:HBase 跨行 / 跨表的事务处理
  • Android_tv_metro:安卓版 TV Metro 框架和服务器 API
  • API 和数据结构
  • Minos:分布式的发布和监控系统
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档