1. 程式人生 > >Java電商項目面試題(四)

Java電商項目面試題(四)

java

dubbo服務開發流程,運行流程?zookeeper註冊中心的作用?
使用流程:
第一步:要在系統中使用dubbo應該先搭建一個註冊中心,一般推薦使用zookeeper。
第二步:有了註冊中心然後是發布服務,發布服務需要使用spring容器和dubbo標簽來發布服務。並且發布服務時需要指定註冊中心的位置。
第三步:服務發布之後就是調用服務。一般調用服務也是使用spring容器和dubbo標簽來引用服務,這樣就可以在客戶端的容器中生成一個服務的代理對象,在action或者Controller中直接調用service的方法即可。
Zookeeper註冊中心的作用主要就是註冊和發現服務的作用。類似於房產中介的作用,在系統中並不參與服務的調用及數據的傳輸。
電商項目中是如何解決高並發和高可用的?
1.頁面靜態化
2.fastDFS圖片服務器
3.數據緩存服務器
4.數據庫集群、庫表散列(數據庫的各種優化、數據庫的拆分)
5.負載均衡
什麽是負載均衡
當一臺服務器的單位時間內的訪問量越大時,服務器壓力就越大,大到超過自身承受能力時,服務器就會崩潰。為了避免服務器崩潰,讓用戶有更好的體驗,我們通過負載均衡的方式來分擔服務器壓力。
我們可以建立很多很多服務器,組成一個服務器集群,當用戶訪問網站時,先訪問一個中間服務器,在讓這個中間服務器在服務器集群中選擇一個壓力較小的服務器,然後將該訪問請求引入該服務器。如此以來,用戶的每次訪問,都會保證服務器集群中的每個服務器壓力趨於平衡,分擔了服務器壓力,避免了服務器崩潰的情況。
負載均衡是用反向代理的原理實現的。
redis為什麽可以做緩存?項目中使用redis的目的是什麽?redis什麽時候使用?
1)Redis是key-value形式的nosql數據庫。可以快速的定位到所查找的key,並把其中的value取出來。並且redis的所有的數據都是放到內存中,存取的速度非常快,一般都是用來做緩存使用。
2)項目中使用redis一般都是作為緩存來使用的,緩存的目的就是為了減輕數據庫的壓力提高存取的效率。
3)在互聯網項目中只要是涉及高並發或者是存在大量讀數據的情況下都可以使用redis作為緩存。當然redis提供豐富的數據類型,除了緩存還可以根據實際的業務場景來決定redis的作用。例如使用redis保存用戶的購物車信息、生成訂單號、訪問量計數器、任務隊列、排行榜等。
redis支持五種數據類型存儲:1.字符串2.散列3.列表4.集合5.有序集合
redis集群中,某個節點宕機怎麽辦?你遇見過嗎?你的解決思路是什麽?
redis集群:一般的是至少是2臺服務器,主從服務器!如果redis集群的主服務器掛了,沒有關系還有備服務器
AcitveMQ的作用、原理、特點?(生產者。消費者。 p2p、訂閱實現流程)
Activemq的作用就是系統之間進行通信。當然可以使用其他方式進行系統間通信,如果使用Activemq的話可以對系統之間的調用進行解耦,實現系統間的異步通信。原理就是生產者生產消息,把消息發送給activemq。Activemq接收到消息,然後查看有多少個消費者,然後把消息轉發給消費者,此過程中生產者無需參與。消費者接收到消息後做相應的處理和生產者沒有任何關系。
當技術面試官問到你某個技術點更深層次研究時,自己沒有深入了解怎麽回答?
如果沒有深入研究就直接回答不知道就可以了。
特點:1.對Spring的支持2.支持多種傳送協議3.完全支持jms規範

ActiveMQ在項目中如何應用的?Activemq在項目中主要是完成系統之間通信,並且將系統之間的調用進行解耦。例如在添加、修改商品信息後,需要將商品信息同步到索引庫、同步緩存中的數據以及生成靜態頁面一系列操作。在此場景下就可以使用activemq。一旦後臺對商品信息進行修改後,就向activemq發送一條消息,然後通過activemq將消息發送給消息的消費端,消費端接收到消息可以進行相應的業務處理。

Java電商項目面試題(四)