• <strike id="800qq"></strike>
    <ul id="800qq"></ul>
    
    
    <ul id="800qq"><tbody id="800qq"></tbody></ul>
  • 您的位置:要聞 > 正文

    當(dāng)前要聞:技術(shù)方案(開源方案)選型的考量和方法論

    來源: 時(shí)間:2023-02-17 11:01:36

    技術(shù)方案(開源方案)選型的考量和方法論

    我的觀點(diǎn):每個(gè)公司的情況不一樣,開發(fā)人員的能力和語(yǔ)言也不一樣,因此方案選型需要根據(jù)自身情況而定,沒有最好,只有最合適!但是,可以有相關(guān)的方法論去幫助我們更好的選擇合適的方案!

    首要一定要了解清楚背景

    首要一定要了解清楚背景,只有背景了解清楚了,大家才能在同一個(gè)起點(diǎn)上做相關(guān)的決策和討論,技術(shù)方案一定是某個(gè)背景下產(chǎn)生的,如果脫離實(shí)際業(yè)務(wù)背景,那么技術(shù)方案也無法選擇最優(yōu)的。


    (資料圖片僅供參考)

    這個(gè)背景包括的點(diǎn)會(huì)比較多,比如當(dāng)前業(yè)務(wù)狀況、未來發(fā)展情況、當(dāng)然人力情況、現(xiàn)有技術(shù)方案等等所有相關(guān)的。

    技術(shù)方案的選擇需要團(tuán)隊(duì)內(nèi)部的人員相匹配

    技術(shù)方案的實(shí)現(xiàn)是需要團(tuán)隊(duì)內(nèi)部的開發(fā)人員來具體實(shí)施的,因此一定要考慮團(tuán)隊(duì)內(nèi)的人員具體情況,并且所選擇的技術(shù)方案需要和團(tuán)隊(duì)內(nèi)部的人員相匹配。比如編程語(yǔ)言、團(tuán)隊(duì)規(guī)模、公司業(yè)務(wù)、公司體量。比如當(dāng)前這個(gè)方案技術(shù)人員是否接觸過、編程語(yǔ)言是否熟悉、技術(shù)人員是否能夠完全掌握這個(gè)方案等。

    但是注意,這里不是說選擇完全熟悉的領(lǐng)域或者方案,但是一定是考慮的因素,因?yàn)椋绻銏F(tuán)隊(duì)技術(shù)人員完全不懂這個(gè)技術(shù)、語(yǔ)言也不熟悉,選擇這個(gè)方案后,壓根就扛不住啊。 但是如果你團(tuán)隊(duì)的人員足夠多,技術(shù)功底足夠扎實(shí),那么選擇一個(gè)不熟悉的方案能夠抗住也是 ok 的。

    參照業(yè)界標(biāo)桿選擇技術(shù)方案(開源方案)

    業(yè)界標(biāo)桿選擇的技術(shù)方案,一定是經(jīng)過他們專業(yè)人士對(duì)比、選型之后決策得到的,并且經(jīng)過了他們的大量的線上實(shí)際驗(yàn)證的。因此參考業(yè)界標(biāo)桿,至少不會(huì)出錯(cuò),但是這個(gè)僅僅只是一個(gè)參照,是否合適自己團(tuán)隊(duì),還要結(jié)合本文的其他一個(gè)點(diǎn)來考慮。

    這里的業(yè)界標(biāo)桿,盡量的是選擇國(guó)內(nèi)外都流行的而不僅僅是國(guó)內(nèi)流行的,技術(shù)這個(gè)東西一定是一個(gè)全球化的東西,不是一個(gè)局域化的事。所以,一定要選國(guó)際化的會(huì)更好。

    在這個(gè)基礎(chǔ)之下,我們選擇的時(shí)候,不是直接使用,而是要看方案是否具備如下能力:

    功能點(diǎn)是否滿足業(yè)務(wù)需求,先看是否滿足業(yè)務(wù)訴求,而不是先看開源方案是否更加優(yōu)秀,一定是在滿足業(yè)務(wù)訴求的基礎(chǔ)上再去做抉擇。一線互聯(lián)網(wǎng)公司的落地產(chǎn)品如果是一線互聯(lián)網(wǎng)公司落地并且開源的,且在社區(qū)內(nèi)形成良好口碑的產(chǎn)品,那么這些產(chǎn)品已經(jīng)經(jīng)過了大流量的沖擊,坑已經(jīng)基本被填平,且被社區(qū)接受形成一個(gè)良好的社區(qū)生態(tài)。那么這樣的產(chǎn)品算是一個(gè)比較好的選擇,才能讓你放心的運(yùn)用在自己的生產(chǎn)環(huán)境中。
    * 怎么確定呢?這個(gè)就靠 Google 來做一些搜索了,看看有沒有一些案例;或者有一些項(xiàng)目會(huì)明確說明業(yè)界有哪些公司已經(jīng)采用
    開源社區(qū)活躍度GitHub 上的 stars、 commit、issue、pull request、release 的數(shù)量和頻率是一個(gè)重要指標(biāo),同時(shí)需要參考其代碼和文檔更新頻率(尤其是近年),這些指標(biāo)直接反應(yīng)開源產(chǎn)品的社區(qū)活躍度或者說生命力。
    * 另外,對(duì)于不同業(yè)務(wù)體量和團(tuán)隊(duì)規(guī)模的公司,技術(shù)選型標(biāo)準(zhǔn)往往是不同的,創(chuàng)業(yè)公司的技術(shù)選型和 BAT 級(jí)別公司的技術(shù)選型標(biāo)準(zhǔn)可能完全不同。
    方案是否具備了生產(chǎn)級(jí)的能力我們選擇的技術(shù)方案是要解決實(shí)際業(yè)務(wù)問題和上生產(chǎn)抗流量的,選擇不慎可能造成生產(chǎn)級(jí)事故,所以生產(chǎn)級(jí),可運(yùn)維,可治理,成熟穩(wěn)定的技術(shù)才是我們的首選;怎么判定是否生成級(jí)可用?看 release 版本是否有發(fā)布正式環(huán)境,是否有 1.0 版本。怎么判定成熟穩(wěn)重? 看是否有一些實(shí)際業(yè)務(wù)在使用。運(yùn)維能力也是必須要考慮的,否則一旦出問題,運(yùn)維、研發(fā)、測(cè)試都只能干瞪眼.代碼整體質(zhì)量是非常重要的,包括代碼的功能特性、可擴(kuò)展性、性能、可靠性和可用性規(guī)范的代碼風(fēng)格合理的代碼組織結(jié)構(gòu)覆蓋度高的單元測(cè)試用例有一定的性能測(cè)試數(shù)據(jù)代碼可以較好的進(jìn)行擴(kuò)展代碼的 bug 要少

    盡量不要重復(fù)造輪子

    盡可能的使用紅利大的主流技術(shù),而不要自己重復(fù)造輪子,更不要魔改。如果市面上已經(jīng)有比較合適的方案后,我們盡可能的采用主流的開源方案;如果某些場(chǎng)景和功能,當(dāng)前市面上的方案不滿足,我們應(yīng)該是給他們提 PR ,或者自己擴(kuò)展支持,但是還是采用市面上已有的,這樣等他們升級(jí)后,我們依然還是可以跟著升級(jí)。

    開源方案一般情況下可以滿足我們大部分的需求,部分需求不滿足的時(shí)候,需要慎重考慮這個(gè)需求點(diǎn)是否真的有必要?是否屬于不可替代需求?

    不要過度設(shè)計(jì)

    大家都希望自己的系統(tǒng)低耦合,通用性強(qiáng),可以完成任意的后續(xù)功能的組合,但這也要有個(gè)度。

    如果你自己認(rèn)為自己的技術(shù)架構(gòu)能力很強(qiáng),知道代碼在編寫中低耦合高擴(kuò)展,你可以在設(shè)計(jì)的時(shí)候,在滿足現(xiàn)有需求的基礎(chǔ)上,以不額外增加開發(fā)成本為前提,來做一些擴(kuò)展預(yù)留的考慮。但是,如果你技術(shù)架構(gòu)能力不強(qiáng),滿足現(xiàn)有需求即可,盡量做到低耦合,代碼要盡可能間接,并寫好代碼注釋。

    另外一點(diǎn)就是不要只談架構(gòu)方案設(shè)計(jì),其實(shí)代碼層面的設(shè)計(jì)也是非常重要的,包括分層/模塊/接口 等一定要考慮好,其實(shí)很多時(shí)候,與其做一套通用架構(gòu),不如讓自己的代碼更容易被修改,特別是對(duì)于技術(shù)架構(gòu)能力不是特別高的開發(fā)者。

    合適才是最重要的

    最后,要說明下,合適的才是最重要的,技術(shù)方案和架構(gòu)演進(jìn)不是一蹴而就的,最重要的適合當(dāng)前的業(yè)務(wù)場(chǎng)景需要

    舉個(gè)例子,當(dāng)前業(yè)務(wù)對(duì)并發(fā)的要求并不高,你就沒有必要非得現(xiàn)在選擇一個(gè)能夠抗住百萬、千萬的方案,因?yàn)檫@個(gè)方案不適合當(dāng)前架構(gòu),初期構(gòu)造太復(fù)雜,反而會(huì)讓你失去焦點(diǎn),并且讓整體架構(gòu)(技術(shù)方案)逐漸腐爛。

    推薦閱讀

    推薦閱讀我的其他文章:

    《高并發(fā)架構(gòu)和系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)》

    《TCP 長(zhǎng)連接層的設(shè)計(jì)和 在 IM 項(xiàng)目中實(shí)戰(zhàn)應(yīng)用》

    《萬字解讀云原生時(shí)代,如何從 0 到 1 構(gòu)建 K8s 容器平臺(tái)的 LB(Nginx)負(fù)載均衡體系》

    《高可用架構(gòu)和系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)》

    關(guān)鍵詞:

    精彩推送

    公司

    吉卜力工作室如今已加入到主題公園的浪潮,并于11月1日正式對(duì)公眾開放全球首個(gè)項(xiàng)目,將《龍貓》等經(jīng)典作品的場(chǎng)景復(fù)原至現(xiàn)實(shí)世界。對(duì)于吉卜

    詳細(xì)>>

    隨著在線旅游企業(yè)數(shù)量的不斷增多,售賣不合理低價(jià)旅游產(chǎn)品、違規(guī)利用用戶個(gè)人信息等問題也時(shí)有發(fā)生。11月1日,文旅部發(fā)布《文化和旅游部關(guān)

    詳細(xì)>>

    兩個(gè)小時(shí),這是越南全國(guó)首票榴蓮從裝車到運(yùn)送至我國(guó)廣西崇左友誼關(guān)口岸的時(shí)間。得益于一體化供應(yīng)鏈,2021年,中國(guó)與越南進(jìn)出口貿(mào)易額達(dá)到23

    詳細(xì)>>

    11月1日,北京商報(bào)記者梳理發(fā)現(xiàn),截至9月末,10家A股上市農(nóng)商行資產(chǎn)規(guī)模均有所擴(kuò)大,重慶農(nóng)商行、上海農(nóng)商行仍以萬億元總資產(chǎn)位居前列。營(yíng)

    詳細(xì)>>

    西貝餐飲集團(tuán)(以下簡(jiǎn)稱西貝)在兒童餐的道路上越走越深。11月1日,北京商報(bào)記者從西貝獲悉,其將推出西貝兒童餐零售產(chǎn)品。目前,部分西貝門

    詳細(xì)>>

    新一期麻辣粉和逆回購(gòu)操作如期公布。9月15日,央行發(fā)布消息稱,為維護(hù)銀行體系流動(dòng)性合理充裕,開展4000億元中期借貸便利(MLF)操作和20億元

    詳細(xì)>>
    亚洲国产另类久久久精品| 久久国产成人亚洲精品影院 | 怡红院亚洲怡红院首页| 亚洲精品动漫人成3d在线 | 亚洲精品美女久久7777777| 亚洲免费二区三区| 亚洲av片不卡无码久久| 亚洲三级中文字幕| 亚洲一区无码中文字幕乱码| 亚洲中文久久精品无码1| 亚洲AV色吊丝无码| 亚洲人成www在线播放| 亚洲高清视频在线| 亚洲欧美中文日韩视频| 亚洲久热无码av中文字幕| 亚洲精品无码mⅴ在线观看| 亚洲AV无码资源在线观看| 日韩国产欧美亚洲v片| 国产亚洲精品美女2020久久| 亚洲第一成人影院| 综合亚洲伊人午夜网| 亚洲国产另类久久久精品小说| 国产亚洲精品观看91在线| 亚洲动漫精品无码av天堂| 亚洲丝袜美腿视频| 亚洲喷奶水中文字幕电影 | 亚洲综合色成在线播放| 亚洲国产一区二区视频网站| 亚洲精品成人久久久| 在线日韩日本国产亚洲| 亚洲大尺度无码无码专区| 亚洲视频一区调教| 亚洲中文无码av永久| 亚洲av无码有乱码在线观看| 亚洲国产精品毛片av不卡在线| 在线观看亚洲精品国产| 亚洲韩国—中文字幕| 亚洲一区中文字幕在线电影网| 中国亚洲呦女专区| 亚洲国产免费综合| 精品国产综合成人亚洲区|