知乎app怎么離線緩存 知乎APP的技術(shù)架構(gòu)是什么樣的?
知乎APP的技術(shù)架構(gòu)是什么樣的?知乎截止2019年1月,用戶數(shù)2億、話題38萬、問題2800萬、回答我數(shù)1.3億。今天我們通過知乎在線部分的技術(shù)架構(gòu)分享分享,來去聊聊互聯(lián)網(wǎng)平臺技術(shù)架構(gòu)都確定了哪些層面
知乎APP的技術(shù)架構(gòu)是什么樣的?
知乎截止2019年1月,用戶數(shù)2億、話題38萬、問題2800萬、回答我數(shù)1.3億。今天我們通過知乎在線部分的技術(shù)架構(gòu)分享分享,來去聊聊互聯(lián)網(wǎng)平臺技術(shù)架構(gòu)都確定了哪些層面~
1、微服務(wù)架構(gòu),知乎從11年就結(jié)束了微服務(wù)的探索,接觸過protocolbuffers、Avro、Thrift,最終在16年確認(rèn)可以使用Thrift,而使用Consul和HAProxy作為注冊中心和負(fù)載均衡。是在14年再確認(rèn)的這套微服務(wù)架構(gòu),另外很穩(wěn)定在用到了現(xiàn)在。所以我大家別問我想知道為什么不可以使用gRPC了。
2、云平臺,知乎有自己的內(nèi)部研發(fā)的ZAE,絕大部分的大俠幫幫忙業(yè)務(wù)容器在15年就早就完全跑在了Docker里,現(xiàn)在我們HBase和Kafka也是跑在容器里的。我們最開始可以使用的是Mesos做的資源調(diào)度,現(xiàn)在已經(jīng)切換到了Kubernetes。
3、防御部署平臺,知乎的部署平臺是與ZAE在一起的,設(shè)計和實現(xiàn)Jenkins重新搭建的自動出現(xiàn)獨立顯卡,在MR(Gitlab)階段自動啟動建議使用SonarQube進行靜態(tài)代碼檢查。重新部署分為測試環(huán)境,辦公室環(huán)境,金絲雀1(灰度單個容器),金絲雀2(灰度20%流量),生產(chǎn)環(huán)境(100%流量上游戲)。如果不是金絲雀階段出現(xiàn)錯誤,會不自動并且回滾操作。
4、監(jiān)控,我們主要注意基于組件Grafana、OpenTracing、Graphite等壘建了監(jiān)控系統(tǒng)。另外自研了Halo這個可以方便啊的是業(yè)務(wù)方觀測到服務(wù)之間的依賴關(guān)系、更快的響應(yīng)時間(P95,P99,P999)、出錯數(shù)。而也進行了新技術(shù)的嘗試,目前在業(yè)務(wù)容器監(jiān)控使用了Prometheus。
5、存儲,通常是MySQL、Redis、HBase;正準(zhǔn)備調(diào)研后TiDB,目前有一套生產(chǎn)集群上游戲打算給「已讀」服務(wù)建議使用。
6、消息隊列,早期在用自研的Sink,目前使用Kafka,同樣的提供在Kafka的基礎(chǔ)上包裝了Beanstalkd另外任務(wù)隊列方便啊業(yè)務(wù)并且在用。
7、編程語言,Python、Golang、Java、Rust。目前Python使用場景漸漸地變少。Java在一些算法項目和商業(yè)系統(tǒng)中有建議使用。搜索系統(tǒng)建議使用的Rust寫回Lucene,現(xiàn)并在此寫回了類ES的集群化搜索引擎。
有什么好用的,清理軟件?
WIN10最方便的清理工具是系統(tǒng)自帶的各種管家、助手等等等等都用各種各樣的搗鼓你裝,總之已經(jīng)沒有必要,不過有風(fēng)險。我的體會是,徹底沒必要安裝好第三方清理軟件,最放心的清理工具是WIN10系統(tǒng)隨機軟件的。再說注冊表,永遠千萬不能定期清理,需要清理軟件如果說沒用啊的可能沒有用,但注冊表清理并又不能增加性能和速度。我曾經(jīng)的很短段時間用著名的ccleaner做清理,直到有一天用它清理過之后才發(fā)現(xiàn)有些軟件又不能用。相對來說,火絨附帶的需要清理是比較好放心的,最起碼它不可能誤刪東西。