tomcat對mq監聽機制,致使ngxin沒有請求轉發給它,它本身會去mq取數據處理

今天遇到的問題,描述以下nginx

本地配置json

ngxin 端口 80tomcat

tomcat1 8080負載均衡

tomcat2 8081 日誌

tomcat3 8082隊列

問題:tomcat1,2,3都部署的相同的程序並都啓動,nginx對tomcat1和2作了負載均衡,當請求到來的時候,nginx把請求分發給tomat1,2,結果經過查看日誌發現tomcat3也在處理請求,百思不解。部署

緣由:程序自己機制問題。當一個請求轉發給tomat1或2的時候,tomcat1,2會接受請求並取出請求參數,好比json串取出來,先放到rabbitMQ裏而不是直接處理它。程序自己有一個對MQ的監聽機制,當程序發現本身處於空閒狀態時候,它會主動去MQ裏取數據並處理。因此tomcatr3雖然沒有接收到nginx轉發過來的請求,可是由於它對MQ的監聽,使得MQ裏隊列消息的時候它也會自動去取數據並處理,就致使瞭如題所描述的問題。it

相關文章
相關標籤/搜索