SpringBoot分布式
点击上方蓝色字体,选择“标星公众号”
优质文章,第一时间送达
一、zookeeper使用
1、进入linux系统使用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快速创建一个服务的提供者,一个服务的消费者
(1)在空工程里创建服务提供者的Module(springboot初始化向导创建并引入web模块)
并在服务提供者Module中定义一个简单的方法
(2)再在工程里创建服务消费者的Module(springboot初始化向导创建并引入web模块)
(3)Dubbo实现消费者使用生产者的功能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
在需要发布服务的实现类上添加注解(需要注意@Service
引入的包):
import com.alibaba.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;
@Component
@Service //将服务发布出去
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消费者类中远程调用服务提供者所实现的方法即可实现对TicketServiceImpl实现类方法的调用:
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);
}
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:
https://blog.csdn.net/weixin_42453582/article/details/111490752
粉丝福利:Java从入门到入土学习路线图
???
?长按上方微信二维码 2 秒
感谢点赞支持下哈