<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何成為中間件開(kāi)發(fā)人員?

          共 3115字,需瀏覽 7分鐘

           ·

          2020-10-24 00:26

          來(lái)源:jianshu.com/p/ed7a263a436c

          • 前言

          • 什么是中間件開(kāi)發(fā)?

          • 中間件開(kāi)發(fā)人員需要哪些素質(zhì)?

          • 如何成為中間件開(kāi)發(fā)人員?

          • 結(jié)語(yǔ)


          基友「莫那魯?shù)馈梗ū疚淖髡撸?,目前正在開(kāi)發(fā)使用 Java 語(yǔ)言,開(kāi)發(fā)基于 Raft 算法的 KV 分布式存儲(chǔ)。

          地址是:https://github.com/stateIs0/lu-raft-kv

          最重要的是,他就是想湊點(diǎn) STAR ,哈哈哈哈哈哈哈。

          前言

          本文主要是寫(xiě)給那些想從事中間件開(kāi)發(fā)的同學(xué)看的 :)

          如果你沒(méi)有這個(gè)打算,那么本文的學(xué)習(xí)路線非但不實(shí)用,還可能會(huì)影響你正常的工作 :)

          什么是中間件開(kāi)發(fā)?

          隨著國(guó)內(nèi)軟件行業(yè)的發(fā)展,國(guó)內(nèi)互聯(lián)網(wǎng)公司規(guī)模越來(lái)越大,業(yè)務(wù)越來(lái)越復(fù)雜,隨之使用大量的中間件來(lái)提高后臺(tái)服務(wù)性能。由此產(chǎn)生了中間件開(kāi)發(fā)和維護(hù)人員。

          誠(chéng)然,在小公司,中間件,例如緩存,MQ,RPC 等服務(wù),極大可能是由業(yè)務(wù)開(kāi)發(fā)人員自己維護(hù),或者委托第三方云平臺(tái)運(yùn)維(支付一些費(fèi)用)。但,如果后臺(tái)開(kāi)發(fā)超過(guò) 200 人,基本就會(huì)組建自己的中間件或者基礎(chǔ)架構(gòu)團(tuán)隊(duì),用于維護(hù)后臺(tái)服務(wù)器基礎(chǔ)架構(gòu)和中間件。

          更大規(guī)模的公司,則由于各種各樣的原因(性能,KPI),會(huì)自己開(kāi)發(fā)中間件,簡(jiǎn)稱自研。這要求中間件團(tuán)隊(duì)需要更多的人員。

          中間件開(kāi)發(fā)人員需要哪些素質(zhì)?

          既然需要中間件開(kāi)發(fā)人員,那么中間件開(kāi)發(fā)人員一般從哪里招聘呢?招聘的要求是什么?

          通常,一個(gè)公司在剛開(kāi)始組建中間件團(tuán)隊(duì)的時(shí)候,都會(huì)從公司內(nèi)部挑選精英人才,或者挑選對(duì)中間件感興趣的人才。這時(shí)候,可能你沒(méi)有相關(guān)經(jīng)驗(yàn),但你仍然有機(jī)會(huì)參與到中間件開(kāi)發(fā)中。反之,如果你沒(méi)有中間件開(kāi)發(fā)經(jīng)驗(yàn),想通過(guò)招聘的方式進(jìn)入中間件行業(yè),那么相對(duì)而言,會(huì)有些曲折。

          那么,假設(shè),你想從事中間件開(kāi)發(fā),但,你沒(méi)有中間件開(kāi)發(fā)經(jīng)驗(yàn),且,你的公司也沒(méi)有組建中間件團(tuán)隊(duì)的打算。

          該怎么突破?

          答:跳槽。跳槽到別的公司的中間件團(tuán)隊(duì)。

          這里就涉及到了一個(gè)中間件團(tuán)隊(duì)需要哪些技能。因?yàn)樘劭隙ň鸵嬖?,如果你面試的是中間件崗位,那么自然,就需要準(zhǔn)備中間件的相關(guān)知識(shí)。

          另外,還有一點(diǎn),在這個(gè)分工明確的時(shí)代,即使是中間件,也有很多種類,我這里稍微分一下,可能不是很準(zhǔn)確。

          1. 服務(wù)治理中間件,例如 RPC 相關(guān)中間件,限流熔斷,鏈路追蹤,分布式配置中心等等。你可以從 SpringCloud 里找到相關(guān)的產(chǎn)品。當(dāng)然國(guó)內(nèi)也有很多優(yōu)秀的產(chǎn)品。

          2. 存儲(chǔ)中間件,例如緩存,MQ等等,如果存儲(chǔ)涉及到分布式(通常都會(huì)涉及),那么要求相對(duì)較高。

          3. 各種 Proxy,不論是數(shù)據(jù)庫(kù),還是 Cache,還是各種存儲(chǔ),通常單機(jī)無(wú)法承載海量數(shù)據(jù),比較簡(jiǎn)單的辦法就是使用 Proxy 進(jìn)行代理,讓?xiě)?yīng)用透明的使用集群。出于性能考慮,這里通常會(huì)使用性能較高的產(chǎn)品,例如 goLang,C++ 等。Java 的長(zhǎng)處——開(kāi)發(fā)效率,在這個(gè)地方權(quán)重不大。

          4. 各種分布式中間件,例如 ZK 這種,這個(gè)我個(gè)人認(rèn)為難度是較大的。分布式向來(lái)是軟件開(kāi)發(fā)中比較困難的一個(gè)點(diǎn)。特別是涉及到存儲(chǔ)和一致性。

          5. 容器相關(guān),k8s,docker等,容器化已經(jīng)是大勢(shì)所趨,其實(shí)我也不是很懂?(聽(tīng)大佬們說(shuō)的)。

          回到之前的話題: 一個(gè)中間件開(kāi)發(fā)者需要哪些素質(zhì)?

          1. 語(yǔ)言基礎(chǔ)。從 Java 程序員的角度,基礎(chǔ)通常就是:集合,并發(fā),JVM,Netty,IO、NIO(mmap,sendfile)

          2. 計(jì)算機(jī)基礎(chǔ),由于中間件開(kāi)發(fā)人員經(jīng)常和 OS 打交道,所以計(jì)算機(jī)基礎(chǔ)也必不可少,例如文件系統(tǒng)(IO/磁盤),進(jìn)程線程,內(nèi)存管理。

          3. 網(wǎng)絡(luò)基礎(chǔ),搞后臺(tái)的人員,肯定要對(duì)網(wǎng)絡(luò)熟悉了,熟悉在 Linux 下排查網(wǎng)絡(luò)問(wèn)題,熟悉 Epoll 原理等。

          4. 分布式相關(guān)知識(shí),互聯(lián)網(wǎng)海量數(shù)據(jù)背景下,分布式知識(shí)必不可少,CAP, Paxos,Raft,zab,2pc,3pc,base等等。最好能根據(jù)這些理論寫(xiě)出實(shí)現(xiàn)代碼。

          5. 熟悉開(kāi)源實(shí)現(xiàn),即使你是業(yè)務(wù)開(kāi)發(fā)人員,你也 100% 會(huì)接觸開(kāi)源項(xiàng)目,例如 Spring,那么,通常你需要對(duì)這種常用的開(kāi)源代碼有深刻的理解,不僅知曉其原理,也領(lǐng)會(huì)其設(shè)計(jì)。從大的角度看,你得看清整個(gè)框架的背景,設(shè)計(jì)和取舍,從小的角度看,你得看清框架的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),有哪些有趣的地方(通常這種框架都會(huì)進(jìn)行性能優(yōu)化)。

          6. 了解行業(yè)風(fēng)向標(biāo),中間件行業(yè)和業(yè)務(wù)開(kāi)發(fā)稍有不同,每個(gè)中間件的版本升級(jí)都會(huì)讓該領(lǐng)域的開(kāi)發(fā)者們側(cè)目(類似 iPhone 發(fā)布會(huì)),了解其特性,進(jìn)而了解行業(yè)趨勢(shì),最后成為行業(yè)引領(lǐng)。

          如何成為中間件開(kāi)發(fā)人員?

          好,說(shuō)完了中間件開(kāi)發(fā)人員需要哪些素質(zhì),自然,如何成為中間件開(kāi)發(fā)人員,就不言自明了。

          說(shuō)白了,以上 6 個(gè)點(diǎn),都是硬骨頭。

          • 對(duì)于已經(jīng)開(kāi)始工作的人來(lái)說(shuō),需要平時(shí)深刻的積累,說(shuō)的難聽(tīng)一點(diǎn),如果你的業(yè)務(wù)開(kāi)發(fā)任務(wù)很重,你很難搞定上門的這些內(nèi)容。

          • 對(duì)于還在上學(xué)的同學(xué)來(lái)說(shuō),很爽,你可以用學(xué)校(不僅僅指大學(xué),據(jù)我所知的大神,通常是初中/小學(xué)就開(kāi)始編程,但這不是必須的)里大把的時(shí)間來(lái)學(xué)習(xí),一個(gè)個(gè)的搞定這些知識(shí)點(diǎn),和社招不同,如果你的知識(shí)達(dá)到上面的水平,那么 SP offer 應(yīng)該是隨便拿了 :)

          我這里重點(diǎn)和那些平時(shí)開(kāi)發(fā)任務(wù)不重,想搞中間件的同學(xué)聊聊。

          我假設(shè)你是一個(gè)工作 3 年以內(nèi)的 Java 開(kāi)發(fā)人員,且你可能是培訓(xùn)生,半路出家,科班生,大專生,初中生,且你不在大廠,通常在一個(gè)后臺(tái)開(kāi)發(fā)不超過(guò) 200 人的創(chuàng)業(yè)公司,title 是 “Java 開(kāi)發(fā)工程師”,并且有一個(gè)程序員的夢(mèng)想,不想 get、set,不想 crud,不想 html 填空,不想和產(chǎn)品同學(xué)討論,也不想和測(cè)試同學(xué)點(diǎn)點(diǎn)點(diǎn)……(感覺(jué)這里會(huì)得罪人 =_=||)

          你可能想跳槽。

          那么你大概需要做以下準(zhǔn)備:

          1. 鞏固 Java 基礎(chǔ),集合源碼,并發(fā)源碼,JVM 原理,Netty 原理源碼,IO 相關(guān)(涉及到零拷貝文件存儲(chǔ)),這些都是 Java 基礎(chǔ),通常是必須的。

          2. 分布式原理,最起碼知曉理論知識(shí),最好能寫(xiě)一個(gè),哪怕參照開(kāi)源的也行。

          3. 源碼,Spring Mybatis Tomcat 等等,這些代碼通常是你最先接觸的,不妨從這里開(kāi)始。RPC 中間件相關(guān)的,Dubbo,Motan,SOFA,挑一個(gè)吧,推薦 SOFA。

          4. 再熟悉熟悉(熟悉指源碼和設(shè)計(jì))分布式的相關(guān)產(chǎn)品,假設(shè)你是 Java 開(kāi)發(fā),推薦 RocketMQ,Apollo 配置中心等等中間件,其實(shí)都可以,MQ 相對(duì)復(fù)雜。

          5. 操作系統(tǒng),通常,你在研究上面的內(nèi)容時(shí),會(huì)遇到操作系統(tǒng)的疑問(wèn),遇到不要繞過(guò),盡量弄明白。

          6. 自己的產(chǎn)品,有就最好了,例如公眾號(hào),博客,教學(xué)視頻,GitHub 項(xiàng)目等等,總之,是拿得出手的東西。

          7. 加大牛好友,了解行業(yè)風(fēng)向標(biāo)。也許你是一個(gè)矜持的人,但從事了這個(gè)行業(yè),你有必要和行業(yè)里優(yōu)秀的人學(xué)習(xí)(看看朋友圈就好)。

          結(jié)語(yǔ)

          通??赐瓯疚模銜?huì)有一絲疲憊,甚至帶有那么一絲難過(guò):太他么難了!

          如果你看完了本文內(nèi)容,覺(jué)得 so easy,那么請(qǐng)左轉(zhuǎn)阿里,或右轉(zhuǎn)美團(tuán)。

          我假定你是前者。那么請(qǐng)你尊重你的夢(mèng)想。

          這里引用一段臺(tái)詞:

          如果你有夢(mèng)想的話,就要去捍衛(wèi)它。那些一事無(wú)成的人想告訴你你也成不了大器。如果你有理想的話,就要去努力實(shí)現(xiàn)。就這樣。

          實(shí)際上,這句話也是寫(xiě)給我自己的。與君共勉。

          【墻裂推薦】

          專注于「開(kāi)發(fā)者」綜合成長(zhǎng)的深度星球
          限時(shí)優(yōu)惠進(jìn)行中

          最近熱門內(nèi)容回顧? ?#技術(shù)人系列



          下方二維碼關(guān)注我

          互聯(lián)網(wǎng)草根,堅(jiān)持分享技術(shù)創(chuàng)業(yè)、產(chǎn)品心得和總結(jié)~



          點(diǎn)擊“閱讀原文”,領(lǐng)取 2020 年最新免費(fèi)技術(shù)資料大全

          ↓↓↓?
          瀏覽 85
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  内射精品| 国产婬乱片A片AAA毛姪片 | 激情在线小视频 | 日韩操比视频 | 日本A A片 |