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的基础学习测试

相关文章
相关标签/搜索