EasyNetQ操作RabbitMQ(高級消息隊列)


RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。寫消息隊列的時候用RabbitMQ比較好,但是寫的時候需要自己封裝下,自己的封裝,就需要對RabbitMQ非常了解,並且還需要做大量的測試,可能項目開發比較緊,時間比較多,沒有那么多的精力和時間去研究去測試,我們要學會拿來主義,好的東西直接用。EasyNetQ就是操作RabbitMQ一個很好的庫,用起來比較簡單,開源的。閑說:有人說我就是不用,自己寫,就是不用拿來主義,看不起拿來主義,我好想說你從北京到上海有本事不要坐車走過去,不要用手機不要用wifi,自己去發明吧。我們要站在巨人的肩上,好的東西直接用,當功能實現不了的時候,對其進行研究封裝,節省時間,提高開發效率。巨人是讓你爬上去飛的,不是讓你仰望的。

# RabbitMQ的學習

RabbitMQ中的基本方法實現消息隊列,RabbitMq學習。這篇文章介紹了基本的訪問,這里不再介紹,下面直接用EasyNetQ操作RabbitMQ

#EasyNetQ生產者代碼

/// <summary>
/// 使用EasyNetQ庫之后的方法
/// </summary>
static void EasyNetQMethod()
{
    using (var bus = RabbitHutch.CreateBus("host=localhost;port=32850;username=test;password=test123"))
    {
        //模擬生成者
        Random rd = new Random();
        while (true)
        {
            #region 核心代碼,其他可以不要
            string message = $"你好,{rd.Next(10)}。";
            bus.Publish(message, "hello");
            #endregion
            Console.WriteLine("發送信息:{0}", message);

            //隨機休眠
            Thread.Sleep(TimeSpan.FromSeconds(rd.Next(5)));
        }
    }
}

#EasyNetQ消費者代碼

/// <summary>
/// 使用EasyNetQ庫之后的方法
/// </summary>
static void EasyNetQMethod()
{
    using (var bus = RabbitHutch.CreateBus("host=localhost;port=32850;username=test;password=test123"))
    {
        while (true)
        {
            bus.Subscribe<string>("hello", (message) =>
            {
                Console.WriteLine("接收信息:{0}", message);
            });
        }
    }
}

總結:對比RabbitMQ的學習例子,用EasyNetQ操作RabbitMQ,整個過程非常精簡,非常簡單,可讀性也更強。

其他的RabbitMQ文章

RabbitMQ的基礎學習


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM