0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一位Java程序員轉(zhuǎn)型互聯(lián)網(wǎng)的經(jīng)歷

工程師人生 ? 來源:工程師吳畏 ? 2019-05-17 16:46 ? 次閱讀

08年畢業(yè)跑到上海,在經(jīng)濟(jì)危機(jī)最熱鬧的一年找到份勉強(qiáng)活下去的java研發(fā)工作,從此開始了漫長的通信行業(yè)軟件開發(fā)。幾年間身邊的同事跳槽到互聯(lián)網(wǎng)行業(yè),也有新鮮血液補(bǔ)充進(jìn)來,總體來說人員質(zhì)量是在不斷下降的。直到自己也決定轉(zhuǎn)型,中間也受過鄙視遇過挫折走過彎路,這里將自己的感受跟大家分享下,希望能對(duì)有相同想法的從業(yè)人員有所幫助。

在開始講干貨之前,先了解下互聯(lián)網(wǎng)?;ヂ?lián)網(wǎng)的生命線是客戶體驗(yàn),短時(shí)的砸錢可以迅速擴(kuò)展用戶量,但是如何保持客戶黏度才是真正的重點(diǎn)。互聯(lián)網(wǎng)的精神就一個(gè)字“快”!快包含兩層意義:第一層對(duì)于系統(tǒng)來說(性能快、終端響應(yīng)快、擴(kuò)展快),第二層對(duì)于開發(fā)人員(輕量級(jí)、上手快、開源)。只有夠快才可以提高客戶體驗(yàn),沒人愿意盯著手機(jī)屏幕等5秒鐘以上。至于如何為客戶提供更舒服的服務(wù)方向那屬于策劃部門考慮的問題,不屬于咱們程序員能左右的。

下面開始具體技術(shù)點(diǎn),一切都是圍繞著“快”。

第一, 熟練使用Linux系統(tǒng)。

Why is Linux?開源+安全+便捷。開源意味著成本的降低,今年風(fēng)靡一時(shí)的勒索軟件又給Linux打了一次安全廣告,docker的興起又鞏固了Ubuntu、centos等linux內(nèi)核的霸主地位??梢哉f不會(huì)命令行(桌面會(huì)占用硬件資源,失去了linux的部分優(yōu)勢(shì))操作Linux系統(tǒng)以后將會(huì)寸步難行。

第二, 關(guān)系型數(shù)據(jù)庫選擇MySql而不是Oracle

雖然NoSql的盛行使關(guān)系型數(shù)據(jù)庫市場(chǎng)越來越小,但是80%產(chǎn)品的核心數(shù)據(jù)還是需要關(guān)系型數(shù)據(jù)庫來維護(hù)的。這里推薦大家加強(qiáng)MySql的學(xué)習(xí),Oracle可以選擇性放棄,雖然兩者在使用上沒有太大的區(qū)別,但是Oracle實(shí)在是太貴了!我們?cè)?jīng)7位數(shù)采購過一個(gè)Oracle一體機(jī),硬件條件確實(shí)牛逼到飛起,但是互聯(lián)網(wǎng)中講究的是開源和擴(kuò)展,講究的是叼絲抱團(tuán)PK高富帥。

第三, 掌握NoSql技術(shù)。

需要大家了解NoSql的使用場(chǎng)景,解決的是非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)和查詢問題,這個(gè)是關(guān)系型數(shù)據(jù)庫做不到的。推薦學(xué)習(xí)HBase,倒不是因?yàn)镠Base比起其它NoSql產(chǎn)品多優(yōu)秀,而是在學(xué)習(xí)HBase的過程中可以pick up很多其他有用的知識(shí)。例如HBase存儲(chǔ)是依賴Hadoop的HDFS,可以了解下大數(shù)據(jù)是如何存儲(chǔ)的;協(xié)同服務(wù)使用的zookeeper,可以了解下zookeeper的4種文件特性以及自主選拔機(jī)制。

重點(diǎn)需要學(xué)習(xí)HBase中數(shù)據(jù)是如何存儲(chǔ)的,為什么rowkey查詢效率如此之快。

第四, 掌握一種緩存技術(shù)

JVM緩存無法解決的兩大難題:1緩存不夠大,2跨JVM無法共享。應(yīng)運(yùn)而生了各種緩存技術(shù),這里推薦Redis,因?yàn)镽edis已經(jīng)成為了主流,要用我們就用最流行的。Redis在大的方面有Nosql存儲(chǔ)和共享緩存兩種用法,其中共享緩存又分為系統(tǒng)緩存、登錄用戶緩存、ORMapping二級(jí)緩存等流行用法。

第五, 熟練掌握一種MQ

緩存技術(shù)只是解決了IO上的“快”,但是對(duì)邏輯運(yùn)算、業(yè)務(wù)處理等響應(yīng)速度沒有任何提高,何以解憂唯有MQ。MQ用于去瓶頸、非事務(wù)、最終一致性、Event Sourcing、收集器等場(chǎng)景。這里推薦kafka,原因跟redis一樣,流行,功能上基本能涵蓋所有MQ應(yīng)用場(chǎng)景。

第六, 精通一種微服務(wù)框架。

講到這里才有了點(diǎn)Java的影子,傳統(tǒng)軟件開發(fā)講究的是MVC、SSH、SSi這些古董,但是互聯(lián)網(wǎng)里講的是微服務(wù)。微服務(wù)架構(gòu)主流的有2種:Dubbo和Spring Cloud,我們產(chǎn)品經(jīng)歷過Dubbo這條彎路以后最終還是走向了Spring Cloud的懷抱。RestFul的調(diào)用機(jī)制速率從協(xié)議上來開雖然不如RPC,但是應(yīng)用場(chǎng)景廣泛、標(biāo)準(zhǔn)化、可讀性強(qiáng)等優(yōu)點(diǎn)完全掩蓋協(xié)議上的性能差距,再加之Spring Cloud不斷地有大牛添磚加瓦(我在初學(xué)Spring Cloud用的是Brixton,學(xué)完后已經(jīng)出來Dalston版本了),Spring Cloud變得越來越強(qiáng)大,再加上java程序員對(duì)Spring有一種特殊的情結(jié),所以Spring已經(jīng)成為了主旋律。

第七, 分布式事務(wù)機(jī)制

分布式事務(wù)到目前為止還是個(gè)世界通用難題,沒有一顆銀彈能完美的解決這個(gè)問題,而面試官卻偏偏每次面試都要問。解決的中心思想就倆字“取舍”,根據(jù)自己的業(yè)務(wù)場(chǎng)景決定放棄一些東西。方案有:二階段提交、串行調(diào)用、MQ+消費(fèi)、業(yè)務(wù)補(bǔ)救等,阿里等大公司也有自己的解決方案,但也都是貼合自己業(yè)務(wù)來設(shè)計(jì)的。

第八, 了解ELK原理。

E-elasticsearch,是基于Lucene的搜索引擎,它的出現(xiàn)是為了解決索引問題的,但是后來增加了Logstash和Kibana這倆左膀右臂,又組成了ELK這個(gè)日志收集分析套件,這貨正好解決了分布式系統(tǒng)任務(wù)跟蹤和問題定位難的問題,配合Spring cloud的Sleuth又成了性能預(yù)警的神器為服務(wù)治理提供了基礎(chǔ)數(shù)據(jù)。

第九, 云計(jì)算

產(chǎn)品的云化只是個(gè)概念,之所以了解云計(jì)算是為了能讓我們有個(gè)完整的知識(shí)體系。Iaas、Paas層在國內(nèi)已經(jīng)基本成熟,Saas我在國內(nèi)還沒有看到有成型的產(chǎn)品。有興趣的同學(xué)可以注冊(cè)學(xué)習(xí)下美帝的Salesforce,了解下世界上最先進(jìn)的CRM云產(chǎn)品是何等的牛X。國內(nèi)的電信、金融行業(yè)正在砸錢搭建自己的私有云,BAT等有能力的大公司在辦自己的公有云,私有云+公有云也有很廣闊的市場(chǎng)前景,我接觸過的很多企業(yè)都在做混合云的設(shè)計(jì)方案。

第十, 提高英語水平

越是前端的技術(shù)國內(nèi)用的人越少,綠壩里面的資料也就越少,所以為了學(xué)習(xí)或者解決問題經(jīng)常需要參閱國外網(wǎng)站的資料,混跡國外的技術(shù)論壇進(jìn)行交流,所以英語水平有時(shí)間還是要提高下,否則很影響新知識(shí)的吸收速度。

互聯(lián)網(wǎng)中用到的所有的技術(shù)基本都是默認(rèn)可用,滿足“上手快”的要求。大部分組件也都是水平擴(kuò)展的,為了滿足“性能快”的要求。例如Spring Cloud中啟動(dòng)參數(shù)基本都有默認(rèn)值,zookeeper、elasticsearch、logstash、kafka等組件目錄結(jié)構(gòu)都是bin里是啟動(dòng)程序,conf里是配置程序,解壓即可用,都有默認(rèn)值,通過配置做水平擴(kuò)展。

本文寫給跟我一樣正在轉(zhuǎn)型路上的java程序員們,基本涵蓋了各個(gè)方面,也給了我個(gè)人推薦的具體技術(shù)點(diǎn),希望大家少走彎路,把精力用到刀刃上。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2970

    瀏覽量

    104834
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    952

    瀏覽量

    29817
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    Linux驅(qū)動(dòng)程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動(dòng)程序程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動(dòng)<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會(huì)不會(huì)搶程序員飯碗

    AI編程工具可輔助編程,減少手動(dòng)編碼,提升效率,對(duì)程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識(shí)應(yīng)對(duì)。長遠(yuǎn)看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?186次閱讀

    轉(zhuǎn)型必看】Java到AI,程序員的逆襲秘籍,轉(zhuǎn)行人工智能不再是夢(mèng)!

    ?隨著技術(shù)的不斷進(jìn)步,人工智能(AI)已經(jīng)成為當(dāng)今科技領(lǐng)域最熱門的話題之。許多開發(fā)者開始考慮從傳統(tǒng)的軟件開發(fā)領(lǐng)域,如Java,轉(zhuǎn)向人工智能領(lǐng)域,今天小編和大家起來探討Java開發(fā)者
    的頭像 發(fā)表于 07-31 14:42 ?1167次閱讀
    【<b class='flag-5'>轉(zhuǎn)型</b>必看】<b class='flag-5'>Java</b>到AI,<b class='flag-5'>程序員</b>的逆襲秘籍,轉(zhuǎn)行人工智能不再是夢(mèng)!

    esp8266已連接到Wifi但無法連接到互聯(lián)網(wǎng),為什么?

    首先,我想說對(duì)不起,如果我的帖子在錯(cuò)誤的線程中。在那之后,我想問個(gè)問題,我的 esp12E 已連接到 Wifi,但它無法連接到互聯(lián)網(wǎng),即使 wifi 連接到互聯(lián)網(wǎng)和其他設(shè)備,它仍然完美地使用
    發(fā)表于 07-09 07:11

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是場(chǎng)視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請(qǐng)每一位
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是場(chǎng)視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請(qǐng)每一位
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    工業(yè)互聯(lián)網(wǎng)平臺(tái)中什么是關(guān)鍵

    工業(yè)互聯(lián)網(wǎng)平臺(tái)是工業(yè)領(lǐng)域數(shù)字化轉(zhuǎn)型的重要支撐,其關(guān)鍵要素包括以下幾個(gè)方面: 網(wǎng)絡(luò)基礎(chǔ)設(shè)施 網(wǎng)絡(luò)基礎(chǔ)設(shè)施是工業(yè)互聯(lián)網(wǎng)平臺(tái)的基礎(chǔ),包括有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、物聯(lián)網(wǎng)等。工業(yè)
    的頭像 發(fā)表于 07-02 09:37 ?810次閱讀

    什么是衛(wèi)星互聯(lián)網(wǎng)?衛(wèi)星互聯(lián)網(wǎng)的組成

    衛(wèi)星互聯(lián)網(wǎng)是指基于衛(wèi)星通信技術(shù)接入互聯(lián)網(wǎng),其業(yè)務(wù)可覆蓋全球。通過定數(shù)量衛(wèi)星的規(guī)模組網(wǎng),構(gòu)建具備實(shí)時(shí)信息傳輸能力的星座系統(tǒng),衛(wèi)星互聯(lián)網(wǎng)可向終端用戶提供以寬帶
    發(fā)表于 04-17 10:01 ?1098次閱讀
    什么是衛(wèi)星<b class='flag-5'>互聯(lián)網(wǎng)</b>?衛(wèi)星<b class='flag-5'>互聯(lián)網(wǎng)</b>的組成

    尋找一位編程

    尋找一位編程。請(qǐng)法郵件 j_helmut@163.com
    發(fā)表于 04-02 13:34

    適者生存,程序員最終會(huì)流向哪……

    程序員沒有永遠(yuǎn)的護(hù)城河??!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?419次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會(huì)流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    花期太短。技術(shù)迭代快,年齡大容易失業(yè)。 就這幾年的互聯(lián)網(wǎng)環(huán)境而言,不管是前端、Java、Android開發(fā)等等行業(yè)。已經(jīng)感受到程序員不是太卷就是工作難找,薪資過低。以前高工現(xiàn)在拿著中低程序員
    發(fā)表于 03-06 21:32

    感覺我國的程序員前景片灰暗,是這樣嗎?

    程序員也分為好幾等,在現(xiàn)在看來大部分的Android、Java、前端等等開發(fā)。已經(jīng)看不到希望了,很多人都在邊緣掙扎;剛看到一位Android開發(fā)者,過完年回公司就通知被裁;可見每年都會(huì)有很多
    發(fā)表于 02-20 20:52

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?836次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝

    1月18號(hào)“純鴻蒙”千帆啟航,程序員預(yù)備!

    Android”、與互聯(lián)網(wǎng)大廠合作已達(dá)400+家、原生開發(fā)薪資崗位來看。鴻蒙對(duì)程序員來說無疑是條非常好的道路。 鴻蒙對(duì)程序員的影響 鴻蒙的出現(xiàn),首先直接影響的是
    發(fā)表于 01-16 22:13