docker pull zookeeper
docker run --name zk01 -p 2181:2181 --restart always -d 2e30cac00aca
表明zookeeper已成功啟動
Zookeeper和Dubbo• ZooKeeperZooKeeper 是一個分散式的,開放原始碼的分散式應用程式協調服務。它是一個為分散式應用提供一致性服務的軟體,提供的功能包括:配置維護、網域服務、分散式同步、群組服務等。
DubboDubbo是Alibaba開源的分散式服務框架,它最大的特點是按照分層的方式來架構,使用這種方式可以使各層之間解耦合(或最大限度地鬆耦合)。
從服務模型的角度來看,Dubbo採用的是一種非常簡單的模型,要么是提供方提供服務,要么是消費方消費服務,所以基於這一點可以抽像出服務提供方( Provider)和服務消費方(Consumer)兩個角色。
客戶端(consumer)設定:
啟動類別
@SpringBootApplication public class ConsumerManagerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerManagerApplication.class, args); } }
controller
@RestController public class ManagerController { @Reference ManagerService managerService; @RequestMapping("/hello") public String hello() { return managerService.hello(); } }
service(只需要跟服務類別的介面一致就行,套件名稱也要一致)
public interface ManagerService { public String hello(); }
application.properties
dubbo.application.name=consumer-manager dubbo.registry.address=zookeeper://192.168.0.106:2181 server.port=8081
服務端(provider)設定:
啟動類別
@SpringBootApplication public class ProviderManagerApplication { public static void main(String[] args) { SpringApplication.run(ProviderManagerApplication.class, args); } }
service介面與實作類別
public interface ManagerService { public String hello(); } @Service public class ManagerServiceImpl implements ManagerService { @Override public String hello() { System.out.println("客户端请求进来了!"); return "xixi success !!!"; } }
application.properties
dubbo.application.name=provider-manager dubbo.registry.address=zookeeper://192.168.0.106:2181 dubbo.scan.base-packages=com.hourui
瀏覽器存取:
以上是SpringBoot中如何整合Dubbo zookeeper的詳細內容。更多資訊請關注PHP中文網其他相關文章!