<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          簡(jiǎn)單易用的.NET免費(fèi)開(kāi)源RabbitMQ操作組件EasyNetQ

          共 1534字,需瀏覽 4分鐘

           ·

          2020-12-19 13:20


          背景

          在現(xiàn)在的項(xiàng)目中,消息隊(duì)列的使用比較的頻繁,消息隊(duì)列的種類(lèi)也較多,如:ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。消息隊(duì)列中間件是分布式系統(tǒng)中重要的組件,主要解決應(yīng)用耦合,異步消息,流量削鋒等問(wèn)題。實(shí)現(xiàn)高性能,高可用,可伸縮和最終一致性架構(gòu)。是大型分布式系統(tǒng)不可缺少的中間件。

          其中RabbitMQ是實(shí)現(xiàn)了高級(jí)消息隊(duì)列協(xié)議(AMQP)的開(kāi)源消息代理軟件(亦稱(chēng)面向消息的中間件)。RabbitMQ服務(wù)器是用Erlang語(yǔ)言編寫(xiě)的,而集群和故障轉(zhuǎn)移是構(gòu)建在開(kāi)放電信平臺(tái)框架上的。所有主要的編程語(yǔ)言均有與代理接口通訊的客戶端庫(kù)。


          特性

          • 可伸縮性:集群服務(wù)

          • 消息持久化:從內(nèi)存持久化消息到硬盤(pán),再?gòu)挠脖P(pán)加載到內(nèi)存?

          目前是.NET使用率比較高的消息隊(duì)列;


          好用的輪子

          其中EasyNetQ是.NET上RabbitMQ的領(lǐng)先客戶端API,在NuGet.org上有超過(guò)400萬(wàn)次下載。這是一個(gè)開(kāi)放源代碼項(xiàng)目。

          EasyNetQ是為了提供一個(gè)盡可能簡(jiǎn)潔的適用與RabbitMQ的.NET類(lèi)庫(kù)。為了實(shí)現(xiàn)這些目標(biāo),EasyNetQ提供一種自認(rèn)為你會(huì)在.NET下使用RabbitMQ的視圖。為了保持使用靈活性,簡(jiǎn)單起見(jiàn),EasyNetQ強(qiáng)制使用了一些簡(jiǎn)單的約定。包括如下:

          • 消息用 .NET 類(lèi)型表示

          • 消息通過(guò).NET類(lèi)型路由


          目標(biāo)

          盡可能簡(jiǎn)化在.NET上使用RabbitMQ的工作。


          入門(mén)

          要連接到RabbitMQ代理...

          var bus = RabbitHutch.CreateBus("host=localhost");

          要發(fā)布消息...

          bus.Publish(message);

          訂閱消息...

          bus.Subscribe("my_subscription_id", msg => Console.WriteLine(msg.Text));

          遠(yuǎn)程過(guò)程調(diào)用...

          var request = new TestRequestMessage {Text = "Hello from the client! "};bus.Request(request, response =>    Console.WriteLine("Got response: '{0}'", response.Text));

          RPC服務(wù)器...

          bus.Respond(request =>  new TestResponseMessage{ Text = request.Text + " all done!" });


          開(kāi)源地址

          更多功能見(jiàn):

          https://github.com/EasyNetQ/EasyNetQ



          往期精彩回顧




          【推薦】.NET Core開(kāi)發(fā)實(shí)戰(zhàn)視頻課程?★★★

          .NET Core實(shí)戰(zhàn)項(xiàng)目之CMS 第一章 入門(mén)篇-開(kāi)篇及總體規(guī)劃

          【.NET Core微服務(wù)實(shí)戰(zhàn)-統(tǒng)一身份認(rèn)證】開(kāi)篇及目錄索引

          Redis基本使用及百億數(shù)據(jù)量中的使用技巧分享(附視頻地址及觀看指南)

          .NET Core中的一個(gè)接口多種實(shí)現(xiàn)的依賴(lài)注入與動(dòng)態(tài)選擇看這篇就夠了

          10個(gè)小技巧助您寫(xiě)出高性能的ASP.NET Core代碼

          用abp vNext快速開(kāi)發(fā)Quartz.NET定時(shí)任務(wù)管理界面

          在ASP.NET Core中創(chuàng)建基于Quartz.NET托管服務(wù)輕松實(shí)現(xiàn)作業(yè)調(diào)度

          現(xiàn)身說(shuō)法:實(shí)際業(yè)務(wù)出發(fā)分析百億數(shù)據(jù)量下的多表查詢(xún)優(yōu)化

          關(guān)于C#異步編程你應(yīng)該了解的幾點(diǎn)建議

          C#異步編程看這篇就夠了


          瀏覽 30
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  激情动态视频 | 五月丁香俺也去国产 | 国产精品秘 入口免费直播大尺度 | av中文无码 | 欧美日韩一 |