盘点大厂的那些开源项目 - 小米科技
小米是一家以手機、智能硬件和IoT平臺為核心的互聯網公司,以智能手機、智能電視、筆記本等豐富的產品與服務。致力于讓全球每個人都能享受科技帶來的美好生活。
“為發燒而生”是小米的產品概念。“讓每個人都能享受科技的樂趣”是小米公司的愿景。小米公司應用了互聯網開發模式開發產品的模式,用極客精神做產品,用互聯網模式干掉中間環節,致力讓全球每個人,都能享用來自中國的優質科技產品。
Github主頁: https://github.com/xiaomi
HuUI
分類:前端組件庫
開發語言:JavaScript
HIUI是一個面向中后臺系統的前端組件庫,可以幫助開發人員快速實現交互一致,界面美觀的界面。
特征
?高度降低用戶對交互成本和交互可預測性的了解?建立出色的虛擬風格,并獲得典型場景的虛擬設計和界面規范?在OA,倉儲和售后系統,BI系統以及公司中間站項目中具有高度完善的設計經驗
Stars:?351?Github:?https://github.com/XiaoMi/hiui[1]
MACE
分類:神經網絡計算框架
開發語言:C++,Python
Mobile AI Compute Engine (MACE) 是一個專為移動端異構計算設備優化的深度學習前向預測框架。MACE覆蓋了常見的移動端計算設備(CPU、GPU、Hexagon DSP、Hexagon HTA、MTK APU),并且提供了完整的工具鏈和文檔,用戶借助MACE能夠 很方便地在移動端部署深度學習模型。MACE已經在小米內部廣泛使用并且被充分驗證具有業界領先的性能和穩定性。
Stars:?4.3k?Github:?https://github.com/XiaoMi/mace[2]
SOAR
分類:SQL自動化工具 開發語言:GO
SOAR(SQL Optimizer And Rewriter) 是一個對 SQL 進行優化和改寫的自動化工具。由小米人工智能與云平臺的數據庫團隊開發與維護。
功能特點
?跨平臺支持(支持 Linux, Mac 環境,Windows 環境理論上也支持,不過未全面測試)?目前只支持 MySQL 語法族協議的 SQL 優化?支持基于啟發式算法的語句優化?支持復雜查詢的多列索引優化(UPDATE, INSERT, DELETE, SELECT)?支持 EXPLAIN 信息豐富解讀?支持 SQL 指紋、壓縮和美化?支持同一張表多條 ALTER 請求合并?支持自定義規則的 SQL 改寫
Stars:?6.9k?Github:?https://github.com/XiaoMi/soar[3]
Gaea
分類:數據庫中間件 開發語言:GO
Gaea是小米中國區電商研發部研發的基于mysql協議的數據庫中間件,目前在小米商城大陸和海外得到廣泛使用,包括訂單、社區、活動等多個業務。Gaea支持分庫分表、sql路由、讀寫分離等基本特性,更多詳細功能可以參照下面的功能列表。其中分庫分表方案兼容了mycat和kingshard兩個項目的路由方式。Gaea在設計、實現階段參照了mycat、kingshard和vitess,并使用tidb parser作為內置的sql parser。
基礎功能
?多集群?多租戶?SQL透明轉發?慢SQL指紋?錯誤SQL指紋?注解路由?慢日志?讀寫分離,從庫負載均衡?自定義SQL攔截與過濾?連接池?配置熱加載?IP/IP段白名單?全局序列號?分庫、分表功能*?分庫: 支持mycat分庫方式?分表: 支持kingshard分表方式?聚合函數: 支持max、min、sum、count、group by、order by等?join: 支持分片表和全局表的join、支持多個分片表但是路由規則相同的join
Stars:?1.8k?Github:?https://github.com/XiaoMi/Gaea[4]
MiNLP
分類:自然語言處理工具 開發語言:Python
小米自然語言處理平臺(MiNLP)具備詞法、句法、語義分析等數十個功能模塊,已經在公司業務中得到了廣泛應用。
MiNLP-Tokenizer中文分詞工具經過不斷優化和實戰打磨,已于2020年11月正式對外開源。
Stars:?634?Github:?https://github.com/XiaoMi/MiNLP[5]
Chronos
分類:時間處理工具 開發語言:Java
Chronos,在古希臘語意為時間,是實現高可用、高性能、提供全局唯一而且嚴格單調遞增timestamp的服務。
Chronos采用主備架構,主服務器掛了以后備服務器迅速感知并接替服務,從而實現系統的高可用。服務端使用Thrift框架,經測試每秒可處理約60萬次RPC請求,客戶端單線程每秒可請求6萬次(本地服務器),保證高性能與低延時。全局只有唯一的ChronosServer提供服務,分配的timestamp保證嚴格單調遞增,并且將已分配的值持久化到ZooKeeper上,即使發生failover也能保證服務的正確性。
Stars:?380?Github:?https://github.com/XiaoMi/chronos[6]
Naftis
分類:Istio 面板 開發語言:GO
Naftis 是一個基于 web 的 Istio dashboard,通過任務模板的方式來幫助用戶更方便地執行 Istio 任務。用戶可以在 Naftis 中定義自己的任務模板,并填充變量來構造單個或多個構造任務實例,從而完成各種服務治理功能。
功能特性
?內部集成了一些常用 dashboard?可定制的任務模板支持?支持回滾指定任務?支持指定根服務節點的服務拓撲圖?提供查看 Istio 的 Services 和 Pod 的支持?開箱即用,通過 Kubectl 相關指令即可快速部署?支持 Istio 1.0
Stars:?1.8k?Github:?https://github.com/XiaoMi/naftis[7]
最后
歡迎掃碼關注我們的公眾號 【全球技術精選】,專注國外優秀博客的翻譯和開源項目分享,也可以添加QQ群 897216102
總結
以上是生活随笔為你收集整理的盘点大厂的那些开源项目 - 小米科技的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在 ASP.Net Core 使用
- 下一篇: 聊聊如何构建一支自驱团队(二)