关于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也会返回正确的信息,至此服务注册与调用已完成。