<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      微服務架構必備技術棧:萬變不離其宗的奧義!

      前言

      之前我們說過,微服務是一種軟件設計、架構思想。當然,里面也包含了相關技術點要解決當前要務。學習微服務,我們不能空口而談,一定要落實到具體的技術棧上。

      image


      當今使用比較多兩個技術體系,一個是Java,另外一個就是Net。

      廢話不多說,今天我就把相關“微服務架構”所用到的技術棧羅列出來。(以下是微軟相關技術棧的)

      這里也要說明一下,微服務架構里面的很多技術是和開發(fā)語言無關的。無論是 .Net 還是 Java 平臺都可以使用。我們之前說過,微服務架構的輪廓大同小異,以后,一步一步的針對每項技術在做深入研究。


      微服務架構----服務通信

      WebService、WCF、WebAPI,甚至可以是 ASHX,ASPX,這都是微軟本身的技術體系,沒什么可說的。

      1. 主動觸發(fā)
      2. 數(shù)據(jù)序列化傳遞
      3. 跨平臺。
      4. 跨語言。
      5. Http 穿透防火墻。

      微服務架構----進程通信

      1. Net Remoting:Net 平臺督郵的,不支持跨平臺。
      2. gRPC:高性能、開源和通用 RPC框架,面向服務端和移動端,基于 HTTP/2 設計,推薦使用。

      微服務架構---API網(wǎng)關服務(Ocelot)

      API網(wǎng)關 —— 它是系統(tǒng)的暴露在外部的一個訪問入口。這個有點像代理訪問的家伙,就像一個公司的門衛(wèi)承擔著尋址、限制進入、安全檢查、位置引導、等等功能。

      image


      Ocelot是一個用.NET Core實現(xiàn)并且開源的API網(wǎng)關,它功能強大,包括了:路由、請求聚合、服務發(fā)現(xiàn)、認證、鑒權、限流熔斷、并內置了負載均衡器與Service Fabric、Butterfly Tracing集成。這些功能只都只需要簡單的配置即可完成。如圖:

      image


      官網(wǎng):https://ocelot.readthedocs.io/en/latest/index.html
      

      微服務架構---認證&授權

      image


      現(xiàn)在的應用開發(fā)層出不窮,基于瀏覽器的網(wǎng)頁應用,基于微信的公眾號、小程序,基于IOS、Android的App,基于Windows系統(tǒng)的桌面應用和UWP應用等等。

      這么多種類的應用,就給應用的開發(fā)帶來的挑戰(zhàn),我們除了分別實現(xiàn)各個應用外,我們還要考慮各個應用之間的交互,通用模塊的提煉,其中身份的認證和授權就是每個應用必不可少的的一部分。

      而現(xiàn)在的互聯(lián)網(wǎng),對于信息安全要求又十分苛刻,所以一套統(tǒng)一的身份認證和授權就至關重要。IdentityServer4就是這樣一個框架,IdentityServer4是為ASP.NET CORE量身定制的實現(xiàn)了OpenId Connect和OAuth2.0協(xié)議的認證授權中間件。

      項目地址:https://github.com/IdentityServer/IdentityServer4
      

      微服務架構---瞬態(tài)故障處理

      image


      Polly它一款強大的類庫,Polly是一種.NET彈性和瞬態(tài)故障處理庫,允許我們以非常順暢和線程安全的方式來執(zhí)諸如行重試,斷路,超時,故障恢復等策略。

      Polly針對 .NET 4.0,.NET 4.5和.NET Standard 1.1以及.NET Core實現(xiàn),該項目作者現(xiàn)已成為.NET基金會一員,項目一直在不停迭代和更新,你值得擁有。

      項目地址:https://github.com/App-vNext/Polly
      

      微服務架構---分布式追蹤

      image


      隨著微服務架構的流行,一些微服務架構下的問題也會越來越突出。

      比如一個請求會涉及多個服務,而服務本身可能也會依賴其他服務,整個請求路徑就構成了一個網(wǎng)狀的調用鏈,而在整個調用鏈中一旦某個節(jié)點發(fā)生異常,整個調用鏈的穩(wěn)定性就會受到影響,所以會深深的感受到 “銀彈” 這個詞是不存在的,每種架構都有其優(yōu)缺點。

      image


      面對以上情況, 我們就需要一些可以幫助理解系統(tǒng)行為、用于分析性能問題的工具,以便發(fā)生故障的時候,能夠快速定位和解決問題,這時候 APM(應用性能管理)工具就該閃亮登場了。

      項目地址:https://github.com/SkyAPM/SkyAPM-dotnet
      

      微服務架構----分布式日志

      一般我們需要進行日志分析場景:直接在日志文件中grep、awk 就可以獲得自己想要的信息。但在規(guī)模較大也就是日志量多而復雜的場景中,此方法效率低下,面臨問題包括日志量太大如何歸檔、文本搜索太慢怎么辦、如何多維度查詢。

      這就需要集中化的日志管理,所有服務器上的日志收集匯總。常見解決思路是建立集中式日志收集系統(tǒng),將所有節(jié)點上的日志統(tǒng)一收集,管理,訪問。

      大型系統(tǒng)通常都是一個分布式部署的架構,不同的服務模塊部署在不同的服務器上,問題出現(xiàn)時,大部分情況需要根據(jù)問題暴露的關鍵信息,定位到具體的服務器和服務模塊,構建一套集中式日志系統(tǒng),可以提高定位問題的效率。

      1. Exceptionless 是一個開源的實時的日志收集框架,它可以應用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技術棧的應用程序中,并且提供了Rest接口可以應用在 Javascript,Node.js 中。
        image
        Exceptionless 將日志收集變得簡單易用并且不需要了解太多的相關技術細節(jié)及配置。在以前,我們做日志收集大多使用 Log4net,Nlog 等框架,在應用程序變得復雜并且集群的時候,可能傳統(tǒng)的方式已經(jīng)不是很好的適用了,因為收集各個日志并且分析他們將變得麻煩而且浪費時間。
        現(xiàn)在Exceptionless團隊給我們提供了一個更好的框架來做這件事情,我認為這是非常偉大并且有意義的,感謝他們。

         官網(wǎng):http://exceptionless.com 
         GitHub:https://github.com/exceptionless/Exceptionless
        

      1. ELK是三個開源軟件的縮寫,分別為:Elasticsearch 、 Logstash以及Kibana , 它們都是開源軟件。不過現(xiàn)在還新增了一個Beats,它是一個輕量級的日志收集處理工具(Agent),Beats占用資源少,適合于在各個服務器上搜集日志后傳輸給Logstash,官方也推薦此工具,目前由于原本的ELK Stack成員中加入了 Beats 工具所以已改名為Elastic Stack。推薦使用
        image

      微服務架構---分布式配置中心

      image


      Apollo(阿波羅)是攜程框架部門研發(fā)的配置管理平臺,能夠集中化管理應用不同環(huán)境、不同集群的配置,配置修改后能夠實時推送到應用端,并且具備規(guī)范的權限、流程治理等特性。

      服務端基于 Spring Boot 和 Spring Cloud 開發(fā),打包后可以直接運行,不需要額外安裝 Tomcat 等應用容器。

      Java 客戶端不依賴任何框架,能夠運行于所有 Java 運行時環(huán)境,同時對 Spring 環(huán)境也有較好的支持。

      .Net 客戶端不依賴任何框架,能夠運行于所有 .Net 運行時環(huán)境。

      項目地址:https://github.com/ctripcorp/apollo/
      

      微服務架構---分布式鎖

      分布式鎖的解決方案有很多,我在這里就羅列一些,我會在以后的實踐中實現(xiàn)這些技術點。

      • Consul 可以實現(xiàn)分布式鎖
      • Redis 可以實現(xiàn)分布式鎖,推薦使用
      • Zookeeper 可以實現(xiàn)分布式鎖
      • 數(shù)據(jù)庫 可以實現(xiàn)分布式鎖

      微服務架構---分布式事務

      分布式事務的實現(xiàn)方式也不少,以后努力學習吧。

      • 2PC(two-phase commit protocol,強一致性,沒有可用性)
      • 3PC
      • TCC(Try-Confirm-Cancel)
      • 本地消息表,推薦 RabbitMQ。
      • Saga 模式

      本地消息表:MQ分布式事務—本地消息表—基于消息的一致性。

      • 上游投遞消息
      • 下游獲取消息
      • 上游投遞穩(wěn)定性
      • 下游接受穩(wěn)定性

      微服務架構---容器化

      image


      Docker 是一個開源的應用容器引擎,可以打包應用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的 Linux 和Windows 機器上,也可以實現(xiàn)虛擬化。

      Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創(chuàng)建Docker容器。Docker 容器通過 Docker 鏡像來創(chuàng)建。容器與鏡像的關系類似于面向對象編程中的對象與類。

      Docker采用 C/S架構 Docker daemon 作為服務端接受來自客戶的請求,并處理這些請求(創(chuàng)建、運行、分發(fā)容器)。

      客戶端和服務端既可以運行在一個機器上,也可通過 socket 或者RESTful API 來進行通信。Docker daemon 一般在宿主主機后臺運行,等待接收來自客戶端的消息。Docker 客戶端則為用戶提供一系列可執(zhí)行命令,用戶用這些命令實現(xiàn)跟 Docker daemon 交互。如圖:
      image


      微服務架構---容器編排

      image


      Kubernetes是Google開源的一個容器編排引擎,它支持自動化部署、大規(guī)模可伸縮、應用容器化管理。在生產環(huán)境中部署一個應用程序時,通常要部署該應用的多個實例以便對應用請求進行負載均衡。

      在Kubernetes中,我們可以創(chuàng)建多個容器,每個容器里面運行一個應用實例,然后通過內置的負載均衡策略,實現(xiàn)對這一組應用實例的管理、發(fā)現(xiàn)、訪問,而這些細節(jié)都不需要運維人員去進行復雜的手工配置和處理。

      Kubernetes 也可以理解為Docker 的編排容器,是管理應用的全生命周期的工具,從創(chuàng)建應用/部署,應用提供服務,擴容縮容,更新,都非常的方便,而且可以做到故障自愈。

      中文社區(qū):http://docs.kubernetes.org.cn/    
      官網(wǎng):https://kubernetes.io/docs/home/
      

      微服務架構---CI/CD

      image


      Jenkins 是一個開源的、提供友好操作界面的持續(xù)集成(CI)工具,主要用于持續(xù)、自動的構建/測試軟件項目、監(jiān)控外部任務的運行。

      官網(wǎng): http://www.jenkins.org.cn/
      

      posted @ 2024-06-17 14:13  二價亞鐵  閱讀(1000)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 免费国产一区二区不卡| 国产精品中文字幕二区| 99久久无码一区人妻a黑| 久久久av男人的天堂| 中文字幕在线精品人妻| 色噜噜亚洲精品中文字幕| 大地资源高清免费观看| 日本边添边摸边做边爱| 日本一区不卡高清更新二区| 被c到高潮疯狂喷水国产| 99久久er这里只有精品18| 日韩高清在线亚洲专区国产| 国产精品一区二区AV| 亚洲一区二区三区在线观看精品中文| 五月综合网亚洲乱妇久久| 日韩中文字幕人妻精品| 中文字幕av无码一区二区三区 | 乱色熟女综合一区二区三区| 国产呦交精品免费视频| 国产精品国产精品一区精品| 亚洲综合小说另类图片五月天| 亚洲欧美日韩成人综合一区| 一区二区三区无码免费看| 日本福利一区二区精品| 香蕉av777xxx色综合一区| 精品国产不卡在线观看免费 | 欧美综合婷婷欧美综合五月 | 婷婷伊人久久| 午夜免费福利小电影| 2019国产精品青青草原| 一本一本久久a久久精品综合| 垦利县| 亚洲高清国产拍精品熟女 | A级孕妇高清免费毛片| 日本中文字幕在线| 国产精品一区二区三区黄色| 2020国产欧洲精品网站| 无码国产精品一区二区免费虚拟vr | 蜜臀在线播放一区在线播放| 亚洲天堂av日韩精品| 国产欧美国日产高清|