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

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

# RabbitMQ的學習

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

#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的基礎學習測試

相關文章
相關標籤/搜索