精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产另类自拍| 欧美福利视频在线| 向日葵污视频在线观看| 黄色网在线免费观看| 丝袜制服一区二区三区| 在线不卡日本v二区707| 久久综合久色欧美综合狠狠| 国产美女91呻吟求| 国产在线观看成人| 国产成人ay| 欧美一级二级三级蜜桃| 大陆极品少妇内射aaaaa| 日本中文字幕在线看| av一区二区三区黑人| 国产日本欧美一区| 国产一级做a爱片久久毛片a| 亚洲有吗中文字幕| 亚洲人成啪啪网站| 欧洲成人午夜精品无码区久久| 香蕉视频亚洲一级| 亚洲一区二区三区不卡国产欧美| 欧美国产二区| 欧美一级特黄aaaaaa| 久久av老司机精品网站导航| 2019日本中文字幕| 欧美第一页在线观看| 日本大片在线观看| 久久精品国产秦先生| 青青在线视频一区二区三区| 久久久久无码精品国产| 国产精品久久占久久| 亚洲人成电影在线播放| 97人妻天天摸天天爽天天| 午夜精品在线| 欧美一区二区福利在线| 免费看国产黄色片| av资源亚洲| 午夜电影久久久| 激情成人开心网| 老司机在线看片网av| 国产精品欧美一区二区三区| 麻豆精品视频| 色婷婷av一区二区三区之红樱桃 | 国产人成视频在线观看| 国产一区一区| 欧美一区在线视频| 在线免费观看av网| 香蕉久久一区| 在线播放91灌醉迷j高跟美女 | 国产精品香蕉一区二区三区| 91精品久久久久久| 91亚洲精品国偷拍自产在线观看| 免费人成网站在线观看欧美高清| 国产精品都在这里| 无码人妻丰满熟妇奶水区码| 亚洲欧美久久| 国产v综合v亚洲欧美久久| 国产在线观看黄色| 久久精品一区| 国产不卡视频在线| 在线观看国产精品入口男同| 精品一区二区三区的国产在线播放| 国产精品欧美在线| 国产精品久久久久久久久久久久久久久久久久 | 国产精品网红直播| 国产男女无套免费网站| 国产精品一二三在| 国产精品视频入口| 外国精品视频在线观看| 久久精品亚洲麻豆av一区二区| 欧美一区二视频在线免费观看| 欧美zozo| 中文在线一区二区| 亚洲区成人777777精品| wwww亚洲| 在线免费视频一区二区| 奇米影视四色在线| 北条麻妃一区二区三区在线观看 | 亚洲美女毛片| 88xx成人精品| 国产成人av免费| 国产在线国偷精品产拍免费yy| 97国产超碰| 日韩欧美在线番号| 中文字幕中文字幕在线一区| 乱子伦一区二区| 色是在线视频| 欧美日韩激情一区| 2018国产精品| 欧美一区2区| 欧美日韩国产第一页| 影音先锋在线国产| 久久国产免费看| 国产一区免费在线观看| av色图一区| 亚洲国产欧美在线人成| 777视频在线| 久久综合社区| 中文字幕v亚洲ⅴv天堂| 日韩精品一区二区三区国语自制| 蜜臀久久99精品久久久久久9| 91理论片午午论夜理片久久| 你懂的视频在线观看| 一区二区三区中文字幕电影| 欧美精品一区二区三区免费播放| 久久丁香四色| 一区二区亚洲欧洲国产日韩| 久久久久亚洲av片无码下载蜜桃| 视频一区二区三区入口| av一本久道久久波多野结衣| 91最新在线| 精品久久久久久久久久| 黄色a级三级三级三级| 西野翔中文久久精品字幕| 久久中文字幕在线| 久久久久久亚洲av无码专区| 菠萝蜜视频在线观看一区| 亚洲ai欧洲av| 韩日成人影院| 亚洲国产成人爱av在线播放| 男人的天堂久久久| 青青草国产精品97视觉盛宴| 蜜桃91精品入口| 黄色羞羞视频在线观看| 91精品啪在线观看国产60岁| 午夜精产品一区二区在线观看的| 亚洲国产91| 亚洲一区免费网站| 日本电影全部在线观看网站视频| 欧美午夜电影在线| 一级欧美一级日韩片| 欧美午夜久久| 99re国产视频| 精品国产白色丝袜高跟鞋| 欧美专区日韩专区| 欧美熟妇一区二区| 亚洲欧美大片| 欧美亚洲免费高清在线观看 | 疯狂欧美牲乱大交777| 特黄特色免费视频| 欧美涩涩视频| 国产aⅴ精品一区二区三区黄| 里番在线观看网站| 欧美精品久久天天躁| 亚洲一级理论片| 蜜臀av性久久久久av蜜臀妖精| 日韩高清dvd| 韩日一区二区| 日韩视频永久免费观看| 91精品国产乱码久久久久| 国产精品国产三级国产三级人妇| 九热视频在线观看| 成人av资源电影网站| 国产精品女人久久久久久| 91网在线播放| 91.麻豆视频| 欧美精品一区二区蜜桃| 国产成人精品一区二区三区四区 | 日韩高清免费在线| 国产一级片毛片| 国产日韩欧美一区二区三区乱码 | 久久久一区二区| 激情网站五月天| 日韩电影免费在线观看| 成人淫片在线看| 欧美四级在线| 日韩精品欧美激情| 久久午夜鲁丝片| 国产精品夫妻自拍| 久久久久亚洲av无码网站| 亚洲日本免费| 日韩av一区二区三区在线 | 91精品在线免费观看| 免费中文字幕在线| www.日韩av| 午夜欧美福利视频| 亚洲破处大片| 国产一区二区三区免费不卡| 欧美电影网站| 久久精品国产一区二区三区| 国产 欧美 精品| 色婷婷激情一区二区三区| 熟女少妇a性色生活片毛片| 国产成人一级电影| 久久精品国产精品亚洲色婷婷| 欧美日韩精品在线一区| 91一区二区三区| 一个人看的www视频在线免费观看| 色偷偷av一区二区三区乱| www.久久久久久久久久| 日本久久电影网| 免费人成在线观看| 欧美激情一区二区三区在线| 中文字幕99页| 麻豆国产91在线播放| 无码粉嫩虎白一线天在线观看| 怕怕欧美视频免费大全| 91入口在线观看| 日韩av首页| 欧美激情在线播放| 日韩大片在线永久免费观看网站| 亚洲电影免费观看高清| 国产伦精品一区二区三区四区| 激情懂色av一区av二区av| 影音先锋男人资源在线观看| 91色综合久久久久婷婷| 日韩欧美中文在线视频| 日本美女一区二区三区| 高清欧美精品xxxxx| 国产精品不卡| 日本一区二区免费看| 视频一区在线| 成人久久久久久久| 欧美黄色网页| 91精品国产精品| 日韩精品亚洲人成在线观看| 神马国产精品影院av| 欧美男男同志| 亚洲国产精品资源| 亚洲精品国产av| 91精品国产综合久久国产大片| 亚洲天堂网站在线观看视频| 一区二区三区在线观看av| 亚洲国产精品久久一线不卡| 国产一区二区视频在线观看免费| 国产精品久久久久aaaa樱花| 中文字字幕码一二三区| gogo大胆日本视频一区| 国产性猛交96| 国产成人av电影在线观看| 午夜国产福利在线观看| 欧美96一区二区免费视频| 日韩 欧美 高清| 男人的天堂亚洲在线| 99久久国产综合精品五月天喷水| 亚洲综合自拍| 免费在线观看污污视频| 日韩毛片视频| 四虎影院一区二区三区| 精品国产不卡| 色综合久久av| 日韩欧美高清在线播放| 五月天综合网| 欧美电影一二区| 色中文字幕在线观看| 999国产精品999久久久久久| 一区二区三区视频| 99精品小视频| 欧洲xxxxx| 激情综合在线| 欧美久久在线观看| 99亚洲视频| 欧美亚洲另类色图| 国产精品日本欧美一区二区三区| 怡红院av亚洲一区二区三区h| 日韩视频免费| 亚洲精品中文字幕无码蜜桃| 日本午夜一区二区| 色婷婷一区二区三区av免费看| 久久99久国产精品黄毛片色诱| 午夜剧场高清版免费观看| 国产一区二区在线看| 男男受被啪到高潮自述| 成人激情免费网站| 国产精品嫩草av| 国产欧美视频在线观看| 欧美爱爱免费视频| 亚洲夂夂婷婷色拍ww47| 天堂а√在线中文在线新版| 欧美亚洲国产一区二区三区va | 日韩中文字幕一区| 久久中文字幕二区| 天堂а√在线中文在线| 中文一区在线| 日本人69视频| 国v精品久久久网| 波多野吉衣中文字幕| 国产精品乱人伦中文| 久久亚洲av午夜福利精品一区| 香蕉成人伊视频在线观看| 一级黄色在线观看| 日韩欧美精品在线视频| 欧美日韩伦理片| 免费91在线视频| 亚洲美女久久精品| 91亚洲精华国产精华| 久久免费视频66| 亚洲一二三区在线| 亚洲激情专区| 亚洲一区日韩精品| av亚洲精华国产精华精| ass极品国模人体欣赏| 亚洲一区二三区| 最近中文字幕免费观看| 精品久久久久久久久久久久久久久久久| 性xxxxbbbb| 米奇精品一区二区三区在线观看| 涩涩视频在线免费看| 91天堂在线视频| 国模精品一区| 国产v片免费观看| 国产一区久久久| 国产精品成人无码免费| 亚洲成va人在线观看| 国产精品毛片一区视频播| 亚洲乱码av中文一区二区| 欧美性video| 91丝袜美腿美女视频网站| 韩日一区二区三区| 欧美 日韩 亚洲 一区| 国产一区二区三区在线观看精品 | 成人做爽爽免费视频| 欧美猛男做受videos| 岛国大片在线播放| 国产美女在线精品| 国产18无套直看片| 一本久久精品一区二区| 免费成人在线看| 欧美成人激情在线| 亚洲伦理网站| 一区二区精品免费视频| 久久综合网络一区二区| yy6080午夜| 亚洲国产精品尤物yw在线观看| 91片黄在线观看喷潮| 中文字幕9999| 成人在线观看免费视频| 日本免费高清一区| 亚洲综合国产| 中文成人无字幕乱码精品区| 亚洲制服丝袜一区| 亚洲成人77777| 欧美大片免费看| 99亚洲乱人伦aⅴ精品| 丰满人妻一区二区三区53号| 久久狠狠亚洲综合| 欧美特黄一级片| 777久久久精品| 国产区在线观看| 91久久久久久国产精品| 天天射成人网| 91香蕉视频在线观看视频| 亚洲欧美日韩国产中文在线| 国产精品无码久久久久成人app| 久久精品国产亚洲一区二区 | 欧美一级二级在线观看| www视频在线看| 动漫美女被爆操久久久| 在线国产日韩| 无码人妻aⅴ一区二区三区| 日韩欧美在线视频| 成人影院免费观看| 国产日产欧美精品| 91精品99| 久久无码专区国产精品s| 亚洲国产精品一区二区久久恐怖片| 亚洲精品久久久久久动漫器材一区| 久久久久久久久久久久久久久久久久av| 成人av资源网址| av免费观看网| 久久你懂得1024| 伊人精品在线视频| 九色成人免费视频| 天天做夜夜做人人爱精品 | 一区二区中文字幕| 91精品网站在线观看| 69sex久久精品国产麻豆| 97超碰欧美中文字幕| 成人黄色三级视频| 久热在线中文字幕色999舞| 精品资源在线| www.99在线| 一区二区三区久久| 深夜福利在线看| 国产在线拍揄自揄视频不卡99| 中文字幕日韩欧美精品高清在线| 97香蕉碰碰人妻国产欧美| 欧美亚洲动漫精品| 日韩电影免费观看| 欧美日韩精品中文字幕一区二区| 理论电影国产精品| 男人天堂中文字幕| 在线丨暗呦小u女国产精品| 日韩中文字幕| 18岁视频在线观看| 一区二区三区四区精品在线视频 | 成人偷拍自拍| 无码少妇一区二区三区芒果| 亚洲欧美激情一区二区| 污视频在线免费观看| 91久久国产精品| 久久精品毛片| 欧美激情国产精品免费| 亚洲人成绝费网站色www| 激情不卡一区二区三区视频在线| 人妻少妇被粗大爽9797pw| 亚洲免费在线播放| 国产精品免费观看| 国产精品一区二区欧美| 激情成人综合网|