当前位置: 移动技术网 > IT编程>开发语言>.net > EasyNetQ操作RabbitMQ(高级消息队列)

EasyNetQ操作RabbitMQ(高级消息队列)

2019年06月25日  | 移动技术网IT编程  | 我要评论

狐狸少爷,灰烬审判军军需官,和女生搭讪技巧

rabbitmq是实现了高级消息队列协议(amqp)的开源消息代理软件(亦称面向消息的中间件)。写消息队列的时候用rabbitmq比较好,但是写的时候需要自己封装下,自己的封装,就需要对rabbitmq非常了解,并且还需要做大量的测试,可能项目开发比较紧,时间比较多,没有那么多的精力和时间去研究去测试,我们要学会拿来主义,好的东西直接用。easynetq就是操作rabbitmq一个很好的库,用起来比较简单,开源的。闲说:有人说我就是不用,自己写,就是不用拿来主义,看不起拿来主义,我好想说你从北京到上海有本事不要坐车走过去,不要用手机不要用wifi,自己去发明吧。我们要站在巨人的肩上,好的东西直接用,当功能实现不了的时候,对其进行研究封装,节省时间,提高开发效率。巨人是让你爬上去飞的,不是让你仰望的。

# 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,整个过程非常精简,非常简单,可读性也更强。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网