- 一、zookeeper
- 1.1 zookeeper windows环境搭建
- 1.2 pom依赖(Payment8004)
- 1.3 yml配置文件
- 1.4 启动类
- 1.5 controller类
- 1.6 启动zookeeper的server端
- 1.7 zookeeper jar包
- 1.8 zookeeper客户端进行访问
- 1.9 zookeeper节点的分类
- 1.10 服务消费者进zookeeper
- 二、consul
- 2.1 简介
- 2.2 安装consul
- 2.3 启动consul
- 2.4 pom
- 2.5 yml
- 2.6 config
- 2. 7 服务注册者controller
- 2.8 consul中查看
- 2.9 服务消费者
- 2.10 三个注册中心对比
- 2.11 cap
ZooKeeper在Windows系统上单机部署和使用
1.2 pom依赖(Payment8004)- 注意zooleeper jar包与zookeeper环境的一致性
- 注意zookeeper jar包可能重复
1.3 yml配置文件org.example CommModule${project.version} org.springframework.cloud spring-cloud-starter-zookeeper-discovery2.0.2.RELEASE org.apache.zookeeper zookeeperorg.projectlombok lomboktrue org.apache.zookeeper zookeeper3.4.8 org.slf4j slf4j-log4j12org.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-starter-web
#8004表示注册到zookeeper服务器的支付服务提供者端口号
server:
port: 8004
#服务别名----注册zookeeper到注册中心名称
spring:
application:
name: cloud-provider-payment
cloud:
zookeeper:
connect-string: 127.0.0.1:2181
1.4 启动类
@SpringBootApplication
@EnableDiscoveryClient //该注解用于向使用consul或者zookeeper作为注册中心时注册服务
public class paymentBoot {
public static void main(String[] args) {
SpringApplication.run(paymentBoot.class, args);
System.out.println("启动成功");
}
}
1.5 controller类
@RestController
//@Slf4j
public class PaymentController {
@Value("${server.port}")
private String serverPort;
@RequestMapping(value = "/payment/zk")
public String paymentzk() {
return "springcloud with zookeeper: " + serverPort + "t" + UUID.randomUUID().toString();
}
}
1.6 启动zookeeper的server端
- zkserver.cmd
- zkCli.cmd
- 永久
- 临时 *
- configure类
@Configuration
public class applicaitonConfig {
@Bean
@LoadBalanced
public RestTemplate getRestemplate(){
return new RestTemplate();
}
}
- controller
@RestController
public class PaymentController {
public static final String INVOKE_URL = "http://cloud-provider-payment";
@Resource
private RestTemplate restTemplate;
@GetMapping("/zk/payment/consumer")
public String paymentInfo(){
String result = restTemplate.getForObject(INVOKE_URL + "/payment/zk", String.class);
return result;
}
}
二、consul
2.1 简介
2.2 安装consul
安装consul,下载好安装包解压,然后编辑环境变量。
2.3 启动consul- consul agent -dev
然后访问http://localhost:8500
2.5 ymlorg.springframework.cloud spring-cloud-starter-consul-discoverycom.atguigu.springcloud cloud-api-commons${project.version} org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-actuatororg.projectlombok lomboktrue org.springframework.boot spring-boot-starter-testtest
server:
port: 8006
spring:
application:
name: consul-provider-payment
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${spring.application.name}
2.6 config
@SpringBootApplication
@EnableDiscoveryClient //该注解用于向使用consul或者zookeeper作为注册中心时注册服务
public class config {
public static void main(String[] args) {
SpringApplication.run(config.class, args);
System.out.println("启动成功");
}
}
2. 7 服务注册者controller
@RestController
//@Slf4j
public class consulController {
@Value("${server.port}")
private String serverPort;
@RequestMapping(value = "/payment/consul")
public String paymentConsul() {
return "springcloud with consul: " + serverPort + "t" + UUID.randomUUID().toString();
}
}
2.8 consul中查看
2.9 服务消费者
@RestController
public class PaymentController {
public static final String INVOKE_URL = "http://consul-provider-payment";
@Resource
private RestTemplate restTemplate;
@GetMapping("/zk/payment/consumer")
public String paymentInfo(){
String result = restTemplate.getForObject(INVOKE_URL + "/consumer/payment/consul", String.class);
return result;
}
}
2.10 三个注册中心对比
2.11 cap



