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

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

開發(fā) 開發(fā)工具 架構(gòu)
15年加盟58到家后,框架/組件/基礎(chǔ)服務(wù)/技術(shù)平臺,正好也是自己負(fù)責(zé)范圍的一部分,故談一談自己的想法。

很多朋友問我:框架組件,究竟要不要自研?究竟要不要建設(shè)自研技術(shù)體系。

15年加盟58到家后,框架/組件/基礎(chǔ)服務(wù)/技術(shù)平臺,正好也是自己負(fù)責(zé)范圍的一部分,故談一談自己的想法。

[[352603]]

為什么早期不建議自研?

早期研發(fā)人數(shù)較少,公司也不確定能走多遠(yuǎn),業(yè)務(wù)相對簡單,業(yè)務(wù)以“快速迭代”為最高優(yōu)先級,此時一般會選擇“自己熟悉的技術(shù)”作為選型:

  • 研發(fā)語言:熟PHP選PHP,熟Java選Java
  • 數(shù)據(jù)庫:熟MySQL選MySQL,熟SQL-server選SQL-server
  • 框架組件:熟Ruby on Rails選ROR,熟ThinkPHP選ThinkPHP,熟Spring boot才選

此時千萬不要糾結(jié)選型,選自己熟悉的,業(yè)務(wù)以快速迭代為最優(yōu)先,公司得先生存下來。

多說一句,此時對于技術(shù)合伙人的技術(shù)視野就有一定要求,如果早期方向不對,等公司發(fā)展若干年,數(shù)據(jù)量并發(fā)量上漲很多倍,成本以及未來的技術(shù)應(yīng)對恐怕會有麻煩。

58同城早期選型是微軟技術(shù)體系,后來數(shù)據(jù)量增大,并發(fā)量增大,機(jī)器數(shù)據(jù)庫越來越多,性能扛不住,成本也扛不住(你猜一個SQL-server的licence一年多少錢?),后來CTO帶領(lǐng)大家轉(zhuǎn)型開源陣營,雖然陣痛了1-2年,但長遠(yuǎn)來說,絕對是正確的決策。

如今,如果你再創(chuàng)業(yè),選云,選LAMP或者Spring,八成不會走太大的彎路。

隨著規(guī)模的擴(kuò)大,為什么要控制技術(shù)棧?

隨著業(yè)務(wù)越來越復(fù)雜,研發(fā)人數(shù)越來越多,如果每個leader都選擇自己擅長的框架,就會出現(xiàn)這樣的情況:

  • 站點(diǎn)框架,team A用著SSH,team B用著Spring+SpringMVC+Mybatis;
  • 服務(wù)框架,team C用著REST,team D用著dubbo,team E用著thrift;
  • 數(shù)據(jù)庫訪問,team X用著mybatis,team Y用著DAO,team Z用著jdbc;

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

第一個觀點(diǎn):即使不自研,技術(shù)棧也請盡量統(tǒng)一。

統(tǒng)一了技術(shù)棧,為什么建議淺淺的封裝一層?

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

  1. String Memcache::get(String key) 
  2. String Memcache::set(String key, String value) 
  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, String value) { 
  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; 

這有什么好處呢?

(1)對上游屏蔽底層實現(xiàn)的細(xì)節(jié),調(diào)用方不用關(guān)注緩存是memcache還是redis,調(diào)用方只關(guān)注58DaojiaKV;

(2)底層變化的時候,對上游透明,當(dāng)memcache不能滿足需求,要切換為redis時,所有調(diào)用方不需要大的變化,升級一個最新的58DaojiaKV即可,58DaojiaKV的接口不變,實現(xiàn)變?yōu)椋?/p>

  1. String 58DaojiaKV::get(String key) { 
  2.          String result = Jedis::get(key); 
  3.          return result; 
  4. String 58DaojiaKV::set(String key, String value) { 
  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; 

(3)統(tǒng)一實現(xiàn)一些通用的功能,就不需要每一個上游升級了,例如,要實現(xiàn)一個緩存訪問時間統(tǒng)計的功能,所有調(diào)用方不需要大的變化,升級一個最新的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, String value) { 
  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; 

同理,如果要實現(xiàn)統(tǒng)一的告警,調(diào)用鏈跟蹤,SQL執(zhí)行時間,也可以用類似的方法。

第二個觀點(diǎn):第三方庫,不但要統(tǒng)一,還可以淺淺的封裝一層,預(yù)留未來的擴(kuò)展性。

隨著規(guī)模的進(jìn)一步擴(kuò)大,為什么需要適當(dāng)?shù)脑煲恍┹喿?

業(yè)務(wù)進(jìn)一步發(fā)展,研發(fā)團(tuán)隊進(jìn)一步擴(kuò)張,雖然使用了統(tǒng)一的技術(shù)棧,但不同研發(fā)團(tuán)隊的痛點(diǎn)是極其類似的:

  • 有站點(diǎn),監(jiān)控服務(wù)的可用性,處理時間監(jiān)控需求;
  • 有告警需求;
  • 有自動化發(fā)布,自動化運(yùn)維需求;
  • 有服務(wù)治理,服務(wù)自動發(fā)現(xiàn)需求;
  • 有調(diào)用鏈跟蹤需求;
  • 有SQL監(jiān)控需求;
  • 有系統(tǒng)層面數(shù)據(jù)收集與可視化展現(xiàn)的需求;

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

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

此時,如果技術(shù)實力具備,可以統(tǒng)一研發(fā)一些框架和組件,解決所有技術(shù)團(tuán)隊的通用痛點(diǎn),滿足所有技術(shù)團(tuán)隊的通用需求。

第三個觀點(diǎn):適當(dāng)造一些輪子。

總結(jié)

框架組件,是否需要自研?初期建議:不自研,用熟悉的,業(yè)務(wù)快速迭代為優(yōu)先,需要一定技術(shù)視野。

長遠(yuǎn)建議:

  • 統(tǒng)一技術(shù)棧;
  • 淺淺封裝一層;
  • 適當(dāng)造輪子;

【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】

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

 

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2018-01-24 07:58:47

框架組件技術(shù)棧開源

2024-09-30 05:38:48

2015-07-15 10:25:44

SDN物理交換機(jī)

2019-10-23 20:19:26

Python 開發(fā)編程語言

2021-11-24 22:39:03

手機(jī)系統(tǒng)功能

2012-03-16 14:23:00

框架

2012-03-16 14:23:00

框架

2025-03-24 09:20:00

架構(gòu)分布式ID開發(fā)

2013-11-29 14:04:42

2017-11-20 09:00:43

跳槽職場精英年終獎

2023-10-06 12:04:41

ORM關(guān)系型數(shù)據(jù)庫

2021-02-21 09:09:24

GoGOPATH代碼

2014-12-09 09:13:46

BaaS云備份備份即服務(wù)

2018-07-12 09:04:15

RAID陣列硬盤

2021-10-21 09:41:43

互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)

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

公務(wù)員國考大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

青青草视频一区| 久久精品福利| 亚洲精品国产品国语在线app| 91嫩草免费看| 国产精品免费av一区二区| 伊人久久大香线蕉无限次| 欧美久久免费观看| 久久久一本二本三本| 2017亚洲天堂1024| 成人国产在线观看| 国产日韩在线免费| 日韩av片在线播放| 99久久久国产精品美女| 亚洲成人999| 亚洲综合欧美激情| 美女91在线看| 亚洲欧美日韩人成在线播放| 美女视频久久| 国产99视频在线| 爽好多水快深点欧美视频| 九九视频这里只有精品| xxxx日本黄色| 黄色美女久久久| 宅男噜噜噜66一区二区66| 97国产在线播放| 黄页视频在线播放| 国产日产欧产精品推荐色| 国产精品久久久久久免费观看| 国产精品51麻豆cm传媒| 韩国在线一区| 欧美精品在线看| 快灬快灬一下爽蜜桃在线观看| 欧美理伦片在线播放| 91精品国产综合久久婷婷香蕉| 日韩免费高清在线| 亚洲天堂av在线| 亚洲一区在线观看视频| 综合视频在线观看| 婷婷成人激情| 中文字幕乱码日本亚洲一区二区| 蜜桃91精品入口| 人妻无码中文字幕| 大桥未久av一区二区三区中文| 成人黄色av免费在线观看| 加勒比在线一区| 久久福利一区| 国产91精品黑色丝袜高跟鞋| 国产午夜激情视频| 亚洲夜间福利| 欧美激情免费视频| 久久久久99精品成人片毛片| 五月婷婷六月综合| www国产亚洲精品久久网站| 日本理论中文字幕| 神马影视一区二区| 亚洲香蕉伊综合在人在线视看| 亚洲调教欧美在线| 亚洲三级精品| 亚洲人成电影网站色www| 久久久久久久久久久国产精品| 激情视频极品美女日韩| 亚洲高清色综合| 成人午夜精品无码区| 精品三级av| 亚洲乱码国产乱码精品精| 免费在线观看你懂的| 免费av一区| 中文字幕久热精品在线视频 | 高清av一区| 欧美在线短视频| 色戒在线免费观看| 精品国产亚洲一区二区三区| 日韩欧美国产三级电影视频| www国产视频| 91九色视频在线观看| 国产小视频一区| 99久久免费精品高清特色大片| 久久精品中文字幕一区二区三区| 久久精品蜜桃| 亚洲人妖av一区二区| 青青青青在线视频| 色在线视频观看| 欧美日韩一卡二卡三卡| 国产精品久久久久久久99| 久久黄色影视| 日韩在线中文字幕| 日本一区二区免费在线观看| 天使萌一区二区三区免费观看| 国产啪精品视频| 性欧美8khd高清极品| 2017欧美狠狠色| 影音欧美亚洲| 美女扒开腿让男人桶爽久久软| 在线观看视频91| 91精品国产高清91久久久久久| 日韩精品欧美大片| 日韩一区二区欧美| 日韩欧美三级在线观看| 美美哒免费高清在线观看视频一区二区| 91人成网站www| 你懂的视频在线免费| 亚洲人成影院在线观看| 情侣黄网站免费看| 日韩欧美中文字幕在线视频| 国产一区二区三区毛片| 麻豆疯狂做受xxxx高潮视频| 日韩精品一级二级 | 五月综合久久| 久久成年人免费电影| 九九九在线观看| 国产精品小仙女| 欧美另类一区| av电影在线免费| 91精品一区二区三区在线观看| aaaaaav| 亚洲欧洲日韩| 国产精品aaa| 亚洲人视频在线观看| 亚洲精品免费播放| 国产三级生活片| 欧美色就是色| 日本一区二区三区四区视频| 亚洲xxxx天美| 亚洲另类一区二区| av在线网址导航| 精品国产日韩欧美| 人人做人人澡人人爽欧美| 国产黄色片免费观看| 国产精品伦理一区二区| 国产裸体舞一区二区三区| 另类在线视频| 97香蕉超级碰碰久久免费软件 | 亚洲 日本 欧美 中文幕| 成人激情小说乱人伦| 狠狠干视频网站| 国产一区二区三区| 久久精品青青大伊人av| 中文在线免费观看| 欧美极品另类videosde| 免费裸体美女网站| 婷婷亚洲成人| 秋霞成人午夜鲁丝一区二区三区| 天天色棕合合合合合合合| 一个色妞综合视频在线观看| 久久久精品视频国产| 亚洲综合五月| 91av免费看| 中文字幕中文字幕在线十八区 | 手机在线看片日韩| 国产日韩欧美三区| 久久精品午夜一区二区福利| 天堂中文最新版在线中文| 亚洲黄一区二区| 狠狠躁夜夜躁人人爽天天高潮| 成人午夜视频在线| 无码人妻丰满熟妇区96| 亚洲+变态+欧美+另类+精品| 欧美一级大片在线观看| 麻豆av电影在线观看| 欧美午夜一区二区三区| 少妇高潮惨叫久久久久| 国产一区二区三区四区五区美女| 大桥未久一区二区| 91精品丝袜国产高跟在线| 午夜欧美大片免费观看| 少妇性bbb搡bbb爽爽爽欧美| 91久久精品午夜一区二区| 少妇太紧太爽又黄又硬又爽小说| 精品在线播放免费| 9191国产视频| 婷婷综合福利| 国产精品欧美日韩久久| av大片在线| 日韩成人中文字幕在线观看| 色老头在线视频| 亚洲欧美日韩电影| 艳妇乳肉亭妇荡乳av| 久久精品伊人| 91麻豆天美传媒在线| 日韩成人午夜| 国产精品亚洲综合天堂夜夜| 国产最新在线| 亚洲精品久久久一区二区三区| 无码人妻一区二区三区免费| 中文字幕日本不卡| 中文字幕一区二区人妻电影丶| 久久午夜影视| 国产精品igao激情视频| 亚洲精华一区二区三区| 成人深夜直播免费观看| 麻豆视频在线看| 美日韩在线视频| 手机福利小视频在线播放| 欧美人狂配大交3d怪物一区| 懂色av.com| 国产精品乱码人人做人人爱 | 久久精品福利| 成人精品网站在线观看| 麻豆国产在线| 色综合视频一区中文字幕| 精品欧美不卡一区二区在线观看| 91精品国产色综合久久不卡蜜臀| 国产精品乱子伦| 亚洲乱码国产乱码精品精98午夜 | 欧美综合欧美视频| 久久精品这里有| 中文字幕人成不卡一区| 亚洲乱码国产乱码精品精大量| 国产又大又粗又长| 性欧美xxxx免费岛国不卡电影| 国产精品av在线播放| 国精一区二区三区| 中文字幕日韩av电影| 久久av一区二区三区漫画| 黄色av免费在线播放| 久久精品免费一区二区三区| 国产精品久久一区| 成年人网站免费在线观看| 蜜臀91精品一区二区三区| av之家在线观看| 欧美精品三区| 一区二区视频在线免费| 亚洲国产合集| 精品欧美一区二区在线观看视频 | 亚洲天堂黄色| 午夜啪啪免费视频| japanese国产精品| 蜜桃传媒视频麻豆一区| 国产精品高潮呻吟久久久久| 91免费精品视频| 成人亚洲网站| 国产精品久久国产精品99gif| 欧美调教sm| 98精品国产自产在线观看| 日韩精品亚洲人成在线观看| 久久精品国产亚洲精品2020| 在线免费看a| 在线免费看av不卡| 都市激情一区| 在线观看欧美日韩国产| 波多野结衣在线网站| 亚洲视频在线看| 久久久资源网| 永久免费精品影视网站| a天堂中文在线| 一区二区亚洲欧洲国产日韩| 免费在线毛片| 国产一区av在线| 成人精品福利| 色狠狠久久aa北条麻妃| 欧美极品视频| 久久偷看各类女兵18女厕嘘嘘| 在线观看麻豆蜜桃| 中文字幕亚洲无线码a| 啊v视频在线| 中文字幕成人精品久久不卡 | 国产伦精品一区二区三区在线播放| 99re在线视频观看| 国产精品自在| 麻豆av一区| 精品国产午夜| 亚洲免费视频播放| 伊人久久成人| 国产又大又硬又粗| 麻豆精品在线视频| 日日夜夜精品视频免费观看 | 欧美日韩国产成人在线免费| 夜夜爽8888| 日韩三级免费观看| 婷婷色在线观看| 亚洲网在线观看| 亚洲成人三级| 欧美日韩成人网| 北岛玲heyzo一区二区| 国产精品影片在线观看| 日本少妇精品亚洲第一区| 好吊色欧美一区二区三区| 免费视频一区三区| 永久域名在线精品| 亚洲婷婷在线| 国语对白做受xxxxx在线中国| 七七婷婷婷婷精品国产| 性色av浪潮av| 91麻豆福利精品推荐| 中文字幕在线观看二区| 亚洲一区二区三区在线看| 久久精品视频1| 91精品国产综合久久婷婷香蕉| 日本精品一二区| 亚洲夜晚福利在线观看| 污污视频在线看| 日本亚洲欧洲色α| 在线播放一区二区精品视频| 欧美日韩一区二区三| 欧美人成网站| 九色91popny| 丁香啪啪综合成人亚洲小说| 亚洲第一视频区| 亚洲国产精品久久不卡毛片 | 蜜桃视频一区二区| 久草免费资源站| 亚洲国产高清在线观看视频| 久久综合亚洲色hezyo国产| 欧美亚洲国产bt| 色一情一乱一乱一区91av| 永久免费看mv网站入口亚洲| 888av在线视频| 成人日韩av在线| 国产精品一国产精品| av网站大全免费| 精品亚洲国内自在自线福利| 精品人妻无码一区二区三区 | 日韩精品久久久久久久软件91| 欧美日韩大片一区二区三区| 午夜日韩福利| 国产精品区在线| 久久久99免费| 中日韩精品视频在线观看| 日韩欧美一区中文| 免费黄网站在线播放| 国产成人精品视频| 青青草久久爱| a级黄色一级片| 不卡av在线免费观看| 免费在线黄色网| 欧美酷刑日本凌虐凌虐| av大片在线播放| 国产精品免费视频久久久| 国产va免费精品观看精品视频| 欧美精品卡一卡二| 国产.欧美.日韩| 久久久久久久久毛片| 在线不卡免费欧美| 日本在线观看| 国产精品视频成人| 欧美精选一区二区三区| 超碰影院在线观看| 久久精品一区蜜桃臀影院| 丰满少妇乱子伦精品看片| 精品久久久久99| 日韩经典av| 国产精品久久久久久久天堂第1集| 欧美日本中文| 五月天丁香社区| 午夜精品一区二区三区电影天堂| 国产18精品乱码免费看| 久久久久久亚洲精品不卡| 中文在线综合| 热99这里只有精品| 91免费小视频| 伦av综合一区| 在线播放国产一区中文字幕剧情欧美| 不卡av播放| 亚洲成色www久久网站| 美国一区二区三区在线播放 | 亚洲一区二区三区xxx视频| 中文字幕免费精品| 中文写幕一区二区三区免费观成熟| 亚洲乱码国产乱码精品精可以看| 亚洲国产一二三区| 久久久久久久久久婷婷| 欧美激情15p| 九热视频在线观看| 136国产福利精品导航| 精品人妻一区二区三区含羞草| 色与欲影视天天看综合网| 成午夜精品一区二区三区软件| 欧美精品自拍视频| 久久久91精品国产一区二区三区| 国产99免费视频| www.久久撸.com| 伊人精品综合| 成人亚洲视频在线观看| 国产精品久久久久久久蜜臀| 国产99视频在线| 欧美最猛性xxxx| 999久久久精品国产| 久久久久久久穴| 色视频成人在线观看免| 欧美18hd| 国产综合欧美在线看| 日韩二区三区在线观看| 男人与禽猛交狂配| 日韩激情在线视频| 日韩综合av| 欧美爱爱视频免费看| 国产精品毛片久久久久久| 亚洲女同志亚洲女同女播放| 国产ts一区二区| 在线看片不卡| 国产ts在线播放| 日韩精品一区二区三区在线 | gogo在线高清视频| 久久久久久艹| 国模娜娜一区二区三区| 六月丁香激情综合| 美女啪啪无遮挡免费久久网站| 日韩电影不卡一区| 五月天国产视频| 在线视频中文字幕一区二区|