1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          activemq面試題(ActiveMQ面試題及答案有哪些)

          來源:互聯網轉載 時間:2024-05-10 12:56:00

           1、什么是 ActiveMQ?

            activeMQ是一種開源的,實現了JMS1.1規范的,面向消息(MOM)的中間件,為應用程序提供高效的、可擴展的、穩定的和安全的企業級消息通信。

            2、Activemq的瓶頸值

            根據網上一般評測文檔上來看,每秒的消息吞吐在2000以上, acticemq也可以集群化部署,也是使用zookeeper來搭建。

            3、ActiveMQ服務器宕機怎么辦?

            這得從ActiveMQ的儲存機制說起。在通常的情況下,非持久化消息是存儲在內存中的,持久化消息是存儲在文件中的,它們的最大限制在配置文件的節點中配置。

            但是,在非持久化消息堆積到一定程度,內存告急的時候,ActiveMQ會將內存中的非持久化消息寫入臨時文件中,以騰出內存。雖然都保存到了文件里,但它和持久化消息的區別是,重啟后持久化消息會從文件中恢復,非持久化的臨時文件會直接刪除。

            那如果文件增大到達了配置中的最大限制的時候會發生什么?我做了以下實驗:

            設置2G左右的持久化文件限制,大量生產持久化消息直到文件達到最大限制,此時生產者阻塞,但消費者可正常連接并消費消息,等消息消費掉一部分,文件刪除又騰出空間之后,生產者又可繼續發送消息,服務自動恢復正常。

            設置2G左右的臨時文件限制,大量生產非持久化消息并寫入臨時文件,在達到最大限制時,生產者阻塞,消費者可正常連接但不能消費消息,或者原本慢速消費的消費者,消費突然停止。整個系統可連接,但是無法提供服務,就這樣掛了。

            具體原因不詳,解決方案:盡量不要用非持久化消息,非要用的話,將臨時文件限制盡可能的調大。

            4、AcitveMQ的作用、原理?(生產者、消費者。p2p、訂閱實現流程)

            Activemq的作用就是系統之間進行通信。當然可以使用其他方式進行系統間通信,如果使用Activemq的話可以對系統之間的調用進行解耦,實現系統間的異步通信。原理就是生產者生產消息,把消息發送給activemq。Activemq接收到消息,然后查看有多少個消費者,然后把消息轉發給消費者,此過程中生產者無需參與。消費者接收到消息后做相應的處理和生產者沒有任何關系

            5、activemq在項目中如何應用的

            Activemq在項目中主要是完成系統之間通信,并且將系統之間的調用進行解耦。例如在添加、修改商品信息后,需要將商品信息同步到索引庫、同步緩存中的數據以及生成靜態頁面一系列操作。

            在此場景下就可以使用activemq。一旦后臺對商品信息進行修改后,就向activemq發送一條消息,然后通過activemq將消息發送給消息的消費端,消費端接收到消息可以進行相應的業務處理

            7、rabbitmq如何實現集群高可用?

            集群是保證服務可靠性的一種方式,同時可以通過水平擴展以提升消息吞吐能力。RabbitMQ是用分布式程序設計語言erlang開發的,所以天生就支持集群。接下來,將介紹RabbitMQ分布式消息處理方式、集群模式、節點類型,并動手搭建一個高可用集群環境,最后通過java程序來驗證集群的高可用性。

            RabbitMQ分布式的消息處理方式有以下三種:

            (1)Clustering:不支持跨網段,各節點需運行同版本的Erlang和RabbitMQ,應用于同網段局域網。

            (2)Federation:允許單臺服務器上的Exchange或Queue接收發布到另一臺服務器上Exchange或Queue的消息,應用于廣域網。

            (3)Shovel:與Federation類似,但工作在更低層次。

            RabbitMQ對網絡延遲很敏感,在LAN環境建議使用clustering方式;在WAN環境中,則使用Federation或Shovel。我們平時說的RabbitMQ集群,說的就是clustering方式,它是RabbitMQ內嵌的一種消息處理方式,而Federation或Shovel則是以plugin形式存在。

            8、丟消息怎么辦?

            這得從java的java.net.SocketException異常說起。簡單點說就是當網絡發送方發送一堆數據,然后調用close關閉連接之后。這些發送的數據都在接收者的緩存里,接收者如果調用read方法仍舊能從緩存中讀取這些數據,盡管對方已經關閉了連接。

            但是當接收者嘗試發送數據時,由于此時連接已關閉,所以會發生異常,這個很好理解。不過需要注意的是,當發生SocketException后,原本緩存區中數據也作廢了,此時接收者再次調用read方法去讀取緩存中的數據,就會報Software caused connection abort: recv failed錯誤。

            通過抓包得知,ActiveMQ會每隔10秒發送一個心跳包,這個心跳包是服務器發送給客戶端的,用來判斷客戶端死沒死。如果你看過上面第一條,就會知道非持久化消息堆積到一定程度會寫到文件里,這個寫的過程會阻塞所有動作,而且會持續20到30秒,并且隨著內存的增大而增大。

            當客戶端發完消息調用connection.close()時,會期待服務器對于關閉連接的回答,如果超過15秒沒回答就直接調用socket層的close關閉tcp連接了。這時客戶端發出的消息其實還在服務器的緩存里等待處理,不過由于服務器心跳包的設置,導致發生了java.net.SocketException異常,把緩存里的數據作廢了,沒處理的消息全部丟失。

            解決方案:用持久化消息,或者非持久化消息及時處理不要堆積,或者啟動事務,啟動事務后,commit()方法會負責任的等待服務器的返回,也就不會關閉連接導致消息丟失了。

          標簽:activemq面試題-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          近日,中共中央印發了《關于調整預備役部隊領導體制的決定》(以下簡稱《決定》)?!稕Q定》明確,自2020年7月1日零時起,預備役部隊全面納入軍隊領導指揮體系,由現行軍地雙重領導調整為黨中央、中央軍委集中統一領導。那么,你對我軍預備役部隊了解多少?預備役算不算?預備役部隊穿制服嗎?部隊預備役穿什么制服?可能很多人不確定。本文將幫助您普及這些知識。保留ABC預備役部隊是中國人民的組成部分,納入中國人民的...

          提起乾隆皇帝的兒子們都叫什么大家在熟悉不過了,被越來越多的人所熟知,那你知道乾隆皇帝的兒子們都叫什么嗎?快和小編一起去了解一下吧!(資料圖片僅供參考)乾隆皇帝的兒子名單如下:1、定安親王永璜;2、端慧太子永璉;3、循郡王永璋;4、履端親王永珹;5、榮純親王永琪;6、質莊親王永瑢;7、哲親王永琮;8、儀慎親王永璇;9、成哲親王永瑆;10、貝勒永璂;11.嘉慶帝永琰;12.慶僖親王永璘。...

          余額寶中存入十萬元一天能夠有多少收益?余額寶當中存入十萬元,每天可以獲得6.5元的收益。余額寶的收益如何計算?余額寶收益=已經確認金額÷10000×當日萬分收益,比如你在余額寶里面存了10萬塊錢,當日萬分收益是0.4,那么你當天的收益就是100000÷10000×0.4=4元。余額寶收益的計算公式“收益= (已確認余額/10000)*...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>