首頁 三十天.NET❤️Azure漸進式開發專案 輕量高效.NET Core開源Blog引擎:Miniblog.Core
首頁 三十天.NET❤️Azure漸進式開發專案 輕量高效.NET Core開源Blog引擎:Miniblog.Core
×

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10208011
個人鐵人賽方便閱讀版連結 : https://itweihan.azurewebsites.net/ 今天是本系列的最後一篇文章,來做一個整合結尾。 當初報名的初衷: 幫助同樣有.NET平台 + SQL Server開發經驗基礎的讀者,了解如何使用微軟的Azure平台,做漸進式上線專案 至於為什麼強調漸進式,寫過Vue的開發者應該會特別有感覺,Vue強調殺雞焉用牛刀逐步添加功能,有時候我們只是需要完成一個小功能,不需要像重量級框架做完繁雜設定後才能做開發。 在雲端服務也是一樣,有時候我們 ...

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10207833
延續前篇文章,接著從無到有在 Azure DevOps 建立 CI/CD 專案,讓自己更清楚操作方式,並且更細緻化處理想要的設定。 另外補充一個概念,在 Azure DevOps 中 CI 使用 Pipelines Build 功能,CD 使用 Pipelines Release 功能。 建立專案 ⬇ 在AzureDevOps建立Project ⬇ 模擬正式生產環境選擇 Private 專案 ⬇ 接著 Clone Git 專案到電腦,我簡單寫一個.NET Core網頁小程式跟鐵人賽說你 ...

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10207587
最後三天,介紹微軟另外一個坦克武器: Azure DevOps Project ,搭配前面文章做一個整合結尾。 多人開發情況會有各式各樣的問題發生,尤其是當專案趕專案、隨便心態出現時 : 沒有確定專案能正確編譯、運行,就推上主版控,導致發佈到正式環境出現問題。 多人專案不開branch完成功能再merge到master,把Git主分支當每日日誌使用 這時候使用Azure DevOps Project的CI做品質檢驗、測試,避免上述情況,知道新的commit在生產環境是否能運行正確,並且C ...

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10207360
  隨著上線專案的流量增長,開始會遇到效能問題,雖然上線專案可以提前算好預計使用者人數,大概可以推估出平均請求數,但是會遇到以下情況來搗亂:網路爬蟲、惡意流量攻擊,其中又以惡意攻擊為最大問題。   筆者有過經驗,惡意攻擊的怪客發警告信給公司,大意是:"請貴公司在x月x日前轉xxx金額到xxx帳號,否則將會發動流量攻擊癱瘓伺服器",該類似事件在網路公司來說可以算是常態性問題。   而在大量流量攻擊情況發生時,假如只使用在地端自主建立的伺服器,沒有做什麼特殊設定,基本上只能無助地祈禱對方能仁慈停下攻 ...

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10207078
前兩篇文章介紹如何在Azure SQL Database做自動表格同步,接著使用C#實作讀寫分離程式。 這邊為了簡單示範以 .net core 加上簡易DbConnection SQLHelper舉例,假如有大量建立連線情況,請使用連線池。 【第一步】在 appsettings.json 建立連線字串的資料 { "DBConnection": { "MasterConnectionString": "Data Source=Server連接;User ID=帳號;Password= ...

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10206775
  剛剛補好昨天文章:資料庫讀寫分離 Azure SQL Database Sync,一種補坑的概念(Orz..),裡面有寫建立方式跟注意事項。   這邊簡單提要上一篇已經建立好資料同步功能,在SSMS查看資料庫,可以看到新增的 slave 資料庫,已經成功同步選取的表格資料。 查詢表格資料,驗證兩邊的資料都是一樣,成功完成同步 接著假如讀者不滿足於一個 slave 資料庫的話,沒關係在Azure我們可以建立多個同步資料庫,滿足對資料庫負擔的攤分。 【第一步】再一次建立空白資料庫 【 ...

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10206409
原本想要使用異地備援方式,達到讀寫分離,但是有兩點限制: 需要跨區域,同區域不給建立 同步時間,最快要一個小時 所以放棄,換使用Azure SQL Database 的 Sync to other databases 功能,做到多台資料庫同步功能,達到讀寫分離動作。 【第一步】首先決定好誰是負責寫的資料庫,增刪改動作都在此資料庫。我以之前建好的Blog資料庫當 master Database ,其在Azure Data Base的腳色定位為Hub。 【第二步】建立只做讀的 Slav ...

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10206081
 前面介紹完.NET開發者如何在Azure Debug,今天進階研究調校效能。  上線專案如何追蹤效能瓶頸,如何改善是一件專業、而且困難的事情。諸如:資料庫慢查詢,沒有建立有效索引,沒有使用快取造成資料庫負擔等。  而 Azure 同樣提供AI自動化服務,讓我們可以省下一些複雜動作,做到調校資料庫 SQL DataBase 效能目的,這就是Automatic Tuning功能。 【舉例1:幫忙建立索引】 現在有一個文章表格post,資料結構: ID,發布日期(pubdate),標題(Titl ...

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10205844
 延續之前文章,正式情況中有可能發生專案無法初始化啟動情況,這時候遠端Debug、ApplicationInsights都無法使用。  舉例,初始化錯誤後造訪雲端網站出現 An error occurred while starting the application.訊息:  查看ApplicationInsights也沒有錯誤失敗訊息。  對於這類初始化異常,Azure提供使用Kudu工具到 LogFiles 資料夾查看 eventlog.xml 錯誤訊息。 查詢方式: 在app se ...

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10205454
  今天延續前兩篇文章對Debug做一個超進化,加上Azure獨有Snapshot神器:Exception偵錯快照。   是否讀者有過這樣經歷,使用者說: "XXX功能有BUG啦,我現在都不能使用,幫我看甚麼問題!" ,結果幫忙處理時,發現沒有任何問題。這是因為當時的時間、環境、變數都不一樣了,要還原一樣情景測試是非常困難的一件事,可能某個變數的不一樣,就會造成結果的不同。要避免上述情況,通常要寫複雜程式,做好LOG保存當下的變數值。   而Azure提供Snapshot Exception偵 ...