你們的項目為什么要用RabbitMQ? 消息隊列的作用是系統解耦、同步改異步、請求消峰,舉個下訂單的例子: 前端獲取用戶訂單信息,請求后端的訂單創建接口。這個接口並不直接請求訂單服務,而是首先生成唯一訂單編號,再組裝一個訂單消息並發送給RabbitMQ,然后返回唯一訂單編號給前端。前端 ...
你們的項目怎么使用kafka 我們采用kafka進行日志采集,准確點說是ELK方案,即elasticsearch logstash kibana kafka。通過Spring AOP的方式收集日志,通過kafaka發送出去。 kafa存在丟消息的情況嗎,怎么解決 producer把消息發送給broker,因為網絡抖動,消息沒有到達broker,且開發人員無感知。 解決方案:producer設置a ...
2019-10-21 14:01 0 330 推薦指數:
你們的項目為什么要用RabbitMQ? 消息隊列的作用是系統解耦、同步改異步、請求消峰,舉個下訂單的例子: 前端獲取用戶訂單信息,請求后端的訂單創建接口。這個接口並不直接請求訂單服務,而是首先生成唯一訂單編號,再組裝一個訂單消息並發送給RabbitMQ,然后返回唯一訂單編號給前端。前端 ...
StringBuffer與StringBuild的區別 頻繁修改字符串時,建議使用StringBuffer和StringBuilder類。StringBuilder相較於StringBuffer有速度優勢,要求線程安全的情況下,必須使用StringBuffer類。 為什么拼接 ...
RocketMQ怎么保證消息不丟失? A. 從Producer的視角來看:如果消息未能正確的存儲在MQ中,或者消費者未能正確的消費到這條消息,都是消息丟失。 B. 從Bro ...
synchronized怎么用的? 用過,synchronized是常用的並發控制關鍵字,簡單的說就是訪問加鎖。它可以修飾靜態方法或者一個類的class對象,這叫類鎖;可以修飾普通方法或者代碼 ...
Java 面試連環炮系列(三):synchronized怎么用的 面試連環炮系列(七):HashMap的put操作做了什么 面試連環炮系列(八):服務器CPU飆升100%怎么排查 面試連環炮系列(九):為什么ConcurrentHashMap是線程安全的 面試連環炮系列(十 ...
你們的項目為什么要分庫分表? 隨着業務的發展,公司項目的日活翻了幾十倍,訂單表Order每月新增數據100萬左右,有部分場景查詢效率不太高了。通過升級配置、業務規避、緩存集群、歸檔歷史數據等手段,也能夠滿足當前的查詢要求。但是業務是呈加速度增長的,未來的數據會更多。雖然深知過早優化的弊端 ...
你們的項目Redis做了集群部署嗎? 我們有大量數據需要緩存,而單實例的容量畢竟是有限的,於是做了Redis集群部署。 采取的方案是什么,Codis還是Redis Cluster,為什么要選擇這個方案? 我們采用的官方Redis Cluster方案。Codis是一整套緩存解決方案 ...
線程池的使用場景有哪些 線程池適合單系統的大量的異步任務處理,比如發送短信、保存日志。 說說創建線程池的重要參數 corePoolSize:線程池的大小。線程池創建之后不會立即去創建線程,而是等待線程的到來。當前執行的線程數大於該值時,線程會加入到緩沖隊列 ...