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

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

    來源: 時間:2023-02-17 11:01:36

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

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

    首要一定要了解清楚背景

    首要一定要了解清楚背景,只有背景了解清楚了,大家才能在同一個起點上做相關的決策和討論,技術方案一定是某個背景下產生的,如果脫離實際業務背景,那么技術方案也無法選擇最優的。


    (資料圖片僅供參考)

    這個背景包括的點會比較多,比如當前業務狀況、未來發展情況、當然人力情況、現有技術方案等等所有相關的。

    技術方案的選擇需要團隊內部的人員相匹配

    技術方案的實現是需要團隊內部的開發人員來具體實施的,因此一定要考慮團隊內的人員具體情況,并且所選擇的技術方案需要和團隊內部的人員相匹配。比如編程語言、團隊規模、公司業務、公司體量。比如當前這個方案技術人員是否接觸過、編程語言是否熟悉、技術人員是否能夠完全掌握這個方案等。

    但是注意,這里不是說選擇完全熟悉的領域或者方案,但是一定是考慮的因素,因為,如果你團隊技術人員完全不懂這個技術、語言也不熟悉,選擇這個方案后,壓根就扛不住啊。 但是如果你團隊的人員足夠多,技術功底足夠扎實,那么選擇一個不熟悉的方案能夠抗住也是 ok 的。

    參照業界標桿選擇技術方案(開源方案)

    業界標桿選擇的技術方案,一定是經過他們專業人士對比、選型之后決策得到的,并且經過了他們的大量的線上實際驗證的。因此參考業界標桿,至少不會出錯,但是這個僅僅只是一個參照,是否合適自己團隊,還要結合本文的其他一個點來考慮。

    這里的業界標桿,盡量的是選擇國內外都流行的而不僅僅是國內流行的,技術這個東西一定是一個全球化的東西,不是一個局域化的事。所以,一定要選國際化的會更好。

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

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

    盡量不要重復造輪子

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

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

    不要過度設計

    大家都希望自己的系統低耦合,通用性強,可以完成任意的后續功能的組合,但這也要有個度。

    如果你自己認為自己的技術架構能力很強,知道代碼在編寫中低耦合高擴展,你可以在設計的時候,在滿足現有需求的基礎上,以不額外增加開發成本為前提,來做一些擴展預留的考慮。但是,如果你技術架構能力不強,滿足現有需求即可,盡量做到低耦合,代碼要盡可能間接,并寫好代碼注釋。

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

    合適才是最重要的

    最后,要說明下,合適的才是最重要的,技術方案和架構演進不是一蹴而就的,最重要的適合當前的業務場景需要

    舉個例子,當前業務對并發的要求并不高,你就沒有必要非得現在選擇一個能夠抗住百萬、千萬的方案,因為這個方案不適合當前架構,初期構造太復雜,反而會讓你失去焦點,并且讓整體架構(技術方案)逐漸腐爛。

    推薦閱讀

    推薦閱讀我的其他文章:

    《高并發架構和系統設計經驗》

    《TCP 長連接層的設計和 在 IM 項目中實戰應用》

    《萬字解讀云原生時代,如何從 0 到 1 構建 K8s 容器平臺的 LB(Nginx)負載均衡體系》

    《高可用架構和系統設計經驗》

    關鍵詞:

    精彩推送

    公司

    吉卜力工作室如今已加入到主題公園的浪潮,并于11月1日正式對公眾開放全球首個項目,將《龍貓》等經典作品的場景復原至現實世界。對于吉卜

    詳細>>

    隨著在線旅游企業數量的不斷增多,售賣不合理低價旅游產品、違規利用用戶個人信息等問題也時有發生。11月1日,文旅部發布《文化和旅游部關

    詳細>>

    兩個小時,這是越南全國首票榴蓮從裝車到運送至我國廣西崇左友誼關口岸的時間。得益于一體化供應鏈,2021年,中國與越南進出口貿易額達到23

    詳細>>

    11月1日,北京商報記者梳理發現,截至9月末,10家A股上市農商行資產規模均有所擴大,重慶農商行、上海農商行仍以萬億元總資產位居前列。營

    詳細>>

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

    詳細>>

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

    詳細>>
    亚洲最大的成人网| av在线亚洲欧洲日产一区二区| 在线aⅴ亚洲中文字幕| 三上悠亚亚洲一区高清| 亚洲蜜芽在线精品一区| 亚洲成色WWW久久网站| 精品亚洲综合在线第一区| 久久影院亚洲一区| 亚洲一区二区高清| 亚洲日韩VA无码中文字幕| MM131亚洲国产美女久久| 亚洲精品视频在线观看你懂的| av无码东京热亚洲男人的天堂| 国产产在线精品亚洲AAVV| 亚洲av日韩av永久在线观看| 亚洲精品无码成人| 看亚洲a级一级毛片| 亚洲日韩亚洲另类激情文学| 亚洲日韩国产AV无码无码精品| 亚洲色大成WWW亚洲女子| 亚洲av永久中文无码精品| 亚洲乱码日产精品一二三| 亚洲AV成人无码网站| 国产精品亚洲一区二区三区 | 亚洲精品动漫人成3d在线| 亚洲毛片av日韩av无码| 国产偷国产偷亚洲高清日韩| 中文字幕亚洲专区| 国产亚洲精品线观看动态图| 亚洲中文字幕不卡无码| 亚洲成av人影院| 久久亚洲精品人成综合网| 久久久久久久亚洲Av无码| 亚洲第一精品电影网| 精品国产日韩久久亚洲| 久久亚洲色WWW成人欧美| 亚洲成av人片天堂网老年人| 国产综合亚洲专区在线| 久久精品亚洲综合| 亚洲国产成人超福利久久精品| ass亚洲**毛茸茸pics|