<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • .netcore下構(gòu)建高可用服務(wù)集群的示例-創(chuàng)新互聯(lián)

            這篇文章主要介紹了.net core下構(gòu)建高可用服務(wù)集群的示例,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

            成都創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè)|成都企業(yè)網(wǎng)站維護|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計與制作經(jīng)驗,為許多企業(yè)提供了網(wǎng)站定制設(shè)計服務(wù),案例作品覆蓋成都加固等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身開發(fā)品質(zhì)網(wǎng)站。

            一說到集群服務(wù)相信對普通開發(fā)者來說肯定想到很復(fù)雜的事情,如zeekeeper ,反向代理服務(wù)網(wǎng)關(guān)等一系列的搭建和配置等等;總得來說需要有一定經(jīng)驗和規(guī)劃的團隊才能應(yīng)用起來。在這文章里你能看到在.net core下的另一種集群構(gòu)建方案,通過Beetlex即可非常便捷地構(gòu)建高可用的集群服務(wù)。

            簡述

            Beetlex的Webapi集群應(yīng)用并沒有依賴于第三方服務(wù),而是由Beetlex自身完成;它主要是通過Client和策略監(jiān)控服務(wù)相結(jié)合的方式來實現(xiàn)集群化的服務(wù)負載訪問。以下是服務(wù)結(jié)構(gòu):

            .net core下構(gòu)建高可用服務(wù)集群的示例

            client一旦從配置中心獲取了集群的策略,就會脫離配置中心獨自進行負載處理;在運行中會定時從配置中心獲取更新策略,在這個過程中即使配置中心不可用也不影響整體服務(wù)處理。以下是配置中心的策略管理:

            .net core下構(gòu)建高可用服務(wù)集群的示例

            通過管理中心可以對不同的URL進行負載權(quán)重配置,默認可以配置一個*來處理所有負載;當(dāng)?shù)竭_一定規(guī)模的情況可以針對某些URL規(guī)則來進行策略配置.中心除了可以配置策略外還提供了服務(wù)資源監(jiān)控,可以更方便地進行權(quán)重調(diào)整。

            應(yīng)用

            接下來通過一個簡單的示例來介紹如何通過Beetlex構(gòu)建高可用的webapi集群服務(wù).

            創(chuàng)建一個.net core控制臺項目

            .net core下構(gòu)建高可用服務(wù)集群的示例

            引用Beetlex.FastHttpApi

            .net core下構(gòu)建高可用服務(wù)集群的示例

            編寫一個簡單的HelloWorldwebapi服務(wù)

             class Program
              {
                private static BeetleX.FastHttpApi.HttpApiServer mApiServer;
            
                static void Main(string[] args)
                {
                  mApiServer = new BeetleX.FastHttpApi.HttpApiServer();
                  mApiServer.Debug();
                  mApiServer.Register(typeof(Program).Assembly);
                  mApiServer.Open();
                  Console.Write(mApiServer.BaseServer);
                  Console.Read();
                }
              }
              [Controller]
              public class Home
              {
                /// <summary>
                /// Hello Word
                /// </summary>
                /// <param name="name">string: you name</param>
                /// <returns>string</returns>
                [Get(Route = "{name}")]
                [DefaultJsonResultFilter]
                public object Hello(string name)
                {
                  return new { Hello = "hello " + name, Time = DateTime.Now };
                }
              }

            運行后瀏覽器訪問一下

            .net core下構(gòu)建高可用服務(wù)集群的示例

            創(chuàng)建Client調(diào)用

            同樣是構(gòu)建一個控制臺程序,然后引用BeetleX.FastHttpApi,定義訪問接口

              public interface IDataService
              {
                [Get(Route = "hello/{name}")]
                string Hello(string name);
              }

            創(chuàng)建調(diào)用接口代理

            HttpClusterApi = new BeetleX.FastHttpApi.Clients.HttpClusterApi();
            DataService = HttpClusterApi.Create<IDataService>();
            await HttpClusterApi.LoadNodeSource("default", "http://localhost:8080");//加載配置服務(wù)中的default節(jié)點

            調(diào)用服務(wù)

            var result = DataService.Hello("henry");

            集群中心配置

            .net core下構(gòu)建高可用服務(wù)集群的示例

            這樣一個集群化的服務(wù)就完成,可能有人會問這明明就是單一服務(wù),怎可能是高可用的服務(wù)集群呢?接下來我們做一系的壓測并通過配置中心實現(xiàn)無縫地增加服務(wù)來應(yīng)對測試的處理。

            配置負載

            高可用集群才是我們的目標(biāo),但實際應(yīng)用中也不可能一下子就有這樣的需求,往往是隨意著業(yè)務(wù)的增長集群服務(wù)的需求會慢慢顯露出來;接下來就對上面的單服務(wù)進行一個壓力測試,開啟了40個線程進行壓力測試,由于部署服務(wù)只是兩核,所以一下子就把資源壓滿了。

            .net core下構(gòu)建高可用服務(wù)集群的示例

            接下來需要新的節(jié)點服務(wù)來支撐并發(fā)處理,這個時候只需要新部署一份服務(wù),在配置中心添加節(jié)點即可。

            .net core下構(gòu)建高可用服務(wù)集群的示例

            有新的服務(wù)加入后,并發(fā)由原來的1W多變成3W,而這個調(diào)整是完全不需要調(diào)整任何程序的!由于壓測下來兩臺服務(wù)器的資源都比較吃緊,所以再添加一臺服務(wù)來應(yīng)對并發(fā),但這一次添加的服務(wù)權(quán)重只有之前兩臺的一半。

            .net core下構(gòu)建高可用服務(wù)集群的示例

            從測試結(jié)果來看最后添的服務(wù),依據(jù)權(quán)重的設(shè)置來承載了相應(yīng)的并發(fā)處理。

            通過以上示例,你會發(fā)現(xiàn)通過Beetlex構(gòu)建高可用的webapi集群服務(wù)是一件非常簡單的事情。

            項目地址:https://github.com/IKende/FastHttpApi

            集群策略管理項目地址:https://github.com/IKende/ClusterConfiguration

            感謝你能夠認真閱讀完這篇文章,希望小編分享的“.net core下構(gòu)建高可用服務(wù)集群的示例”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

            文章名稱:.netcore下構(gòu)建高可用服務(wù)集群的示例-創(chuàng)新互聯(lián)
            URL鏈接:http://www.jbt999.com/article14/eehde.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站網(wǎng)站收錄、網(wǎng)站導(dǎo)航、標(biāo)簽優(yōu)化虛擬主機、品牌網(wǎng)站建設(shè)

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            成都網(wǎng)站建設(shè)公司

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 男女拍拍视频网站 | 五月天狠狠干 | www.日本特黄24小时免费 | 青娱乐极品视频盛宴 | 成人先锋影音AV黄色电影网站 |