聊聊公司的技術棧


公司的技術棧

    公司經歷了1年的發展,慢慢也使用了很多技術服務。感覺創個業把上海學到的全部知識都搬出來了。我們主要技術棧如下

技術團隊組成

    公司技術團隊主要由前端 + 后端組成。運維崗 和 App研發崗 都算在后端或者前端里面去了。目前招聘的大部分后端是寫PHP的,但是如果會Python 或者Go 會加分。這里不討論語言的哪些破事。組建團隊要根據當地的人才組成和自己公司的實力出發。例如我個人強項是PHP和Python,Java雖然會但是基本都忘記的差不多了,那我就會以我擅長的招聘,總不能來了全是Go,我自己都不知道如何去評價代碼質量了。

網絡

    就像我其他文章里面說的,我懂個錘子的網絡。都是被逼出來的,公司搬遷到新的辦公室。那么大的辦公室網絡總得搞起來,不說多么正規,最起碼要保證上網速度了。那就提前了解下,慢慢知道這些網絡設備是干什么的的了。為了省錢,我們所有的網絡設備都是二手的,有的通過朋友低價援助的。公司大致區域圖如下



機櫃放在A區空調房里面,放了三個交換機(2個48口,一個24口)和一個路由器,三個個人電信光貓。如下圖 。可能有人會問為什么為撒三個電信光貓? 沒撒就是窮


前端

    我們的App使用React Native ,這個是我們深思熟慮之后的解決。首先招聘兩個純App開發人員我們養不起並且意義不大,這樣我們就只能轉求於其他方案。國內有很多類似uni app等比較成熟的方案,但是有一次看到uniapp 打包出來的小程序代碼之后我就放棄了,人完全沒辦法看。后面和以前上海的一個原生開發聊 他目前使用flutter ,但是他推薦了React Native 和 Flutter ,我自己用了下Flutter 之后發現不行這個太復雜,需要的時間成本相對更大。試了下 React Native發現這個只要前端就可以搞定了(前提是目前也有很多第三方擴展包,非常方便)。后來知乎了下發現國內的CRN(攜程RN)和MRN(美團RN)都是基於RN基礎之上修改的。所以就決定RN了。在后來的使用中也發現基本也滿足我們的需求並且成本低很多

大數據

    業務催生技術發展這計划真是真理,很多技術的發明不是平白無故想出來的,都是具體業務需求倒逼出來的,當然不乏天才在業務到一定階段預測到需要有新的解決方案的。

    最開始我們處理幾百萬的數據不用大數據工具也是可以解決的,突然某個業務數據一下子進入到上億的級別。發現目前的東西就不好使了。幸好我在安居客那段時間公司就有大數據這種業務了,對這些工具不算陌生。硬着頭皮搞。基於我們主要是搜索更快當然選擇了ElasticSearch。為了同步日志到ES,我們用FileBeat 同步到 Redis ,然后 LogStash 從 Redis里面取出來同步到ES(具體為什么不直接從FileBeat 到 ES 后面有專門文章介紹)。

服務

Squid

    這個是解決內網代理上網問題,詳情請查看:局域網內網機器上網實操

Varnish

    這個是年前才上的,為了解決nginx響應問題。由於我們有個業務請求量非常大,所以想到了加入內存緩存代理服務,通過Varnish緩存靜態文件給予請求更快的響應,這樣就可以承受更大的請求量。雖然這樣做有一定的效果,但是像這種大訪問量業務是多個方面影響的,例如帶寬等等等等。所以需要綜合考慮。

Selenium集群

    我們有一個業務要頻繁的訪問網頁,簡單的curl只能作為一個參考,畢竟有些頁面JS會做很多事情,所以就需要無頭瀏覽器了。那我們每個服務器單獨部署肯定不好管理,就想到詠鵝Selenium集群。

參考文章


原文地址: 聊聊公司的技術棧
標簽: 交流    經驗   

智能推薦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM