提升問題解決能力思考(二)

之前想過一次相關東西,提升解決問題能力的思考,不過真正做事的時候,還是有問題。如果不出問題,人可能會無聊吧,出了問題,纔有機會找到自己的盲區進行彌補。

年前的時候有發現一個問題,當時想的推到年後再解決吧,果然年後問題又暴露了。

問題

支付寶在預授權凍結成功的時候會給我們發送通知,這個是官方消息比較可靠。但是失敗的時候,我們無法立刻得知結果,而業務進行實際免押按鈕要置灰的話,需要知道及時的結果。

因此需要知道凍結失敗,輪詢支付寶不好,就採用接受mapi傳過來的結果。

問題是mapi傳過來的結果不可信,另外在客戶端預授權凍結失敗的時候,支付寶app沒有返回標誌性信息,標誌性信息需要客戶端維護。最終導致mapi傳給我們混亂數據,並且我們沒有做有效驗證。

這個東西客戶端是第一手數據源,客戶端告訴我們數據是什麼,然後來問我們數據是什麼,我覺得這樣多個步驟也容易出問題。

思考

  1. 很多時候我們面臨的情況是未知的,邊走邊想怎麼處理的。但是團隊協作的時候,最好養成大家一起討論的習慣。

支付寶app在預授權失敗的時候沒有返回有效的標誌時,這個信息流到我這裏就沒有再往下走了,我就和mapi商量,讓他直接傳給我標記,當時想的是這種模糊的東西,離數據的源頭越遠越不好。討論方案沒問題,但是這種凍結失敗沒有有效數據的,貌似團隊的人都不知道。

一個人的力量是小的,團隊的力量是大的,雖然東西不在我們這裏解決,但是有問題起碼讓大家知道。

  1. 多想一步,其實還是刨根問底。

在客戶端都無法獲取有效標記的時候,mapi面臨的處境和我是一樣的,接觸的都不是最源頭的數據。都可能是錯誤的數據,這個時候其實自己可以多關注mapi是如何處理的。問清楚具體怎麼弄的。

而目前自己的做法是,這個數據離我太遠了,讓mapi處理吧,然後不管了。我自己都不太清楚怎麼處理的時候,mapi難道一定知道怎麼處理嗎?不要把鍋丟給別人就不管了。

自己比較迷糊的地方,要問清楚,留下疑點不好

  1. 外部系統都可能會出錯,不要放過出錯的可能性。

在開發的時候,腦子裏閃過這個念頭,“mapi會不會把支付寶請求號弄錯?畢竟不好獲取”,當時就是想了這個問題,然後就自己回答:“應該沒問題”

太樂觀了,突然想到“明修棧道暗度陳倉”,項羽太自信就給了劉邦機會過來打敗自己。

開發的時候保持悲觀的思考,比太自信強。如果有疑問,最好把它揪出來,而不是偷懶。我這裏也是想到了外部可能會出錯,但是還是放過它了。

額外

出了問題,纔想這個東西有什麼影響時,有點晚了,最好再設計的時候就要想清楚這個東西有什麼影響。各種問題可能有什麼情況,在設計的時候如果考慮影響,也是考慮的更加全面的一種方式。

如果出了問題,提前想的話,就能更快的想到影響,採取的方案。方案設計的時候,除了正常情況,考慮異常的時候如何進行降級,高可用的處理。

穩定性,災備,常規穩定性保障流程及手段,業務存在不合理的地方,需要流程梳理並優化的地方,是不是要從業務角度出發,做隔離,降級,高可用的手段。

而不是僅僅簡單的思考:“應該沒問題”

最後

做事多想一步,提前想到。

  • 出現狀況拿出來和大家一起討論

  • 養成不放過任何疑點的習慣

  • 刨根問底,有時候怕麻煩別人,但是有問題,就是麻煩自己了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章