從事這個行業轉眼已經6年了,從當初剛畢業的在北京朝八晚十,從二環到五環,仍天天精力充沛的小憤青;再到深圳一點一滴的辛勤在軟件行業的耕種,從當初單體應用架構到如今微服務架構的經歷,回想起來本身的收穫卻是很多。人生也許算是比較平淡,運氣到也還算不錯,作過的項目恰好讓我在這些方面能有不錯的認知和自我學習的空間。mysql
原本這個系列能帶來的更早,奈何去年打王者荒廢了太多的時間(有點收穫的可能就是連續三賽季王者了),好在本身還算醒悟及時,最近看到微服務的所使用的框架或者工具倒也是很是多,但大多都須要本身研究的內容太多,並且因爲少有的docker化,很難再實際生產環境靈活的應用,此次帶來全docker化的實戰體驗。nginx
實踐源碼:https://github.com/zengqinglei/microservice-deploygit
爲了更加接近生產環境的部署方式,咱們使用vmware建立以下幾臺主機:github
虛擬IP:192.168.0.110sql
因爲文章中涉及內容較多,因此其中如設計docker構建、配置等複雜教程都會引導你們去github查看詳情,你們注意一下引導連接地址,文章中儘量經過簡要的原理及對於微服務架構的做用配合圖講解,讓文章更加通俗易懂。docker
名稱:Creekdream.AspNetCore
開源地址:http://github.com/zengqinglei/Creekdream.AspNetCore數據庫
我本身的框架參考了一些Abp框架,根據近一兩年針對微服務開發設計,總結開發出來的。
首先,說明一下Abp框架確實很優秀,但隨着微服務的發展,框架總體相對較爲臃腫,模塊化設計不夠完全,核心類庫都依賴了各類接口的實現,咱們團隊在使用的過程當中可能因爲不熟悉會致使一些莫名的問題,再加上微服務盛行,使得更多的模塊變得沒有必要。ubuntu
微軟的 .NET CORE 已經作到很優秀,提供Service注入統一入口,中間件、日誌、依賴注入的加入等,使得模塊化以及開發模式的規約都使得開發變得更加規範可控,框架的設計原則儘量聽從 .NET CORE 的設計理念。centos
本次微服務系列從基本概念到一步步的基礎設施的搭建最後晚上的一套服務架構體系,用徹底docker化的方式給你們呈現,方便根據實際的生產或者測試環境進行調整。
微服務之路是漫長的,咱們仍還須要不少工做要作,在工做中,根據業務需求劃分邊界,微服務API的定義,服務內部的模塊劃分都須要咱們花更多的時間去推敲。服務器
最後呢,這兩年 .NET 在國內實在有些低迷,從接觸 .NET CORE 到如今真心感受到它的優秀,也但願咱們能共同在 .NET 方面能貢獻出更多的力量,能幫助它發展的愈來愈好!