精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

框架組件,究竟要不要自研?

開發 開發工具
18年規劃系統介紹58到家的技術體系,15年加盟58到家后,架構部正好也是負責范圍的一部分,故談一談自己的想法,個人觀點。

一、問題的提出

詢問框架組件,是否需要自研?

18年規劃系統介紹58到家的技術體系,15年加盟58到家后,架構部正好也是負責范圍的一部分,故談一談自己的想法,個人觀點:

  • 如果公司業務不復雜,研發人數比較少,技術實力相對有限,一定不要自研框架組件
  • 如果公司業務復雜,研發人數比較多,技術能力能夠勝任,建議自研部分框架組件

[[218106]]

二、為什么早期不建議自研?

早期研發人數較少,公司也不確定能走多遠,業務相對簡單,業務以“快速迭代”為最高優先級,此時一般會選擇“自己熟悉的技術”作為選型:

  • 研發語言:熟PHP選PHP,熟Java選Java
  • 數據庫:熟MySQL選MySQL,熟SQL-server選SQL-server
  • 框架組件:熟Ruby on Rails選ROR,熟ThinkPHP選ThinkPHP,熟SSH選SSH

此時千萬不要糾結選型,選自己熟悉的,業務以快速迭代為最優先,公司得先生存下來。

多說一句,此時對于技術合伙人的技術視野就有一定要求,如果早期方向不對,例如選擇了IOE或者微軟技術體系,等公司發展若干年,數據量并發量上漲很多倍,成本以及未來的技術應對恐怕會有麻煩。

58同城早期選型是微軟技術體系,后來數據量增大,并發量增大,機器數據庫越來越多,性能扛不住,成本也扛不住(你猜一個SQL-server的licence一年多少錢?),后來老崔帶領大家轉型開源陣營:

  • Windows -> Linux
  • SQL-server -> MySQL
  • C# -> Java

雖然短痛了1-2年,但長遠來說,絕對是正確的決策。

如今,如果你再創業,選云,選LAMP或者SSH,八成不會走太大的彎路。

三、隨著規模的擴大,為什么要控制技術棧?

隨著業務越來越復雜,研發人數越來越多,如果每個leader都選擇自己擅長的框架,就會出現這樣的情況:

  • 站點框架,team A用著SSH,team B用著Spring+SpringMVC+Mybatis
  • 服務框架,team C用著REST,team D用著dubbo,team E用著thrift
  • 數據庫訪問,team X用著mybatis,team Y用著DAO,team Z用著jdbc

對于整體而言,跨部門的調用越來越麻煩,重復造的輪子越來越多,技術效率會逐步降低,研發+測試+運維成本都越來越高。

第一個觀點:即使不自研,技術棧也請盡量統一。

四、統一了技術棧,為什么建議淺淺的封裝一層?

統一了技術棧以后,如果不封裝,redis官方Java客戶端Jedis可能有這樣一些接口:

  1. String Memcache::get(String key) 
  2. String Memcache::set(String key, Stringvalue) 
  3. String Memcache::del(String key) 

淺淺的封裝一層,會變成這樣:

  1. String 58DaojiaKV::get(String key) { 
  2.          String result = Memcache::get(key); 
  3.          return result; 
  4. String 58DaojiaKV::set(String key, Stringvalue) { 
  5.          String result = Memcache::set(key, value); 
  6.          return result; 
  7. String 58DaojiaKV::del(String key) { 
  8.          String result = Memcache::del(key); 
  9.          return result; 

這有什么好處呢?

  • 對上游屏蔽底層實現的細節,調用方不用關注緩存是memcache還是redis,調用方只關注58DaojiaKV
  • 底層變化的時候,對上游透明,當memcache不能滿足需求,要切換為redis時,所有調用方不需要大的變化,升級一個最新的58DaojiaKV即可,58DaojiaKV的接口不變,實現變為:
    1. String 58DaojiaKV::get(String key) { 
    2.          String result = Jedis::get(key); 
    3.          return result; 
    4. String 58DaojiaKV::set(String key, Stringvalue) { 
    5.          String result = Jedis::set(key, value); 
    6.          return result; 
    7. String 58DaojiaKV::del(String key) { 
    8.          String result = Jedis::del(key); 
    9.          return result; 
  • 統一實現一些通用的功能,就不需要每一個上游升級了,例如,要實現一個緩存訪問時間統計的功能,所有調用方不需要大的變化,升級一個最新的58DaojiaKV即可:
    1. String 58DaojiaKV::get(String key) { 
    2.          Long startTime = now(); 
    3.          String result = Jedis::get(key); 
    4.          Long endTime = now(); 
    5.          reportKVTime(startTime- endTime); 
    6.          return result; 
    7. String 58DaojiaKV::set(String key, Stringvalue) { 
    8.          Long startTime = now(); 
    9.          String result = Jedis::set(key, value); 
    10.          Long endTime = now(); 
    11.          reportKVTime(startTime- endTime); 
    12.          return result; 
    13. String 58DaojiaKV::del(String key) { 
    14.          Long startTime = now(); 
    15.          String result = Jedis::del(key); 
    16.          Long endTime = now(); 
    17.          reportKVTime(startTime- endTime); 
    18.          return result; 

同理,如果要實現統一的告警,調用鏈跟蹤,SQL執行時間,也可以用類似的方法。

第二個觀點:第三方庫,不但要統一,還可以淺淺的封裝一層,預留未來的擴展性。

五、隨著規模的進一步擴大,為什么需要適當的造一些輪子?

業務進一步發展,研發團隊進一步擴張,雖然使用了統一的技術棧,但不同研發團隊的痛點是極其類似的:

  • 有站點,監控服務的可用性,處理時間監控需求
  • 有告警需求
  • 有自動化發布,自動化運維需求
  • 有服務治理,服務自動發現需求
  • 有調用鏈跟蹤需求
  • 有SQL監控需求
  • 有系統層面數據收集與可視化展現的需求

此時,開源的框架可能滿足不了需求了:

  • 開源框架/組件太重了,我們需要的可能只是一個輕量級的框架/組件
  • 開源框架/組件,只能滿足我們的一部分需求
  • 不了解開源框架/組件的設計理念,要二次開發成本更高(維護dubboX的同學,維護數據庫中間件Atlas的同學可以出來說兩句)
  • 有些通用的需求是和業務緊密結合的,開源框架/組件可能滿足不了

此時,如果技術實力具備,可以統一研發一些框架和組件,解決所有技術團隊的通用痛點,滿足所有技術團隊的通用需求。

未來介紹監控平臺、服務治理、調用鏈跟蹤系統、數據收集中心的時候,大家能夠更深刻的理解到“造一些輪子”的好處。

第三個觀點:適當造一些輪子。

六、58到家自研的框架組件有哪些?

通用框架+服務:

  • WEB框架,Daojia-Web-Framework,DWF
  • Service框架,Daojia-Service-Framework,DSF
  • 消息隊列,Daojia-Msg-Queue,DMQ

基礎組件:

  • 緩存訪問組件DMemcache,DJedis
  • 數據庫訪問組件DAO
  • 分庫分表組件DShard

還有一些日志,消息的組件,這些組件的架構與細節,未來再和大家細聊。

七、總結

框架組件,是否需要自研?

初期建議:不自研,用熟悉的,業務快速迭代為優先,需要一定技術視野。

長遠建議:

  • 統一技術棧
  • 淺淺封裝一層
  • 適當造輪子

【本文為51CTO專欄作者“58沈劍”原創稿件,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2020-11-17 09:17:58

框架組件基礎服務

2024-09-30 05:38:48

2015-07-15 10:25:44

SDN物理交換機

2019-10-23 20:19:26

Python 開發編程語言

2021-11-24 22:39:03

手機系統功能

2012-03-16 14:23:00

框架

2012-03-16 14:23:00

框架

2025-03-24 09:20:00

架構分布式ID開發

2013-11-29 14:04:42

2017-11-20 09:00:43

跳槽職場精英年終獎

2023-10-06 12:04:41

ORM關系型數據庫

2021-02-21 09:09:24

GoGOPATH代碼

2014-12-09 09:13:46

BaaS云備份備份即服務

2018-07-12 09:04:15

RAID陣列硬盤

2021-10-21 09:41:43

互聯網數據技術

2018-12-06 14:40:07

蘋果iOS 12.1.1 iOS 12

2018-11-19 09:02:53

垃圾代碼辭職入職

2020-04-20 09:32:31

VIM程序員編程

2015-10-21 16:27:45

公務員國考大數據
點贊
收藏

51CTO技術棧公眾號

精品视频久久久| 国产成人精品免费一区二区| 亚洲视屏在线播放| 拔插拔插华人永久免费| www免费在线观看| 波多野结衣一区二区三区 | 欧美人xxxx| 国产毛片久久久久久国产毛片 | 国产视频精品自拍| 91小视频在线播放| 国偷自产一区二区免费视频| 17c精品麻豆一区二区免费| 国产专区一区二区三区| 最近中文字幕在线免费观看| 欧美精品首页| 亚洲性视频网站| 好吊操视频这里只有精品| 玛雅亚洲电影| 婷婷开心激情综合| 在线播放 亚洲| 欧美视频综合| 国产99一区视频免费| 国产精品亚洲一区二区三区| 激情五月色婷婷| 91国语精品自产拍| 中文字幕国产亚洲| 国产黄片一区二区三区| 韩国女主播一区二区三区| 欧美三级乱人伦电影| 成年人视频观看| 超黄网站在线观看| 亚洲男人的天堂在线观看| 色999五月色| 六十路在线观看| eeuss影院一区二区三区 | av中文字幕免费在线观看| 日韩精品电影在线观看| 欧美一级大片视频| 日韩av电影网| 影音先锋一区| 久久久久久18| 精品无码久久久久久久久| 亚洲女同另类| 久久久91精品国产一区不卡| 亚洲天堂av中文字幕| 欧美男gay| 亚洲人成电影网站| 国产免费一区二区三区网站免费| 日本一道高清一区二区三区| 精品国产乱码久久久久久牛牛| 91亚洲精品久久久蜜桃借种| 亚洲精品第一| 欧美日韩免费观看一区二区三区| 91网址在线播放| 欧美123区| 欧美日韩精品免费观看视频| 欧美伦理片在线观看| 成人在线观看免费播放| 在线视频精品| 亚洲2020天天堂在线观看| 久久综合激情网| 亚洲理伦在线| 日本亚洲欧美三级| 成人黄色片在线观看| 免费的成人av| 91亚洲va在线va天堂va国 | 亚洲精品国产精品国自产| wwwww在线观看免费视频| 国产精品乱人伦| 特级黄色录像片| 欧美人与禽性xxxxx杂性| 一区二区在线观看免费 | 亚洲最大的黄色网址| 欧美影院一区| 午夜精品蜜臀一区二区三区免费 | 国严精品久久久久久亚洲影视| 色屁屁草草影院ccyycom| 91麻豆精品一区二区三区| 日韩精品不卡| 亚洲综合图区| 亚洲超碰精品一区二区| 男人天堂999| 国语自产精品视频在线看抢先版结局| 欧美区一区二区三区| 少妇熟女视频一区二区三区| 香蕉久久夜色精品国产使用方法| 亚洲性视频网站| 欧美爱爱小视频| 久久精品亚洲一区二区| 91精品视频网站| 黄色av中文字幕| 欧美激情在线一区二区三区| 久久久久久av无码免费网站下载| 在线观看v片| 制服丝袜亚洲精品中文字幕| 男人网站在线观看| 日韩大片在线| 97视频在线观看网址| 在线观看免费观看在线| 成人免费av资源| 亚洲v国产v在线观看| 成人av影院在线观看| 欧美在线视频你懂得| 亚洲乱妇老熟女爽到高潮的片| 九九免费精品视频在线观看| 欧美成人精品在线视频| 五月婷婷激情视频| 成人激情文学综合网| 亚洲精品人成| 在线人成日本视频| 日韩你懂的在线观看| 精品无码在线观看| 在线欧美亚洲| 成人免费观看a| 国产综合视频一区二区三区免费| 亚洲一区二区三区中文字幕在线| 国产理论在线播放| 国产欧美日韩精品高清二区综合区| 久久视频精品在线| 中文字幕av久久爽| 久久久噜噜噜久久中文字幕色伊伊| 男人日女人的bb| 欧美成人一二区| 亚洲性视频网站| av图片在线观看| 成人av网址在线观看| 中国女人做爰视频| 亚洲欧美专区| 综合网中文字幕| 中文字幕精品视频在线观看| 国产成人丝袜美腿| 日本美女爱爱视频| 亚洲精品tv| 久久精品国产精品亚洲| 中文字幕无码乱码人妻日韩精品| 久久综合丝袜日本网| 99re国产视频| 嫩草在线视频| 欧美日韩一区二区三区高清| 国产亚洲精品熟女国产成人| 亚洲欧美春色| 欧美日本韩国在线| 成人性教育av免费网址| 亚洲精品视频二区| chinese国产精品| 国产视频在线观看一区二区三区| 日韩人妻精品无码一区二区三区| 欧美a一欧美| 久久琪琪电影院| 污污视频在线观看网站| 精品成人国产在线观看男人呻吟| 国产xxxx视频| 午夜综合激情| 日本三级中国三级99人妇网站| 丝袜美腿一区| 在线看日韩欧美| 一区二区日韩视频| 亚洲男人天堂av| 中国特级黄色片| 一区二区毛片| 色噜噜狠狠色综合网| 欧美三级电影网址| xxxxxxxxx欧美| 色偷偷91综合久久噜噜| 中文精品久久久久人妻不卡| 久久久激情视频| 亚洲人成无码www久久久| 精品成人影院| 成人黄色大片在线免费观看| 好操啊在线观看免费视频| 日韩午夜激情视频| 激情五月色婷婷| 中文一区在线播放| 手机免费看av网站| 亚洲欧洲一级| 日本亚洲欧洲精品| 国产麻豆一区二区三区| 国内自拍欧美激情| 懂色一区二区三区| 日韩一区国产二区欧美三区| 日本少妇裸体做爰| 国产三级欧美三级| 美女被艹视频网站| 在线一区视频| 中文字幕不卡每日更新1区2区| 日本一区精品视频| 欧美性xxx| 免费成人在线视频观看| 精品欧美国产一区二区三区不卡| 新片速递亚洲合集欧美合集| 久久亚洲精品一区| 亚洲av成人精品日韩在线播放| 在线免费观看日本欧美| 国产波霸爆乳一区二区| 久久看人人爽人人| 91丨porny丨九色| 久久国产毛片| 激情六月天婷婷| 成人情趣视频网站| 国模一区二区三区私拍视频| 国产69精品久久| 91国自产精品中文字幕亚洲| 免费不卡视频| 亚洲欧美另类在线观看| www.激情五月.com| 欧美色窝79yyyycom| 日干夜干天天干| 亚洲婷婷综合色高清在线| 精品人妻一区二区三区香蕉| 国产麻豆成人传媒免费观看| 粉嫩虎白女毛片人体| 综合一区av| 亚洲欧美电影在线观看| 欧美freesex8一10精品| 91久久久一线二线三线品牌| 天然素人一区二区视频| 久久久久亚洲精品国产| 国产原创精品视频| 亚洲一区二区黄| 神马午夜一区二区| 精品女同一区二区| 在线观看不卡的av| 91福利小视频| 中日韩黄色大片| 亚洲国产综合色| 九九热最新地址| 国产精品久久久久影院老司| 欧美bbbbb性bbbbb视频| 99re这里只有精品视频首页| 性高潮免费视频| 国产成a人无v码亚洲福利| 三年中文在线观看免费大全中国| 日本欧美一区二区在线观看| 男人添女人下面高潮视频| 黄色成人91| 成人国产在线看| 国产精品草草| 国产美女作爱全过程免费视频| 色呦呦免费观看| 国产日韩欧美综合在线| aaaaa级少妇高潮大片免费看| 99久久亚洲一区二区三区青草| 精品久久久久久无码人妻| 国产成人三级在线观看| 野花视频免费在线观看| 国产乱理伦片在线观看夜一区| www.久久久精品| 久久成人久久鬼色| 做a视频在线观看| 韩国av一区二区三区四区| 99国产精品久久久久久| 国产一区二区免费看| 男女视频在线观看网站| 国产福利一区二区| 欧美一级片在线免费观看| 国产91在线观看| 999精品免费视频| 91理论电影在线观看| 国产美女免费网站| 国产精品久久久久久久久搜平片 | 草莓视频一区二区三区| 国产精品久久精品国产| 哺乳一区二区三区中文视频| 激情欧美一区二区三区中文字幕| 欧美丝袜足交| 色综合视频二区偷拍在线| 四虎8848精品成人免费网站| 国产麻豆电影在线观看| 国产精品99一区二区| 欧美,日韩,国产在线| 美女国产一区| 超碰超碰在线观看| 欧美日韩尤物久久| 激情亚洲网站| 亚洲aⅴ天堂av在线电影软件| 88国产精品视频一区二区三区| 大陆极品少妇内射aaaaaa| 亚洲午夜久久久久久尤物| 久章草在线视频| 免费亚洲电影在线| 在线中文字日产幕| 国产日本欧美一区二区| 色欲人妻综合网| 欧美日韩一区二区在线| 91亚洲精品国偷拍自产在线观看 | 三区在线视频| 自拍偷拍亚洲区| 成年人在线网站| 国产精品一区久久| 一本色道69色精品综合久久| 欧美大香线蕉线伊人久久国产精品| 日韩午夜电影网| 亚洲熟妇无码另类久久久| 乱一区二区av| 超碰男人的天堂| 自拍偷拍亚洲综合| 国产精品va无码一区二区三区| 制服丝袜亚洲色图| 国产网站在线播放| 久久久久亚洲精品国产| 国产成+人+综合+亚洲欧美| 国产一区国产精品| 婷婷成人基地| 北条麻妃av高潮尖叫在线观看| 懂色av一区二区在线播放| 国产一区二区三区四区在线| 性做久久久久久久免费看| 国产强伦人妻毛片| 一本一本久久a久久精品综合小说| 免费网站在线观看人| 国产精品一久久香蕉国产线看观看| 伦理一区二区| 成人在线免费高清视频| 久久国产欧美日韩精品| 中文人妻一区二区三区| 亚洲精品国产一区二区三区四区在线| 成人毛片一区二区三区| 亚洲国产精品人人爽夜夜爽| 4438x成人网全国最大| 国产精品亚洲片夜色在线| 国产欧美高清视频在线| 国产原创中文在线观看| 国产馆精品极品| 波多野结衣家庭教师| 欧美日韩一区二区欧美激情 | 国产suv精品一区| 欧美日韩一级在线| 麻豆91精品91久久久的内涵| 日韩免费成人av| 日本大香伊一区二区三区| 四虎精品在永久在线观看| 国外视频精品毛片| 成人18夜夜网深夜福利网| 亚洲色图都市激情| 国产精品一区二区三区四区 | shkd中文字幕久久在线观看| 日韩av免费在线播放| 天天躁日日躁成人字幕aⅴ| 欧美成人高潮一二区在线看| 岛国精品在线观看| 国产一级片免费| 精品国产不卡一区二区三区| 日韩特级毛片| 国产乱码一区| 夜夜精品视频| 一本色道综合久久欧美日韩精品| 五月天一区二区三区| 手机看片1024日韩| 91精品国产777在线观看| 麻豆视频一区| 波多野结衣乳巨码无在线| 99精品视频一区二区三区| 日韩不卡视频在线| 亚洲天堂网在线观看| 巨胸喷奶水www久久久免费动漫| 色噜噜狠狠色综合网| 精品在线免费视频| 放荡的美妇在线播放| 精品国产一区二区三区久久久蜜月 | 97久久综合区小说区图片区| 男人天堂av片| 91丨九色丨尤物| 无码久久精品国产亚洲av影片| 在线视频中文亚洲| 国产一区二区| 极品粉嫩国产18尤物| 久久综合狠狠综合| 做爰无遮挡三级| 欧美精品一二区| 日本久久成人网| xxx国产在线观看| 亚洲激情中文1区| 蜜臀av午夜精品| 国产91精品在线播放| 日韩一区二区中文| 亚洲综合中文网| 欧美性猛交xxxxx免费看| 亚洲图片88| 国产精品中出一区二区三区| 三级欧美韩日大片在线看| 777777国产7777777| 亚洲第一av在线| av在线日韩| 美女av免费观看| 国产日韩欧美高清| www.日韩高清| 国产成人极品视频| 欧美精品一区二区三区久久久竹菊| 日韩精品人妻中文字幕有码| 欧美性猛交xxxx乱大交| a√在线中文网新版址在线| 97碰碰视频| 蜜臀va亚洲va欧美va天堂| 黄色录像a级片| 欧美日韩国产一二三| 美女尤物在线视频| 欧洲精品亚洲精品| 成人一区二区三区中文字幕| 久久久精品毛片| 久久久久久久激情视频|