訊息佇列的使用場景之RabbitMQ
自己原文公眾號: https://mp.weixin.qq.com/s/gjZk3vXvrJIYghDjYDYzuw
安裝Rabbitmq的步驟不詳細說了。
但是主要的要說說。
第一步安裝erlang,沒有這個不行。而且這個erlang和rabbitmq的版本有對應關係。
最重要一點網上很多帖子資料要去rabbitmq官網下載,會發現官網的那些頁面都沒有了。
所以安裝變成了一個問題。想當年誰在linux上安裝一個Oracle就是個高手(因為安裝太複雜了)
在windows上安裝Oracle還是比較舒服的,和安裝QQ差別不太大。
如今就連Oracle都一鍵安裝了,這個需要官方考慮考慮了。不然就erlang和rabbitmq的版本對應關係就不好解決。
說到這個不得不說當初CDH在我沒有整包安裝情況下,hbase、hive等等的安裝是非常痛苦的。
上圖顯示了至少這個版本的兩個軟體是相容的
我們用命令列來寫一條資料看看.
再用程式碼寫一條資料。這裡我特意寫的節點是叢集的另外一臺機器,故意和命令列寫入的不是同一臺機器。目的是驗證說明每個節點都可以寫入。
其實命令列和程式碼都可以讀寫,只是目前命令列的讀取只有查詢沒有消費的功能(網上寫的實測是報錯的)這裡用程式碼從另外一臺機器(非程式碼寫入的機器上)上讀取
看上去其實和資料庫差不多。資料庫就是負責資料的寫入和讀取(簡單的來說),我們發現MQ也差不多。就是不支援SQL。
當然也有支援SQL的訊息中介軟體。日後會介紹將來可能一統天下的PULSAR。
既然說到這裡那什麼時候用這個呢?個人覺得,如果說 系統解耦可以用用。但是一般我覺得解耦的關鍵還是在設計,而不是靠訊息佇列。
如果說用在非同步呼叫也可以用用,但是我覺得能同步的還是同步吧。我見過不少的本來同步處理的,後來由於對資料庫沒有信心走非同步,反而造成了鎖。因為訊息佇列不能絕對的保證順序。但是資料庫可以。
如果說為了流量削峰,那麼你業務量超過了資料庫單機的處理能力,那麼用吧。不過這種企業在中國也不多。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2847173/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 訊息佇列的使用場景之kafka佇列Kafka
- 訊息佇列之RabbitMQ佇列MQ
- RabbitMQ 訊息佇列之佇列模型MQ佇列模型
- RabbitMQ 訊息佇列之 Exchange TypesMQ佇列
- [訊息佇列]RabbitMQ佇列MQ
- RabbitMQ訊息佇列MQ佇列
- 2018-06-14: Java 訊息佇列之 RabbitMQ 使用Java佇列MQ
- RabbitMQ學習(三)之 “訊息佇列高階使用”MQ佇列
- rabbitmq訊息佇列原理MQ佇列
- MQ訊息佇列_RabbitMQMQ佇列
- 訊息匯流排Bus介紹及使用場景-訊息佇列和RabbitMQ介紹及安裝佇列MQ
- RabbitMQ .NET訊息佇列使用入門(五)【RabbitMQ例子】MQ佇列
- RabbitMQ訊息佇列(五):Routing 訊息路由MQ佇列路由
- SpringBoot:初探 RabbitMQ 訊息佇列Spring BootMQ佇列
- RabbitMQ .NET訊息佇列使用入門(四)【RabbitMQ用法大全】MQ佇列
- RabbitMQ訊息佇列(二):”Hello, World“MQ佇列
- RabbitMQ訊息佇列(六):使用主題進行訊息分發MQ佇列
- RabbitMQ高階之訊息限流與延時佇列MQ佇列
- 架構設計之NodeJS操作訊息佇列RabbitMQ架構NodeJS佇列MQ
- 【訊息佇列】RabbitMq-宣告佇列與交換機佇列MQ
- RabbitMQ訊息佇列(九):Publisher的訊息確認機制MQ佇列
- 訊息佇列常見的 5 個應用場景佇列
- 訊息佇列常見的5個應用場景佇列
- 訊息佇列的七種經典應用場景佇列
- Laravel5.6 整合 RabbitMQ 訊息佇列LaravelMQ佇列
- 訊息佇列Rabbitmq的交換器型別佇列MQ型別
- 訊息佇列之 RocketMQ佇列MQ
- 訊息佇列之 ActiveMQ佇列MQ
- 訊息佇列之RocketMQ佇列MQ
- 【訊息佇列】RabbitMq-交換機模型佇列MQ模型
- RabbitMQ,RocketMQ,Kafka 幾種訊息佇列的對比MQKafka佇列
- 訊息佇列之概論佇列
- 簡述訊息佇列在電商系統使用場景以及工作模式佇列模式
- RabbitMQ訊息佇列-Centos7下安裝RabbitMQ3.6.1MQ佇列CentOS
- 使用RabbitMQ訊息佇列來處理大規模的資料流MQ佇列
- 訊息佇列MQ應用場景及主流框架對比佇列MQ框架
- Java訊息佇列:RabbitMQ與Kafka的整合與應用Java佇列MQKafka
- Python使用RocketMQ(訊息佇列)PythonMQ佇列