天天看點

大叔公開課~微服務與持續內建

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

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

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

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

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

1 微服務項目圖

大叔公開課~微服務與持續內建

2 Dockerfile的使用

對于容器化部署來說,我們隻要關心Dockerfle和YML檔案即可,其中Dockerfile用來生成應用的鏡像;YML用來部署這個系統裡所有的應用。

應用C裡的Dockerfile,它以aspnetcore為基礎,然後将自己的釋出的代碼複制到了鏡像裡,最後使用dotnet指令啟動這個應用!

大叔公開課~微服務與持續內建

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

YML裡會有這個系統的服務名稱和每個小應用的服務名及它們使用的Dockerfile的位址,生成的鏡像名,鏡像運作後的容器名,監聽的端口,使用的網絡,運作的環境等很多配置的資訊

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

感謝各位的閱讀!