網(wǎng)站開發(fā) 現(xiàn)在開發(fā)JAVA后臺,主要用哪些技術(shù)?
現(xiàn)在開發(fā)JAVA后臺,主要用哪些技術(shù)?你的系統(tǒng)有多大,你的技術(shù)有多強大!從我們公司的角度來看,使用java開發(fā)后臺服務(wù)使用了以下幾點!2. 數(shù)據(jù)庫映射框架:mybatis!3. 數(shù)據(jù)庫連接池:Drui
現(xiàn)在開發(fā)JAVA后臺,主要用哪些技術(shù)?
你的系統(tǒng)有多大,你的技術(shù)有多強大
!從我們公司的角度來看,使用java開發(fā)后臺服務(wù)使用了以下幾點
!2. 數(shù)據(jù)庫映射框架:mybatis
!3. 數(shù)據(jù)庫連接池:Druid
!4. 原木框架:slf4j
!5. 項目建設(shè)工具:Maven
!6. 版本控制工具:SVN和git
!7. 緩存:redis
!9. 工作流引擎:activiti
!10. 規(guī)則引擎:口水
!11. 微型服務(wù)容器:docker
!12、圖片、文件等上傳工具OSS
!14,原型視圖工具:Axure RP
!15. 后臺服務(wù)模擬訪問:郵遞員
!16,腳本:shell或Python
!17,語言:java8
為什么很多看起來不復(fù)雜的網(wǎng)站,卻需要頂尖的程序員來開發(fā)?
有些網(wǎng)站看起來很簡單,它們還實現(xiàn)了基本的登錄、注冊、查詢等操作。實際上,函數(shù)非常簡單。即使是初學(xué)者學(xué)習(xí)編程也能做到。
當然,這是要完成的基本功能。底層程序員考慮的是功能的實現(xiàn),而基于功能的互聯(lián)網(wǎng)站則要求更高的安全性和并發(fā)性。總之,功能非常簡單,但要實現(xiàn)高并發(fā)性并不容易。同時,網(wǎng)站運營過程中會出現(xiàn)很多漏洞,等待修復(fù)。
初級程序員覺得所有的網(wǎng)站在一開始就取得了很多成就之后都太簡單了。你可以自己做。實際上,您只能處理函數(shù)。千萬人不可能同時參觀。感謝上帝,你可以保證成千上萬的人。
所以此時的狀態(tài)仍然保持在功能級別。但是互聯(lián)網(wǎng)項目需要高并發(fā)性。
對于大型互聯(lián)網(wǎng)項目,除了開發(fā)功能需求,更重要的是優(yōu)化。例如,構(gòu)建云服務(wù)器集群、更改bug、優(yōu)化流程等等。因此,互聯(lián)網(wǎng)項目似乎仍然需要頂尖程序員的開發(fā)。因為他們知道的更多。
我認為作為一個程序員,我們應(yīng)該一直遵循學(xué)習(xí)的狀態(tài)。繼續(xù)學(xué)習(xí)。來吧。
有多少互聯(lián)網(wǎng)系統(tǒng)確實需要使用分布式架構(gòu)?
更不用說互聯(lián)網(wǎng)的實際發(fā)展了,現(xiàn)在即使是面試新生,分布式的問題基本上都是不可避免的。
目前,分布式體系結(jié)構(gòu)具有高并發(fā)性和高穩(wěn)定性的特點。
高并發(fā)意味著當單節(jié)點服務(wù)器的性能達到瓶頸時,可以通過引入nginx和部署多個服務(wù)器節(jié)點來擴展,以增加系統(tǒng)的吞吐量。這就是1*n=n的意思。
高穩(wěn)定性意味著,如果單個或部分節(jié)點由于不可預(yù)知的原因發(fā)生故障,則不會影響系統(tǒng)的整體功能服務(wù),即M-N>0(M>N)。對于用戶來說,系統(tǒng)可用性始終是最重要的。
綜上所述,根據(jù)我個人的經(jīng)驗,目前無論是市場級產(chǎn)品還是公司級產(chǎn)品,只要項目團隊有對服務(wù)質(zhì)量的追求,他們都會以不同的方式向分布式架構(gòu)發(fā)展。
另外,對于一個功能不是很復(fù)雜和龐大的項目組來說,只要在開發(fā)設(shè)計階段一開始就及時引入Memcache或redis作為數(shù)據(jù)緩存,而不是使用服務(wù)器的內(nèi)存,后期切換到分布式系統(tǒng)的過程就會非???。
以上是我個人的觀點。歡迎在下面的評論區(qū)與我交流。
我是蘇思亮,來自bat的java開發(fā)工程師。我每天分享科技知識。歡迎您關(guān)注我,與我共同進步。