標籤:java
dubbo服務開發流程,運行流程?zookeeper註冊中心的作用?
使用流程:
第一步:要在系統中使用dubbo應該先搭建一個註冊中心,一般推薦使用zookeeper。
第二步:有了註冊中心然後是發布服務,發布服務需要使用spring容器和dubbo標籤來發布服務。並且發布服務時需要指定註冊中心的位置。
第三步:服務發布之後就是調用服務。一般調用服務也是使用spring容器和dubbo標籤來引用服務,這樣就可以在用戶端的容器中產生一個服務的代理對象,在action或者Controller中直接調用service的方法即可。
Zookeeper註冊中心的作用主要就是註冊和探索服務的作用。類似於房產中介的作用,在系統中並不參與服務的調用及資料的傳輸。
電商項目中是如何解決高並發和高可用的?
1.頁面靜態化
2.fastDFS圖片伺服器
3.資料快取服務器
4.資料庫叢集、庫表散列(資料庫的各種最佳化、資料庫的拆分)
5.負載平衡
什麼是負載平衡
當一台伺服器的單位時間內的訪問量越大時,伺服器壓力就越大,大到超過自身承受能力時,伺服器就會崩潰。為了避免伺服器崩潰,讓使用者有更好的體驗,我們通過負載平衡的方式來分擔伺服器壓力。
我們可以建立很多很多伺服器,組成一個伺服器叢集,當使用者訪問網站時,先訪問一個中間伺服器,在讓這個中間伺服器在伺服器叢集中選擇一個壓力較小的伺服器,然後將該訪問請求引入該伺服器。如此以來,使用者的每次訪問,都會保證伺服器叢集中的每個伺服器壓力趨於平衡,分擔了伺服器壓力,避免了伺服器崩潰的情況。
負載平衡是用反向 Proxy的原理實現的。
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電商項目面試題(四)