你們的項目為什么要用RabbitMQ? 消息隊列的作用是系統解耦、同步改異步、請求消峰,舉個下訂單的例子: 前端獲取用戶訂單信息,請求后端的訂單創建接口。這個接口並不直接請求訂單服務,而是首先生成唯一訂單編號,再組裝一個訂單消息並發送給RabbitMQ,然后返回唯一訂單編號給前端。前端 ...
你們的項目Redis做了集群部署嗎 我們有大量數據需要緩存,而單實例的容量畢竟是有限的,於是做了Redis集群部署。 采取的方案是什么,Codis還是Redis Cluster,為什么要選擇這個方案 我們采用的官方Redis Cluster方案。Codis是一整套緩存解決方案,采取的代理模式實現了高可用 數據分片 監控 動態擴態等功能,但是部署太復雜了。Cluster要簡單很多,而且也基本滿足目 ...
2019-09-03 17:27 0 417 推薦指數:
你們的項目為什么要用RabbitMQ? 消息隊列的作用是系統解耦、同步改異步、請求消峰,舉個下訂單的例子: 前端獲取用戶訂單信息,請求后端的訂單創建接口。這個接口並不直接請求訂單服務,而是首先生成唯一訂單編號,再組裝一個訂單消息並發送給RabbitMQ,然后返回唯一訂單編號給前端。前端 ...
HashMap的put操作做了什么? HashMap的是由數組和鏈表構成的,JDK7之后加入了紅黑樹處理哈希沖突。put操作的步驟是這樣的: 根據key值計算出哈希值作為數組下標。如果數組的這個位置是空的,把k放進去,put操作就完成了。 如果數組位置不為空 ...
synchronized怎么用的? 用過,synchronized是常用的並發控制關鍵字,簡單的說就是訪問加鎖。它可以修飾靜態方法或者一個類的class對象,這叫類鎖;可以修飾普通方法或者代碼 ...
Java 面試連環炮系列(三):synchronized怎么用的 面試連環炮系列(七):HashMap的put操作做了什么 面試連環炮系列(八):服務器CPU飆升100%怎么排查 面試連環炮系列(九):為什么ConcurrentHashMap是線程安全的 面試連環炮系列(十 ...
如何保證Redis高可用和高並發? Redis主從架構,一主多從,可以滿足高可用和高並發。出現實例宕機自動進行主備切換,配置讀寫分離緩解Master讀寫壓力。 Redis高可用方案具體怎么實施? 使用官方推薦的哨兵(sentinel)機制就能實現,當主節點出現故障時 ...
Dubbo應用為什么要部署Zookeeper? Zookeeper用來注冊和發現服務,簡單說就是提供端注冊接口信息到Zookeeper,調用端在Zookeeper上查找接口對應的服務IP和端口。由於Zookeeper集群的高可用性,Dubbo推薦采用Zookeeper作為服務治理的基礎組件 ...
你們的項目怎么使用kafka? 我們采用kafka進行日志采集,准確點說是ELK方案,即elasticsearch + logstash + kibana + kafka。通過Spring AOP的方式收集日志,通過kafaka發送出去。 kafa存在丟消息的情況嗎,怎么解決 ...
你們的項目為什么要分庫分表? 隨着業務的發展,公司項目的日活翻了幾十倍,訂單表Order每月新增數據100萬左右,有部分場景查詢效率不太高了。通過升級配置、業務規避、緩存集群、歸檔歷史數據等手段,也能夠滿足當前的查詢要求。但是業務是呈加速度增長的,未來的數據會更多。雖然深知過早優化的弊端 ...