在 API 架構設計中,有多種方式可以選擇。
為了要能因應每個專案的需求都不同,以及隨著技術環境和商業需求的變化,
API的設計不僅是要符合現有需求的方案,更要能支持未來的擴展、性能、維護性和成本效益。
但是每一種架構都有其特點
在考量API架構時,可以先思考一下,這個需求所要考慮的特點是什麼
在 API 架構設計中,有多種方式可以選擇。
為了要能因應每個專案的需求都不同,以及隨著技術環境和商業需求的變化,
API的設計不僅是要符合現有需求的方案,更要能支持未來的擴展、性能、維護性和成本效益。
但是每一種架構都有其特點
在考量API架構時,可以先思考一下,這個需求所要考慮的特點是什麼
在 SRE 的實務中,有兩個關鍵概念特別重要,它們圍繞著「持續改進循環」的理念。這種循環能幫助你的系統不斷進步,形成正向的發展動力。首先來概觀這兩個實務:
1. SLI 與 SLO:量化服務品質的基石
當我們要部署新服務時,首要任務是定義服務的可靠性標準。這需要開發團隊和營運團隊共同合作,確立兩個重要指標:
服務品質指標(SLI):
服務品質目標(SLO):
錯誤預算:靈活運用可靠性空間
假設我們設定服務的 SLO 為 80% 的可用性,這意味著:
錯誤預算的管理策略:
2. 不究責的事後檢討:從失敗中學習
SRE 特別強調事後檢討必須採取不究責的態度:
這種方法的優點:
在 SRE 實務中,兩個核心機制相輔相成,共同打造組織的持續進步文化:
首先,透過完善的事後檢討機制,我們建立了一個正向的改善循環。當系統發生中斷或故障時,這個機制確保每個事件都成為團隊的學習素材。但這必須建立在嚴謹的分析基礎上,並確實執行後續的改善方案。
其次,SRE 的一大特色在於將故障視為進步的契機,而非單純的負面事件。這種思維模式讓我們能夠客觀面對問題,並從中發掘改善空間。通過持續累積這些經驗和改善,我們得以不斷提升系統的可靠性。
這兩個準則緊密相連:一方面我們建立系統化的檢討流程,另一方面培養正向的學習文化。兩者相互強化,推動組織在可靠性工程領域持續精進。
在 Maven 中,Release 和 Snapshot 是兩種不同的版本類型
Sony EX71,是我的第一副高檔耳機
跟現在的耳機可能已經沒得比,但是有了感情,還是捨不得丟棄
我還記得當初是在光華商場買的,那時候可還是在光華橋下,跟現在的光華商場可完全不一樣
已經是2015年了,MSSQL Server 也出到 2014的版本
從SQL2012開始,多了一項重要的 Always On 備援功能
這種備援功能的好處,就是可提供一種非同步認可或同步認可模式,
更支援Active/Active模式,讓寫入與讀取分流,分散負載。
View full article »
SSH login 到ubuntu系統的時候
想使用KEY來對使用者進行認證
在Windows這裡我用了puttygen的程式來產生金鑰
在將public key匯入到Server主機的時候,竟然出現了
Server refused our key的訊息
之前Windows7剛出來的時候裝過一次Oracle Client 10G R2,不過那時候Oracle可能還沒有支援Windows7
所以裝的過程中還出現一些錯誤訊息
時至今日,連官網上都把支援的OS加上Windows7了,
寫WEB常常會寫到需要選擇日期區間
為了想讓 .NET 跟 JAVA 都能用
想想還是用JavaScript比較共通
搜尋了一下,找到了JSCal元件
看起來還滿酷的,功能也不少,不過我只有用到簡單的功能而已
原本的設計,是第一個選項先塞個空字串,
那就一定要下拉選一個option,
誰知道,user又堅持一定要一進入頁面,就要代入Default Location
你不選,我的select onChange Function就不會執行…
因為忽略了這一點,造成頁面上的一個欄位為空值,導致最後insert
一筆資料到DB時因null而insert失敗
其實只要利用 object.fireEvent() 就可以在onload的時候,就觸發onChange
這樣就會在page load的時候,將channelName 代入xxxxx門市了…
—————–2010/07/16《Update》—————–
後來同事問到,
「那支不支援firefox??」
結果是…NO…
在firefox裡沒有fireEvent這個event
要利用dispatchEvent這個方法,
所以我又修改了一下
這樣在IE及FireFox下,就都可以運行了。