码迷,mamicode.com
首页 > 编程语言 > 详细

手把手spring cloud整合zookeeper搭建微服务

时间:2019-06-24 17:06:29      阅读:670      评论:0      收藏:0      [点我收藏+]

标签:led   依赖   ide   ali   next   param   zook   jar包   开发工具   

环境配置:JDK8 +IDEA 开发工具

**说明:下面搭建过程基于你本地已经配置好zookeeper

 

一、先搭建父工程(PS:是可以不搭建父工程的,即每个服务和client都是单独的spring boot项目,也是OK的,搭建父工程纯粹为了将项目放在一起,且pom文件可以少一点而已!)

1、先搭建父工程:spring initial -- 第二步,Type改成Maven Pom,Artifact改成demo-parent,便于理解 -- 引入两个依赖,web和zookeeper-discovery;搭建完后,记得改maven路径

 

2、再搭建一个服务,也就是provider:在(1)搭建好的demo-parent上右键 -- new -- module -- Spring Initializr -- next -- Artifact改成demo-server -- next,这里是服务端,会有DB的操作,所有引入了mongoDB --next --finish;然后:

完成后吧pom文件的parent改成(1)中父工程的;

改配置文件。用yml形式,配置zookeeper

再随便建个Cintroller,定义一个测试接口

最后Application程序入口添加注解@EnableDiscoveryClient

》》先启动zookeeper,zookeeper后台也要运行jar包才能访问9090端口查看

巨坑之:发现测试接口一直报404,还另外新建了一个项目来对比,发现controller路径放错了,改成和Application同级下,一切OK了!

而zookeeper配置并没有问题,也很简单

 

3、搭建一个服务消费者:创建过程同(2)里面的,只是Artifact改成demo-client,引入的依赖改成,然后:

完成后吧pom文件的parent改成(1)中父工程的;

改配置文件。用yml形式,配置zookeeper,其中spring.cloud.zookeeper.discovery.register=false,也再ZK UI就不会出现了

定义一个用@FeignClient(value = "server-name")的接口,里面方法对应服务里面提供的方法,且server-name与服务提供里面配置的spring.application.name的值对应,示例如下:

@FeignClient(value = "server yml 文件 spring.application.name 对应的值")
public interface FeignService {

    @RequestMapping("/test")
    String printString(@RequestParam(name="name") String name);
}

再随便建个Controller,定义一个测试接口,接口里面调用接口里面的方法即可,示例如下:

  @Autowired
    FeignService feignService;
  //注意这里client/test是客户端自己定义的调用url,且、且、且千万不能/开头,即/client/test,是会报错的,服务调不通
    @RequestMapping("client/test")
    public String ps(String name){
        return feignService.printString(name);
    }

最后Application程序入口添加注解@EnableDiscoveryClient和@EnableFeignClients

 

二、要最先启动zookeeper服务,也可以启动zookeeper UI

 

三、依次启动 server 和 client,再在浏览器调用测试方法,即可查看结果!

手把手spring cloud整合zookeeper搭建微服务

标签:led   依赖   ide   ali   next   param   zook   jar包   开发工具   

原文地址:https://www.cnblogs.com/zz-3m23d-begining/p/11077428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!