關于Zookeeper和Dubbo的原理在此略,請參考連結。預設已在本地安裝了Zookeeper
1)建立一個SpringBoot的項目,導入依賴
2)在yml配置dubbo相關資訊
由于dubbo是用于遠端調用的,故需配置服務注冊中心的相關資訊
3)建立User實體類
注意:若要在dubbo中傳遞對象,那麼此對象必須進行序列化,否則會報錯。
4)建立service類,用于業務邏輯的接口類
這裡以模拟查詢使用者資訊為例。
5)建立實作類,實作業務接口類
需要注意是的,這裡用了兩個@Service注解,但各自有作用。重要的是要引入dubbo的@service注解。隻有使用此注解的類,才會被注冊到zk中。是以需要使用遠端調用的類再加上dubbo的@service注解即可,不需要遠端調用的直接使用原來的@Service注解。
6)建立controller層,測試業務接口
這個controller的作用除了測試業務接口外,還可與服務消費者端的controller進行對比。
7)給啟動類添加注解@EnableDubbo
這裡隻需要配置zk的位址和dubbo的應用名稱。
3)建立service類
此類必須和服務提供者中添加dubbo的@Service注解的接口類一緻,包名也要一緻,要調用的方法也需保持一緻。這些服務都會注冊到zk中,dubbo通過名稱去查找并調用。
5)建立controller層,測試服務接口
在注入服務時使用的是dubbo的@Reference注解,隻有通過這個注解才能調用到服務。
5)給啟動類添加注解@EnableDubbo
6)先啟動zk服務,再啟動服提供者,最後啟動服務消費者,先通路http://localhost:8001/get,傳回正确資訊:
調用http://localhost/test也會傳回正确的資訊,至此服務注冊與調用已完成。