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

一次日常需求處理帶給我的思考

開發 新聞
大淘寶技術一位新人小同學在一次日常需求處理后的感悟,整理成文章后分享給大家,望可以得到各位前輩的指點、各位新人同行的交流。

需求背景

團隊項目原來使用的云存儲中間件已經下線了,由于歷史原因未能及時將其全部遷移到新的云存儲平臺,進而導致部分功能在使用時出現問題。比如在某些需要上傳并存放文件的場景下,會導致上傳失敗,影響正常的業務邏輯;在某些需要下載文件的場景下無法找到正確的路徑,從而無法下載相關業務數據。這個問題之所以被發覺是因為前臺客訴反饋過來:某個菜單里的導出按鈕在點擊后沒有反應

排查思路

收到反饋后,我的思路大概是這樣子的:

首先是先評估下這個問題的影響面,我的思路也比較簡單:這個問題持續了多久了?影響到了多少用戶/操作的觸發呢?處于業務中的那一步?

還好云存儲中間件這個系統是面向內部的,因此待導出的數據并不多。并且因為它是獨立于業務主流程的,是需要單獨手動觸發的一個非必然操作,因此并未阻礙主流程的執行,影響范圍較小。

在確定了大致的影響范圍之后,就要進入排查環節。

排查環節可以從日志執行流程業務邏輯以及第三方依賴這幾個方面入手(受個人的思維局限性影響,大家有建議請指正),套上這次具體的場景,大概就是以下幾個問題。

  1. 服務器日志中有無錯誤信息?
  2. 提交后的表單是否通過了驗證邏輯并進入下載處理流程?
  3. 下載處理流程是怎么樣的?
  4. 中間是否有第三方依賴?以及第三方依賴狀態是否正常?

我們把這些問題解了,大概率也就找到了這個bug藏在了哪里。

工作過程

找到問題在哪后,我先去看了后臺被觸發的方法,以及方法內打印的日志內容:??save to *** failed, service not found??,然后順藤摸瓜找到了問題的原因:調用了某個已經下線的云存儲中間件。導出操作的時序圖簡化版如下:

圖片

導出操作時序圖

在查看項目代碼的時候,我發現之前有前輩做過相關工作的遷移,并且封裝了幾個上傳到新的云存儲平臺的方法,大概是這個按鈕不常被點擊,歷史遷移的時候也就給他漏了。于是結合老的文件導出的處理流程,我在已有方法的基礎上新增了可以接收 File 類型的方法,文件存放的位置則沿用了之前前輩所使用的 bucket 和父目錄。(bucket: 存放文件的某個桶,可以將不同的 bucket 理解為不同的存儲空間)

新增完方法之后,為了簡化該方法在使用時的成本,就在方法體內部根據 用戶ID 和 UUID 自動生成了父目錄下的文件子路徑,從而將其封裝為了僅需要一個 File 類型參數即可上傳文件的方法。

相比于其他上傳方法在調用前需要定義好幾個方法參數來說,這里只需要一行代碼直接 save 就行了。

這樣乍一看感覺沒什么問題,甚至在提交CR的時候都覺得這個方法很不錯,用起來可以說是干凈又衛生。既然這樣,我為什么還要寫這篇文章呢?

問題就在于,它可能有點“干凈”但并不“衛生”!

“干凈”在于之前說的調用的時候只需要傳入 File對象即可,對已有代碼塊只需要改動一行就成。那為什么說它不“衛生”呢?

思考總結

在代碼上線前的CR環節,師兄從代碼的安全性、通用性、維護性等幾個角度進行了評估,發現存在很多問題。

從 安全性 角度來講:不安全。本文之前有提到 “沿用了之前前輩的 bucket”,這點就是個容易被忽略的點,自己在使用這個 bucket 的時候并沒有去查看這個 bucket 中文件的訪問權限問題,而是直接默認“這個項目中用到 oss 存儲的地方都是這個 bucket,應該只申請了這一個 bucket ”,那我直接用也是 ok 的。

這其實是一個十分危險的想法,只把目光放到了項目上,而并未下沉到業務角度。在 CR 的過程中我們發現,之前使用這個 bucket 存放內容,是因為對應的業務方法和存放的數據都是可以對外的。而本次需求對應的業務方法,則并不對外,而是針對公司小二的,那再用這個就不合適了。

從 通用性 角度來講:不通用。設計初衷是這個方法可以直接傳入對象就能存儲,不需要再寫幾行代碼來定義對應的 bucket 和文件子路徑;但是其實在我們舍棄掉參數入口的時候,也關掉了靈活性和通用性的大門。這樣的設計意味著如果用戶使用這個方法,那么文件的存儲配置就必須得用你這個方法里的了,那萬一人家想改改配置呢?這種情況下就造成了使用者很大的不便。

從 整體維護性 角度來講:目錄不易維護。前邊有提到,子目錄的路徑是在方法體內部由登錄用戶的ID和 UUID 生成的。這樣的目錄劃分方式其實并不合理,因為我們存放的是文件,而在維護存儲的時候,我們可能會時不時整理/清理目錄與文件。

而這個整理/清理的維度通常是從業務角度出發的,并非用戶角度,比方說,我們要清理某月以前的歷史退款信息。一看目錄,看到的都是一堆用戶的id,這個時候負責處理的同學估計就是一臉懵了。相比較而言,文件目錄首級以業務進行分類,下一級以用戶信息或者日期信息再分類就會稍好點。那要怎么實現呢?答案就在 “通用性” 那一條:增加方法入參,把路徑定義的權限給具體的業務方法,雖然業務方法可能要多寫兩行代碼,但是最終的效果是好的。

圖片

舉個例子

以上就是這次需求處理的整個流程了,綜上,給自己最大的收獲就是:

  1. 當某個需求中使用到了自己之前沒用過的依賴/中間件的時候,要先去了解這個中間件的特性,以及在這個中間件中自己團隊已有的配置信息及其所代表的含義,不要盲目根據看到的代碼去YY;
  2. 對于一個方法的設計,不要去盲目的追求簡潔或者通用,要以實際業務出發去思考如何設計,否則可能會適得其反;
  3. 任何時候安全性一定要納入需求處理時的考慮范疇,千萬不要覺得一個功能很隱蔽就不用著重考慮它的安全性,沒有人能確定遲發性的影響會“送”我們一個多大的故障。

作為新入行的新人,我的經驗和思考有很大的局限性,歡迎各位前輩指正文中內容的不足或給出建議,不勝感激。

責任編輯:張燕妮 來源: 大淘寶技術
相關推薦

2015-08-05 17:16:17

電影ip像素游戲像素大戰

2018-12-27 09:09:35

2019-11-04 10:37:53

MongoDB宕機日志

2023-04-03 14:32:39

異構計算算力芯片

2015-07-17 10:05:03

面試思考

2022-11-29 21:26:26

跨域配置

2009-02-20 14:48:47

IT服務管理ITSM摩卡

2009-06-15 15:29:48

IT服務運維管理摩卡

2010-01-26 09:20:38

Ubuntu10.04Ubuntu9.10

2017-11-28 16:37:19

黑五

2023-11-06 07:45:42

單據圖片處理

2013-03-25 11:28:40

2011-06-28 10:41:50

DBA

2010-08-12 09:07:25

Solaris 11Oracle

2020-08-19 11:02:39

系統ssh登錄

2015-09-02 09:55:03

云服務MBaaS移動三層架構

2015-08-27 09:19:23

移動后端即服務MBaaSPaaS

2009-12-07 09:12:52

2021-03-18 23:47:18

MySQLselect索引

2010-03-24 11:14:41

TurboLinux系
點贊
收藏

51CTO技術棧公眾號

国产精品wwww| 欧美日韩精品在线播放| 国产女精品视频网站免费| xxxx日本少妇| 欧美激情极品| 狠狠做深爱婷婷久久综合一区| 色噜噜一区二区| 国产区精品在线| 99在线热播精品免费99热| 亚洲最新av在线| 97中文字幕在线观看| 在线手机中文字幕| ...av二区三区久久精品| 国产 高清 精品 在线 a| 黄色片视频免费| 国产精品久久观看| 国产丝袜视频一区| 国产sm在线观看| 91精品国产66| 精品久久久久久国产91| 秋霞在线一区二区| 国内精品一区视频| 成人午夜又粗又硬又大| 国产精品偷伦免费视频观看的| 日本网站免费观看| 天天综合久久| 中文字幕国产亚洲| 国产男男chinese网站| 91精品啪在线观看国产爱臀 | 青青草影院在线观看| 欧美巨乳在线| 99精品在线观看视频| 91国产丝袜在线放| 一级片aaaa| 国产精品日韩| 午夜精品视频在线| 麻豆明星ai换脸视频| 欧美日韩一区二区综合| 亚洲欧洲国产伦综合| 特级西西人体4444xxxx| jizz国产精品| 日韩精品专区在线影院重磅| www午夜视频| 99精品国自产在线| 欧美综合久久久| 黑鬼大战白妞高潮喷白浆| 国产乱码精品一区二三赶尸艳谈| 亚洲一区二区在线免费观看视频| 97av中文字幕| 欧美aaaaaaa| 一区二区日韩av| 天天操天天干天天玩| 日本天堂在线观看| 综合久久给合久久狠狠狠97色| 亚洲精品白虎| 欧美性videos| 亚洲手机成人高清视频| 亚洲成人动漫在线| 午夜成年人在线免费视频| 亚洲你懂的在线视频| 成人在线免费高清视频| 欧美韩日亚洲| 亚洲成av人片在线观看无码| 成人黄色av片| 成人性生交大片免费观看网站| 欧美性xxxx极品高清hd直播| 久草资源站在线观看| 性高爱久久久久久久久| 欧美少妇bbb| 在线免费看污网站| 最新精品在线| 日韩黄在线观看| a天堂中文字幕| 久久免费大视频| 久青草国产97香蕉在线视频| 欧美激情国产日韩精品一区18| 能在线观看的av| 91精品论坛| 欧美在线free| 青青草精品在线| 欧美调教在线| 一道本无吗dⅴd在线播放一区| 欧美乱大交做爰xxxⅹ小说| 91精品国产成人观看| 欧美激情一区二区久久久| 国产成人愉拍精品久久| 日韩精品一区第一页| 国产中文字幕91| 亚洲av无码一区二区三区性色| 99在线精品一区二区三区| 日韩一区不卡| 色网在线观看| 色又黄又爽网站www久久| 91插插插插插插插插| 日韩免费成人| 国产亚洲美女精品久久久| 黄色片在线观看网站| 一本色道久久综合| 成人黄色av播放免费| 婷婷五月综合激情| 成人欧美一区二区三区1314| 霍思燕三级露全乳照| 精品国产黄a∨片高清在线| 日韩美女一区二区三区| 国产视频三区四区| 亚洲日本成人| 成人免费大片黄在线播放| 天堂在线中文网| 自拍偷自拍亚洲精品播放| www.av中文字幕| 色狠狠一区二区三区| 日韩精品一二三四区| 中文字幕另类日韩欧美亚洲嫩草| 亚洲综合欧美| 成人午夜电影免费在线观看| 91视频在线观看| 欧美日韩亚洲视频| 欧美久久久久久久久久久| 成人免费a**址| 欧美中文字幕第一页| 午夜久久久久久久久久| 国产精品青草久久| 任你操这里只有精品| 免费成人三级| 欧美极品在线播放| av老司机久久| 中文字幕一区三区| 亚洲性生活网站| 亚洲最好看的视频| 2019精品视频| 丰满肉嫩西川结衣av| 亚洲你懂的在线视频| 欧美视频国产视频| 日韩精品免费一区二区三区| 日本高清+成人网在线观看| 黄色成人一级片| 亚洲一卡二卡三卡四卡无卡久久| 国产性生活一级片| 国产二区精品| 成人黄色生活片| 精品麻豆一区二区三区| 欧美精品三级日韩久久| 任我爽在线视频| 久久精品国产秦先生| 日韩欧美视频一区二区| 日本国产欧美| 伊人青青综合网站| 中文在线字幕免费观| 中文无字幕一区二区三区 | 欧美精品一区二区不卡| 久久久精品一区二区涩爱| 国产美女av一区二区三区| 一本一道久久a久久综合精品 | 欧美视频一区二区三区| 国产jjizz一区二区三区视频| 久久久久久久尹人综合网亚洲| 久久伊人资源站| 欧美成人h版| 在线电影中文日韩| 国产又粗又猛又黄又爽| 亚洲欧美日韩电影| 日韩成人av影院| 日韩网站在线| 日韩av在线电影观看| 成人免费视频观看| 欧美成人手机在线| 蜜臀av中文字幕| 色婷婷综合激情| 久久爱一区二区| 福利电影一区二区三区| 女性女同性aⅴ免费观女性恋| 久久不见久久见国语| 国产精品香蕉国产| 色呦呦在线看| 亚洲欧美精品一区二区| 中文字幕一区二区三区免费看| 亚洲色图欧洲色图| 91欧美一区二区三区| 激情丁香综合| 日韩欧美一区二区三区四区五区| **欧美日韩在线| 久久久久久18| 国产小视频在线| 欧美一区二区在线播放| 日韩美女黄色片| 国产精品日日摸夜夜摸av| 中文字幕乱码在线人视频| 亚洲欧美视频| 国产资源第一页| 在线看成人短视频| 亚洲bt欧美bt日本bt| xx欧美xxx| 超碰精品一区二区三区乱码| 午夜视频福利在线| 欧美久久久久久蜜桃| av资源吧首页| 1000精品久久久久久久久| 五月开心播播网| 韩国成人在线视频| 欧美日本在线观看| 日本中文字幕有码| 日韩精品色哟哟| 日产精品久久久久久久蜜臀| 少妇精品久久久一区二区| 99热最新在线| 四虎国产精品永久在线国在线| 亚洲91av视频| 2020国产在线视频| 尤物yw午夜国产精品视频明星 | 日韩精品在线看| 国产精品伊人久久| 91精品福利在线| 国产 日韩 欧美 成人| 国产精品久久久爽爽爽麻豆色哟哟| 人妻 日韩 欧美 综合 制服| 久久精品国产精品亚洲红杏| 久久9精品区-无套内射无码| 欧美日韩国产色综合一二三四| 日韩中文字幕av在线| 人人网欧美视频| 成人9ⅰ免费影视网站| av成人免费| 日本一区二区三区在线播放| а√在线中文网新版地址在线| 久久精品色欧美aⅴ一区二区| 久久精品国产亚洲a∨麻豆| 亚洲成人av片| 精品人妻aV中文字幕乱码色欲| 欧美亚洲国产一区二区三区va| 久久一区二区三区视频| 亚洲网友自拍偷拍| 久久午夜无码鲁丝片| 亚洲色图丝袜美腿| 国产成人综合在线视频| 中文字幕一区二区三区在线观看| 91精品久久久久久久久久久久| 91麻豆成人久久精品二区三区| 国产欧美一区二| 久久精品国产一区二区| 国内外成人免费在线视频| 日本成人中文字幕| 久久国产精品国产精品| 日本午夜精品一区二区三区电影| 88av.com| 男男成人高潮片免费网站| 亚州精品一二三区| 免费观看在线综合色| 天堂网在线免费观看| 美腿丝袜在线亚洲一区| 欧美成人福利在线观看| 久久久777| 男女啪啪网站视频| 久久成人免费网| 天堂av.com| 成人丝袜高跟foot| 久久丫精品国产亚洲av不卡| 久久这里只精品最新地址| 一区二区黄色片| 欧美国产日本韩| 日本黄色片免费观看| 樱花影视一区二区| 日韩美女一级片| 色综合久久久网| 在线免费av片| 日韩一区二区精品葵司在线| 色婷婷av一区二区三区之红樱桃| 亚洲精品美女视频| sese在线视频| 欧美成人免费视频| 在线免费三级电影网站| 国产精品美女免费| 欧美大片91| 久久国产精品-国产精品| 精品高清久久| 免费观看亚洲视频| 国产精品久久久久久久免费软件 | 狠狠色综合色综合网络| 成年人看片网站| 99久久综合国产精品| 欧美福利第一页| 一区二区高清视频在线观看| 在线观看黄网站| 欧美久久免费观看| 天天摸天天干天天操| 中文字幕精品久久久久| 性xxxfreexxxx性欧美| 5566日本婷婷色中文字幕97| 日本欧美在线| 狠狠色噜噜狠狠色综合久| 成人无号精品一区二区三区| 欧美日韩中文字幕在线播放| 久热精品视频| 佐佐木明希电影| 国产色一区二区| 久久久国产精华液| 欧美三级电影精品| 神马午夜电影一区二区三区在线观看 | 日韩av片网站| 97久久精品人人爽人人爽蜜臀| av资源在线免费观看| 天天av天天翘天天综合网色鬼国产 | 免费网站看v片在线a| 欧美一区二区视频97| 日本在线视频一区二区三区| 欧美一区二区高清在线观看| 欧美在线资源| 手机在线成人免费视频| 91丨porny丨在线| 久久久久久久久97| 欧美喷潮久久久xxxxx| 日本大片在线观看| 欧美精品久久久久久久久| 男女啪啪999亚洲精品| 免费一区二区三区在在线视频| 欧美日韩国产色综合一二三四| 无尽裸体动漫2d在线观看| 久久久91精品国产一区二区三区| 国产极品美女高潮无套嗷嗷叫酒店 | 精品国内自产拍在线观看| 欧美成人影院| 精品乱子伦一区二区三区| 综合五月婷婷| 欧美性受xxxxxx黑人xyx性爽| 久久久不卡网国产精品二区| 日韩视频免费观看高清| 日韩精品中文字幕在线一区| 欧美另类极品| 国产日本欧美在线观看| 精品视频日韩| 热久久精品免费视频| 久久久久久久久久看片| 五月激情六月丁香| 亚洲国产欧美一区二区三区同亚洲 | 国产精品久久久久久久久免费丝袜| 日韩精品视频免费播放| 亚洲成人久久网| www欧美xxxx| 国产成人看片| 亚洲高清成人| 黄色网址在线视频| 午夜电影网亚洲视频| 人妻视频一区二区三区| 国产做受高潮69| 麻豆精品av| 无码aⅴ精品一区二区三区浪潮| 99久久国产综合精品女不卡| 国产一级做a爱片久久毛片a| 日韩大陆毛片av| 成人午夜视屏| 亚洲精品一卡二卡三卡四卡| 青青草成人在线观看| 黄色av片三级三级三级免费看| 欧美日韩精品一区视频| 日本a在线播放| 亚洲最大福利视频| 极品尤物久久久av免费看| 欧美无人区码suv| 欧洲精品一区二区| 婷婷五月在线视频| 亚洲一区二区免费在线| 国产精品mm| 搡老熟女老女人一区二区| 色噜噜狠狠成人中文综合| 夜级特黄日本大片_在线| 91免费福利视频| 亚洲精品黄色| 女人黄色一级片| 欧美精品在线观看一区二区| 手机在线免费av| 精品免费国产| 蜜臀va亚洲va欧美va天堂 | 中文字幕永久免费| 欧美日韩国产一区二区| 都市激情一区| 亚洲最大成人在线| 一本色道88久久加勒比精品| 欧洲性xxxx| 精品国产一区二区三区四区四| 中文在线а√在线8| 亚洲精品乱码视频| 成人免费av在线| 波多野结衣电车| 九色精品免费永久在线| 亚洲瘦老头同性70tv| 国产精品久久久久久9999| 无码av中文一区二区三区桃花岛| 97人人在线| 国产免费一区二区三区| 蜜桃视频在线一区| 日本免费观看视| 久久精品国产一区| 特黄特色欧美大片| 欧美激情第四页| 日本韩国精品在线| 黄色羞羞视频在线观看| 亚洲欧洲免费无码| av一二三不卡影片| 国产成人精品毛片| 国产精品久久久久久久午夜| 激情欧美丁香|