大叔公開課~微服務與持續集成

来源:http://www.cnblogs.com/lori/archive/2017/11/18/7858238.html
-Advertisement-
Play Games

閑話多說 免費報名:http://www.genshuixue.com/teacher/classCourseDetail/171117794648 .Net Core來了,帶給我們的是什麼?跨平臺,無疑是最大的亮點! Docker橫空出世,讓開發者和運維者都嘗到了甜頭! Jenkins持續集成,功 ...


閑話多說

免費報名http://www.genshuixue.com/teacher/classCourseDetail/171117794648

.Net Core來了,帶給我們的是什麼?跨平臺,無疑是最大的亮點!

Docker橫空出世,讓開發者和運維者都嘗到了甜頭!

Jenkins持續集成,功能包括了持續的軟體版本發佈與測試,讓開發人員專心關註自己的代碼開發,讓運維人員專心寫部署代碼,一次性工作,從來不要反覆的做一件事!

雲時代來了,容器時代了,面嚮應用的微服務也來了,麻煩也就跟著來了,我應該如何去找到你,應用A,你被部署到了容器里,你的IP不真的不清楚,因為你是那麼的善變。因為出現了這些問題,所以在解決問題的道路上出現了“服務發現”,“服務熔斷”,“服務註冊”等。

微軟.Net Core和Docker合作,打造多應用部署,我們都應該知道的YML

想像一下,把一個大系統拆分成多個小服務,這些小服務在分別去部署,或者它們之間又可以相互通信,這對於開發來說是清晰了,對部署來說是麻煩了,對開發來說是職責分離了,應用與應用之間解耦了,以後的A應用的升級不會影響到B應用了,這大概就是微服務設計的初衷吧!

1 微服務項目圖

2 Dockerfile的使用

對於容器化部署來說,我們只要關心Dockerfle和YML文件即可,其中Dockerfile用來生成應用的鏡像;YML用來部署這個系統里所有的應用。

應用C里的Dockerfile,它以aspnetcore為基礎,然後將自己的發佈的代碼複製到了鏡像里,最後使用dotnet命令啟動這個應用!

3 docker-compose.yml進行服務的部署

YML里會有這個系統的服務名稱和每個小應用的服務名及它們使用的Dockerfile的地址,生成的鏡像名,鏡像運行後的容器名,監聽的埠,使用的網路,運行的環境等很多配置的信息

version: '3'

services:
  a:
    image: a
    build:
      context: ./應用A
      dockerfile: Dockerfile

  b:
    image: b
    build:
      context: ./應用B
      dockerfile: Dockerfile

  c:
    image: c
    build:
      context: ./應用C
      dockerfile: Dockerfile
version: '3'

services:
  a:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    ports:
      - "80"

事實上,對於服務的部署可能要說的還很多,這裡篇幅有限,就到這吧!

Jenkins之前我也寫著一些文件,在我的自動化部署分類上,大家可以進行閱讀!自動化部署&持續集成系列

感謝各位的閱讀!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 作者:NiceCui 本文謝絕轉載,如需轉載需徵得作者本人同意,謝謝。 本文鏈接:http://www.cnblogs.com/NiceCui/p/7862377.html 郵箱:[email protected] 日期:2017-11-19 Python學習二:詞典基礎詳解 (學習不要求多,小計劃 ...
  • 流程式控制制 與C語言不通的是python的流程式控制制代碼塊不是用{}花括弧表示的,而是強制縮進來控制的;而且縮進必須一致,官方推薦是使用4個空格,不建議使用tab(製表符)做縮進,一是不同的系統tab所占寬度不一致,會比較亂,二是由於python要求同級縮進必須保持一致,所以有些時候看上去是對齊l,但是 ...
  • Composer是一個非常流行的PHP包依賴管理工具,已經取代PEAR包管理器,對於PHP開發者來說掌握Composer是必須的. 對於使用者來說Composer非常的簡單,通過簡單的一條命令將需要的代碼包下載到vendor目錄下,然後開發者就可以引入包並使用了.其中的關鍵在於你項目定義的compo ...
  • 類的繼承 上面代碼中yello_person繼承了person父類。 子類中構造函數先對父類的構造函數進行繼承;然後加上自己的特有屬性。 18,19行示例如何使用對象分別調用父類和子類的方法 上面代碼中6行示例如何在構造函數中操作公有屬性,實現類似全局計數功能。 10行定義的方法示例如何在父類中列印 ...
  • 前言: 最近接手了一個項目,大概過了下需求,然後打開項目準備開搞的時候發現一個問題,這個項目是提供rest服務的一個web項目,其中很多關鍵的查詢都調用這個項目,之前的開發人員為了監控每個方法的執行時間,在方法開始和結束寫了很多logger.info("耗時:"+time)這種代碼。很顯然這是不合理 ...
  • 前言 本文可能不會詳細記錄每一步實現的過程,但一定程度上可以引領小伙伴走向更開闊的視野,串聯每個環節,呈現予你不一樣的效果。 業務規模 8個平臺 100+台伺服器 10+個集群分組 微服務600+ 用戶N+ 面臨問題 隨著分散式微服務容器技術的發展,傳統監控系統面臨許多問題: 容器如何監控 微服務如 ...
  • 產品或者服務由數據存儲和數據計算組成。pojo對象就是用於數據存儲。一旦確定後,整個應用或者產品的數據來源就確定。比如一個頁面或者功能需要使用什麼數據就可以快速找到對應的對象或者通過對象的關係找出來。 pojo對象屬於對系統的靜態描述。它應該是名詞,不應該是動詞或者其他。動詞、類型或者狀態等應該是算 ...
  • 前言 我們一般在做架構設計的時候,會經歷過三個階段:需求分析、概要設計和詳細設計。 1. 需求分析階段 : 主要梳理所有用例(Use case)和場景,並抽象出面向系統的用戶與角色,梳理出需求提供哪些功能與非功能的需求給這些用戶。 2. 概要設計階段 :根據需求分析的產物:核心需求,對整個系統進行模 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...