中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

RabbitMQ~一(yi)些術語和最消息(xi)的生產

學習一(yi)種技術需要先了解(jie)它(ta),而想要學好一(yi)種技術,需要更多的了解(jie)它(ta)的組成,原理和(he)實現(xian)機(ji)制!

RabbitMQ安裝介紹

  1. RabbitMQ是由erlang語言開發的,所以必須先有安裝erlang,類似java安裝
  2. RabbitMQ是C/S模式的,所以安裝rabbitMQ服務器,默認端口5672
  3. 提供了Web管理界面(默認端口15672),直接通過安裝插件的方式開啟它

RabbitMQ的一些術語

  1. Server(broker): 接受客戶端連接,實現AMQP消(xiao)息(xi)隊列(lie)和(he)路由(you)功能的進程。
  2. Virtual Host:其實是一個虛擬概念,類似于權限控制組,一個Virtual Host里面可以有若干個Exchange和Queue,但是權限控制的最小粒度是Virtual Host
  3. Producer: 消息生產者
  4. Consumer: 消息消費者
  5. Queue: 存儲消息的隊列容器
  6. Message: 消費者真正需要的消息數據
  7. Connection: 一個tcp連接,相對比較耗資源
  8. Channel: 一個管道連接,是tcp連接內的連接(broker),使用現有的TCP連接進行數據傳輸
  9. Exchange: 消息路由,生(sheng)產者發送(song)消息并不是直接發送(song)到隊列中(zhong)(zhong)的而是先到指定方式路由中(zhong)(zhong),然后由路由根據路由key綁定的隊列發送到指定隊列中(某種算法求出對應的queue,如對消息取模)。
  10. Binding:對路由與隊列容器的綁定關系
  11. Routing key: 路由鍵,主要用來尋找隊列queue
  12. AMQP: 高級消息隊列協議,RabbitMQ是基于此協議實現的
  13. Users: RabbitMQ服務是基于C/S模式,通常連接都需要認證,就是設置密碼

一個最純粹的消息生產者

            ConnectionFactory factory = new ConnectionFactory();//創建連接工(gong)廠對象
            factory.HostName = "localhost";//指定主機(ji)名(ming)
            //factory.Port = 5672;//指定端口號
            //factory.VirtualHost = "amqp://localhost:5672";//指定RabbitMQ服(fu)務器(qi)的虛擬主(zhu)機(ji)
            //factory.UserName = "";//指(zhi)定連接用戶名
            //factory.Password = "";//指定連接(jie)用戶(hu)密碼
            var conn = factory.CreateConnection();//創(chuang)建(jian)連接
            var channel = conn.CreateModel();//建立管道(dao)
            channel.QueueDeclare("lind", false, false, false, null);
            channel.BasicPublish(
                exchange:
"",
                routingKey: "lind",
                basicProperties: null,
                body: Encoding.UTF8.GetBytes("Hello Lind!"));

上面代碼是一個主機為localhost的rabbitmq服務器的lind隊列發送一條消息,內容為Hello Lind!

通過(guo)web管理可以看到內容

感謝各位對(dui)消(xiao)息(xi)中(zhong)間件(jian)的支持,下一講我們將介紹(shao)如(ru)何去消(xiao)費消(xiao)息(xi)!

posted @ 2017-02-27 10:00  張占嶺  閱讀(781)  評論(0)    收藏  舉報