Eureka已经停更,所以用Zookeeper代替Eureka。我的zookeeper集群是部署在windows机器本地的。如果是linux机器,需要关闭防火墙。systemctl stop firewalld
一、新建cloud-provider-payment8004
二、修改pom文件
2.1 在父工程的pom文件中新增zookeeperde 依赖
<!-- 使用Zookeeper代替Eureka作为注册中心-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-zookeeper-dependencies</artifactId>
<version>3.0.4</version>
</dependency>
2.2 在支付微服务的pom文件中新怎Zookeeper依赖
<dependencies>
<dependency>
<groupId>otc.orientsec</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.14</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!--
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
</dependency>
</dependencies>
三、yml文件
server:
port: 8004
spring:
application:
name: cloud-payment-service
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_crud?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
username: root
password: Cwptxt$2017$
cloud:
zookeeper:
connect-string: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
mybatis:
type-aliases-package: com.atorientsec.springcloud.entities
mapper-locations: classpath:mapper/*.xml
四、主启动程序
@SpringBootApplication
@EnableDiscoveryClient //该注解用于向使用consul或者zookeeper作为注册中心时注册服务
public class PaymentMain8004 {
public static void main(String[] args)
{
SpringApplication.run(PaymentMain8004.class,args);
}
}
五、controller层
只是为了测试向Zookeeper注册服务的功能,具体的业务不再复述,只简单的请求-应答
@RestController
public class PaymentController {
@Value("${server.port}")
private String serverPort;
@GetMapping("/payment/zk")
public String paymentZk()
{
return serverPort+"\t"+ UUID.randomUUID().toString();
}
}
六、测试
6.1 查看注册的服务
6.2 查看请求