首頁 >Java >java教程 >SpringBoot中如何整合Dubbo zookeeper

SpringBoot中如何整合Dubbo zookeeper

WBOY
WBOY轉載
2023-05-17 14:16:061479瀏覽

docker pull zookeeper

docker run --name zk01 -p 2181:2181 --restart always -d 2e30cac00aca

SpringBoot中如何整合Dubbo zookeeper

表明zookeeper已成功啟動

Zookeeper和Dubbo• Z​​ooKeeperZooKeeper 是一個分散式的,開放原始碼的分散式應用程式協調服務。它是一個為分散式應用提供一致性服務的軟體,提供的功能包括:配置維護、網域服務、分散式同步、群組服務等。

DubboDubbo是Alibaba開源的分散式服務框架,它最大的特點是按照分層的方式來架構,使用這種方式可以使各層之間解耦合(或最大限度地鬆耦合)。

從服務模型的角度來看,Dubbo採用的是一種非常簡單的模型,要么是提供方提供服務,要么是消費方消費服務,所以基於這一點可以抽像出服務提供方( Provider)和服務消費方(Consumer)兩個角色。

SpringBoot中如何整合Dubbo zookeeper

SpringBoot中如何整合Dubbo zookeeper

客戶端(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

以上是SpringBoot中如何整合Dubbo zookeeper的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除