阿里雲MNS隊列消息被大量消費


場景

  阿里雲物聯網平台數據流轉至mns隊列,發現mns隊列扣費異常,發現消息隊列一個月竟然消費了五千多萬條消息(然而我們項目還沒上線,實際業務根本沒有達到這個數量級😱)。如圖:

解決措施

補救措施:登入RAM控制台,禁用用戶AccessKey,新建用戶AccessKey
  

搗鼓一番,衍生出bug

 然后搗鼓一番,悲劇出現了ε(┬┬﹏┬┬)3,物聯網平台流轉數據至mns隊列失敗,錯誤代碼9332。如圖:

定位出報錯原因

 一番苦思冥想之后,最后終於定位到原因MNS ServiceException:The request is denied by ram policy.。原因就是物聯網平台服務訂閱創建訂閱之后會生成AliyunIOTAccessingMNSRole,可在RAM控制台-RANM角色管理查看。物聯網平台數據流轉至mns隊列時,發現沒有操作mns的權限,被ram拒絕了。(原來是我在移除原有權限的時候,一把小心把`AliyunIOTAccessingMNSRole`的操作mns權限也移除了,然后物聯網平台自然就權限不夠,被RAM無情的拒絕了🙈)
 定位出錯誤原因就好辦了,找到`AliyunIOTAccessingMNSRole`,添加mns相關權限。添加后如圖:

 修改之后觀察數據流轉(流轉正常):
 
 服務器也能正常從隊列拉取數據😎

異常消費問題

 至於mns隊列換用用戶AccessKey,是否還會出現異常大量消費,有待后續觀察~🐷🐷🐷


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM