SpringCloud整合zookeeper搭建服务注册中心
1 导入pom
<!--一定要保证安装的zookeeper版本和导入的包版本一致--> <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
<exclusions>
<!--先排除自带的zookeeper3.5.3-->
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加zookeeper3.4.9版本-->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
</dependency>
2 编写yml文件
spring: application:
name: cloud-consumer-order
cloud:
zookeeper:
# 注册到zookeeper地址
connect-string: localhost:2181
3 在启动类上面开启注解
@EnableDiscoveryClient
package com.shi.order;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
}
4 .使用restTemplat进行测试
package com.shi.order.config;import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class ConfigApplication {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
}
5 . Controller 测试代码
package com.shi.order.controller;import com.shi.order.entity.CommonResoult;
import com.shi.order.entity.Payment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
@RestController
public class OrderController {
private static String preUrl = "http://cloud-payment-service";
@Autowired
private RestTemplate restTemplate;
@RequestMapping("/consumer/getPort")
public CommonResoult<String> getPort(){
CommonResoult<String> resoult = restTemplate.postForObject(preUrl + "/product/getPort",null,CommonResoult.class);
return resoult;
}
}
以上是 SpringCloud整合zookeeper搭建服务注册中心 的全部内容, 来源链接: utcz.com/z/514704.html