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

国产亚洲短视频| 精久久久久久| 欧美日韩三级一区二区| 亚洲精品电影在线一区| 夜夜嗨aⅴ一区二区三区| 国产精品99一区二区三| 亚洲的天堂在线中文字幕| 无码aⅴ精品一区二区三区浪潮| 国产中文字幕在线观看| 另类成人小视频在线| 欧美日韩xxxxx| 黄色aaa视频| 国产电影一区| 狠狠干狠狠久久| 亚洲春色在线视频| 丰满少妇被猛烈进入| 日韩国产一区二| 美女性感视频久久久| 欧美图片一区二区| 久久精品xxxxx| 亚洲大片一区二区三区| 午夜视频久久久| 后进极品白嫩翘臀在线视频| 人人精品人人爱| 97超级碰碰碰久久久| 日本美女黄色一级片| 久久久久久毛片免费看| 欧美巨大另类极品videosbest| 日本a在线免费观看| 日韩在线观看www| 99国产欧美另类久久久精品| 成人妇女淫片aaaa视频| 日日骚av一区二区| 国内精品久久久久久久影视麻豆 | 奇米777在线| 综合另类专区| 亚洲福利一二三区| 一区二区视频在线观看| 欧美少妇另类| 成人精品国产一区二区4080| 成人乱色短篇合集| 五月激情丁香网| 国产美女精品| 国内精品国产三级国产在线专| 午夜国产小视频| 欧美久久精品一级c片| 亚洲精品久久久一区二区三区| 中文字幕一区二区三区四| 亚洲mmav| 在线精品视频一区二区三四| 日本少妇高潮喷水视频| sm久久捆绑调教精品一区| 一区二区三区欧美在线观看| 咪咪色在线视频| 在线观看a视频| 久久精品亚洲麻豆av一区二区| 国产一区二区三区无遮挡| 精品人妻aV中文字幕乱码色欲| 精品亚洲aⅴ乱码一区二区三区| 日本久久中文字幕| 国产精品免费精品一区| 亚洲影视在线| 欧美在线一级va免费观看| 在线观看免费国产视频| av成人黄色| 欧美专区国产专区| 啦啦啦免费高清视频在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产精品区在线| jizz免费一区二区三区| 欧美日韩小视频| 天天干天天操天天玩| 美女视频一区| 91精品国产综合久久久久| 五月天婷婷影视| 国产aa精品| 精品精品国产高清一毛片一天堂| www.四虎精品| 日韩精品丝袜美腿| 亚洲欧美日韩国产成人| 国产精品视频在| 91精品国产自产在线观看永久∴| 色琪琪综合男人的天堂aⅴ视频| 色偷偷男人天堂| 2023国产精品久久久精品双| 久久久久久久久久久国产| 毛片视频网站在线观看| 人人精品人人爱| 亚洲综合小说区| 日批视频在线播放| 国产性做久久久久久| 一区一区视频| 欧美人与禽性xxxxx杂性| 精品久久久中文| 欧美精品性生活| 日韩精品一区二区三区中文字幕| 精品国产一区二区在线观看| 西西大胆午夜视频| 久久在线播放| 久久久久久国产免费 | 欧美日韩精品一区二区三区四区| 国产永久免费网站| 国产成人精品亚洲线观看| 亚洲男人天堂久| 最新一区二区三区| 一本色道久久综合亚洲精品不卡| 国产精品久久久一区| 亚洲国产精品一| 久久久精品免费网站| 天天综合中文字幕| www在线观看黄色| 欧美欧美欧美欧美| 女同性恋一区二区三区| 欧美a级成人淫片免费看| 欧美激情久久久久| 中文字幕人妻一区二区三区视频| 成人综合婷婷国产精品久久免费| 日本一区二区不卡高清更新| 国产亚av手机在线观看| 欧美日韩一级大片网址| 国产精品久久无码| 一区二区在线| 国产精品视频免费观看www| 国产自产一区二区| 国产精品国模大尺度视频| 男人揉女人奶房视频60分| 电影中文字幕一区二区| 亚洲天堂网站在线观看视频| 精品少妇theporn| 精品一二三四区| 日韩久久久久久久| 国产在线天堂www网在线观看| 91麻豆精品国产| 国产精品理论在线| 噜噜噜久久亚洲精品国产品小说| 国产福利久久| 18加网站在线| 欧美一区二区三区四区五区| 男人的天堂av网| 宅男噜噜噜66国产日韩在线观看| av资源站久久亚洲| 国产网友自拍视频导航网站在线观看| 色综合久久中文字幕综合网| 国产伦精品一区二区三区精品| 亚洲国产不卡| 亚洲一区二区三区777| 在线看免费av| 欧美亚洲综合色| www.狠狠爱| 欧美亚洲专区| 欧美性bbwbbwbbwhd| 女人高潮被爽到呻吟在线观看| 精品国一区二区三区| 麻豆亚洲av成人无码久久精品| 国产毛片精品一区| 99久re热视频精品98| 国产精品一级在线观看| 大胆欧美人体视频| av男人天堂av| 一区二区三区欧美激情| 中文字幕亚洲日本| 亚洲国产高清视频| 精品欧美日韩在线| 欧亚在线中文字幕免费| 亚洲理论在线a中文字幕| www.国产一区二区| 久久久精品综合| 在线观看免费成人av| 青青草国产成人a∨下载安卓| 国产精品夜间视频香蕉| 国产黄色小视频在线| 日韩欧美电影在线| 精品一级少妇久久久久久久| 不卡区在线中文字幕| 国产精品沙发午睡系列| 久久av中文| 国产啪精品视频| h网站久久久| 亚洲高清一二三区| 美女又爽又黄免费视频| 国产精品丝袜黑色高跟| 天堂av2020| 亚洲大片在线| 日本午夜精品一区二区| 青青国产精品| 久久久久久久999| 视频二区在线| 欧美色窝79yyyycom| 久久99久久久| 久久精品免费在线观看| 永久免费黄色片| 亚洲美女色禁图| 性刺激综合网| 99tv成人影院| 91成人免费观看网站| yw视频在线观看| 日韩精品一区在线| 国产一区二区视频网站| 日韩理论片中文av| 污污内射在线观看一区二区少妇| 日韩在线一二三区| 日本黄网站色大片免费观看| 无码日韩精品一区二区免费| 国产日韩欧美电影在线观看| av资源在线播放| 中文字幕欧美国内| 嫩草影院一区二区| 欧美乱熟臀69xxxxxx| 日韩字幕在线观看| 国产精品国产三级国产aⅴ入口 | 国产免费一区二区三区四区五区| 亚洲乱码在线| 久久精品国产美女| 四虎影视国产精品| 97视频在线观看视频免费视频| 午夜小视频在线| 亚洲欧美日韩视频一区| 国产夫妻自拍av| 欧洲一区在线电影| 日韩欧美亚洲视频| 亚洲精品成a人| 在线观看亚洲大片短视频| 成人国产亚洲欧美成人综合网| 日本三级黄色网址| 亚洲综合丁香| 福利视频一区二区三区四区| 欧美国产一级| 日日噜噜噜噜夜夜爽亚洲精品| 国产劲爆久久| 999精品视频一区二区三区| 国内欧美日韩| 国产精品27p| 亚洲精品永久免费视频| 久久久人成影片一区二区三区| 成人影院在线看| 日韩在线视频网站| 超碰在线国产| 亚洲欧洲一区二区三区久久| 天天操天天插天天射| 精品精品欲导航| www.热久久| 日韩视频一区二区在线观看| 91高潮大合集爽到抽搐| 在线观看日产精品| 国产又大又粗又爽| 欧美日韩在线影院| 国产精品免费av一区二区| 亚洲一区二区三区视频在线| 国产av 一区二区三区| 国产精品久久99| 91无套直看片红桃在线观看| 国产校园另类小说区| 一区二区黄色片| 久久综合九色综合欧美98| 亚洲の无码国产の无码步美| 成年人网站91| 在线免费观看a级片| 91麻豆swag| 国产全是老熟女太爽了| 久久综合九色综合欧美98| 亚洲码无人客一区二区三区| 久久久久国产精品厨房| 中文字幕免费视频| 国产精品麻豆99久久久久久| 美国精品一区二区| 亚洲欧洲一区二区三区| 最新一区二区三区| 亚洲永久免费视频| 日韩欧美性视频| 色呦呦日韩精品| 亚洲第一区av| 3d成人动漫网站| 亚洲AV无码精品色毛片浪潮| 精品国产一区二区三区久久影院 | 午夜午夜精品一区二区三区文| 成人免费a**址| 黄色www在线观看| 极品少妇一区二区三区| 欧洲av无码放荡人妇网站| 日韩国产欧美在线观看| 国产毛片久久久久久| 成人av在线观| 亚洲黄色小说视频| 最新热久久免费视频| 欧美日韩一级大片| 精品久久久国产| 在线播放国产一区| 欧美一区二区三区免费视频| 亚洲精品97久久中文字幕无码| 亚洲国产小视频| 91最新在线| 高清在线视频日韩欧美| 一区二区视频免费完整版观看| 91色在线视频| 欧美日韩一区二区三区不卡视频| 日韩性感在线| 欧美视频久久| 999精品网站| 国产成人鲁色资源国产91色综| www.久久国产| 亚洲精品免费视频| 一级黄色在线视频| 日韩区在线观看| 国产无套粉嫩白浆在线2022年| 久久精品最新地址| 亚洲黄色免费av| 国产成人看片| 999国产精品| 欧美a在线视频| 国产麻豆一精品一av一免费| 免费在线观看污| 亚洲一二三专区| 亚洲网站免费观看| 日韩精品视频免费在线观看| 免费日本一区二区三区视频| 91精品国产色综合久久不卡98口| 亚洲免费资源| 日本不卡二区| 亚洲国产精品第一区二区| 天堂av2020| 中文字幕精品三区| 成年人免费高清视频| 日韩美女在线视频| 午夜在线播放| 国产精国产精品| 亚洲另类春色校园小说| 天堂av在线中文| 美腿丝袜一区二区三区| 波多野结衣福利| 亚洲自拍偷拍欧美| 国产女人18毛片18精品| 一个色综合导航| xxxxxx欧美| 久久精品aaaaaa毛片| 影音国产精品| 无人码人妻一区二区三区免费| 亚洲国产精品二十页| 国产精品美女久久久久av爽| 精品av久久707| 成年人黄视频在线观看| 国产免费一区二区三区在线观看 | 国产成人免费在线| 亚洲伦理一区二区三区| 欧美视频一区二区三区在线观看 | 欧美老女人在线视频| 超碰国产精品一区二页| 亚欧洲精品在线视频免费观看| 久久不射2019中文字幕| aaaaa一级片| 粉嫩老牛aⅴ一区二区三区| 熟妇人妻中文av无码| 国产69精品久久久久9999| 深夜激情久久| 欧美黄色免费网址| 国产成人自拍高清视频在线免费播放| 亚洲 欧美 国产 另类| 制服丝袜av成人在线看| av片在线观看| 91视频在线免费观看| 欧美三级网页| www男人天堂| 午夜电影一区二区| 天天色棕合合合合合合合| 91精品国产成人www| 亚洲第一福利社区| 六月丁香婷婷在线| 国产欧美日韩不卡免费| 这里只有精品免费视频| 少妇久久久久久| 免费一级欧美在线大片| 高清无码一区二区在线观看吞精| 高清视频一区二区| 久久不卡免费视频| 亚洲香蕉在线观看| 国产成人精选| 日本黄xxxxxxxxx100| 成人av电影免费观看| 欧美一区二区三区不卡视频| 中文国产成人精品| 嫩呦国产一区二区三区av| 日本少妇高潮喷水视频| 欧美国产激情一区二区三区蜜月| 911美女片黄在线观看游戏| 欧美日韩不卡合集视频| 色天下一区二区三区| 午夜免费高清视频| 国产精品成人午夜| 免费看黄色一级视频| 日本高清不卡在线| 97人人精品| 日本一区二区在线免费观看| 91豆麻精品91久久久久久| 免费在线观看黄| 国产综合欧美在线看| 麻豆精品在线观看| 日韩欧美不卡视频| 最近中文字幕2019免费| 大奶一区二区三区| 中文字幕在线导航| 亚洲一级二级三级|