更新時間:2020-06-03 14:04:37 來源:動力節(jié)點 瀏覽3299次
dubbo服務(wù)開發(fā)流程,運行流程?zookeeper注冊中心的作用?
使用流程:
第一步:要在系統(tǒng)中使用dubbo應(yīng)該先搭建一個注冊中心,一般推薦使用zookeeper。
第二步:有了注冊中心然后是發(fā)布服務(wù),發(fā)布服務(wù)需要使用spring容器和dubbo標簽來發(fā)布服務(wù)。并且發(fā)布服務(wù)時需要指定注冊中心的位置。
第三步:服務(wù)發(fā)布之后就是調(diào)用服務(wù)。一般調(diào)用服務(wù)也是使用spring容器和dubbo標簽來引用服務(wù),這樣就可以在客戶端的容器中生成一個服務(wù)的代理對象,在action或者Controller中直接調(diào)用service的方法即可。
Zookeeper注冊中心的作用主要就是注冊和發(fā)現(xiàn)服務(wù)的作用。類似于房產(chǎn)中介的作用,在系統(tǒng)中并不參與服務(wù)的調(diào)用及數(shù)據(jù)的傳輸。
redis為什么可以做緩存?項目中使用redis的目的是什么?redis什么時候使用?
1)Redis是key-value形式的nosql數(shù)據(jù)庫。可以快速的定位到所查找的key,并把其中的value取出來。并且redis的所有的數(shù)據(jù)都是放到內(nèi)存中,存取的速度非常快,一般都是用來做緩存使用。
2)項目中使用redis一般都是作為緩存來使用的,緩存的目的就是為了減輕數(shù)據(jù)庫的壓力提高存取的效率。
3)在互聯(lián)網(wǎng)項目中只要是涉及高并發(fā)或者是存在大量讀數(shù)據(jù)的情況下都可以使用redis作為緩存。當然redis提供豐富的數(shù)據(jù)類型,除了緩存還可以根據(jù)實際的業(yè)務(wù)場景來決定redis的作用。例如使用redis保存用戶的購物車信息、生成訂單號、訪問量計數(shù)器、任務(wù)隊列、排行榜等。
activeMQ在項目中如何應(yīng)用的?
Activemq在項目中主要是完成系統(tǒng)之間通信,并且將系統(tǒng)之間的調(diào)用進行解耦。例如在添加、修改商品信息后,需要將商品信息同步到索引庫、同步緩存中的數(shù)據(jù)以及生成靜態(tài)頁面一系列操作。在此場景下就可以使用activemq。一旦后臺對商品信息進行修改后,就向activemq發(fā)送一條消息,然后通過activemq將消息發(fā)送給消息的消費端,消費端接收到消息可以進行相應(yīng)的業(yè)務(wù)處理。
activeMQ如果數(shù)據(jù)提交不成功怎么辦?
Activemq有兩種通信方式,點到點形式和發(fā)布訂閱模式。如果是點到點模式的話,如果消息發(fā)送不成功此消息默認會保存到activemq服務(wù)端知道有消費者將其消費,所以此時消息是不會丟失的。
如果是發(fā)布訂閱模式的通信方式,默認情況下只通知一次,如果接收不到此消息就沒有了。這種場景只適用于對消息送達率要求不高的情況。如果要求消息必須送達不可以丟失的話,需要配置持久訂閱。每個訂閱端定義一個id,在訂閱是向activemq注冊。發(fā)布消息和接收消息時需要配置發(fā)送模式為持久化。此時如果客戶端接收不到消息,消息會持久化到服務(wù)端,直到客戶端正常接收后為止
Redis在其中是怎么用的?起了什么作用?
redis中存儲的都是key-value格式的。拿商品數(shù)據(jù)來說,key就是商品id,value是商品相關(guān)信息的json數(shù)據(jù)。
在商城系統(tǒng)中當并發(fā)量比較高,頻繁的對數(shù)據(jù)庫進行讀操作的時候都需要添加緩存。例如頁面中內(nèi)容數(shù)據(jù)的緩存、商品數(shù)據(jù)的緩存以及用戶數(shù)據(jù)的緩存等。
做商品數(shù)據(jù)的緩存時,因為商品的數(shù)據(jù)量很大,而且緩存是把數(shù)據(jù)保存到內(nèi)存中,此時不可能把所有的商品數(shù)據(jù)都放到緩存中。所以需要設(shè)置商品數(shù)據(jù)緩存的有效期,當用戶訪問到非熱點數(shù)據(jù)后,此數(shù)據(jù)放到緩存中,當緩存到期后就從緩存中刪除,而且長時間不會添加到緩存。而熱點數(shù)據(jù)一旦從緩存中刪除會馬上又添加到緩存。這樣可以提高緩存的利用率,同時也減輕了數(shù)據(jù)庫的壓力。
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java互聯(lián)網(wǎng)面試之電商java筆試題”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。