SpringBoot分布式
點擊上方藍色字體,選擇“標星公眾號”
優(yōu)質文章,第一時間送達
一、zookeeper使用
1、進入linux系統(tǒng)使用docker安裝zookeeper
docker?pull?zookeeper

2、運行zookeepe
查看zookeeper的docker鏡像的id
docker?images

官方給出的docker啟動命令為:$ docker run --name some-zookeeper --restart always -d zookeeper
此鏡像暴露端口:2181(client port:客戶端交互) 、2888(follower port:集群)、 3888(election port:選舉)
docker?run?--name?zk01?-p?2181:2181?--restart?always?-d?e1763fd3a0e3

此處我們指定name為zko1,-p選擇暴露linux的端口2181映射到docker容器的2181端口,-d指定需要后臺運行的zookeeper的id
3、查看啟動運行狀況
docker?ps

3、Idea快速創(chuàng)建一個服務的提供者,一個服務的消費者
(1)在空工程里創(chuàng)建服務提供者的Module(springboot初始化向導創(chuàng)建并引入web模塊)
并在服務提供者Module中定義一個簡單的方法
(2)再在工程里創(chuàng)建服務消費者的Module(springboot初始化向導創(chuàng)建并引入web模塊)

(3)Dubbo實現(xiàn)消費者使用生產者的功能A、將服務的提供者注冊到注冊中心里去
在pom.xml文件中加入Dubbo的springboot依賴
???????
????????
????????????com.alibaba.boot
????????????dubbo-spring-boot-starter
????????????0.1.0
????????
????????
????????
????????????com.github.sgroschupf
????????????zkclient
????????????0.1
????????
在application.properties中配置Dubbo的相關屬性
dubbo.application.name=provider-ticket
#注冊中心地址
dubbo.registry.address=zookeeper://虛擬機ip:2181
#服務所在包
dubbo.scan.base-packages=com.atguigu.ticket.service
在需要發(fā)布服務的實現(xiàn)類上添加注解(需要注意@Service引入的包):
import?com.alibaba.dubbo.config.annotation.Service;
import?org.springframework.stereotype.Component;
@Component
@Service?//將服務發(fā)布出去
public?class?TicketServiceImpl?implements?TicketService?{
????@Override
????public?String?getTicket()?{
????????return?"這是一張電影票";
????}
}
B、消費者去注冊中心中尋找服務
引入依賴
在pom.xml文件中加入Dubbo的springboot依賴
???????
????????
????????????com.alibaba.boot
????????????dubbo-spring-boot-starter
????????????0.1.0
????????
????????
????????
????????????com.github.sgroschupf
????????????zkclient
????????????0.1
????????
在application.properties中配置Dubbo的相關屬性
dubbo.application.name=provider-ticket
#注冊中心地址
dubbo.registry.address=zookeeper://虛擬機ip:2181
在工程中引入接口類:
在UserService消費者類中遠程調用服務提供者所實現(xiàn)的方法即可實現(xiàn)對TicketServiceImpl實現(xiàn)類方法的調用:
import?com.alibaba.dubbo.config.annotation.Reference;
import?com.atguigu.ticket.service.TicketService;
import?org.springframework.stereotype.Service;
@Service
public?class?UserService?{
????@Reference
????TicketService?ticketService;
????public?void?test(){
????????String?str?=?ticketService.getTicket();
????????System.out.println("消費者買票:"+str);
????}
}
版權聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:
https://blog.csdn.net/weixin_42453582/article/details/111490752
粉絲福利:Java從入門到入土學習路線圖
???

?長按上方微信二維碼?2 秒
感謝點贊支持下哈?
