展示网站开发 大概多少钱wordpress+4.2.4中文
目录
一、说明
二、安装zookeeper
三、创建工程cloud-provider-payment8004
四、创建工程cloud-consumerzk-order80
一、说明
zookeeper是一个分布式协调工具,可以实现注册中心功能,zookeeper服务器取代Eureka服务器,zk作为服务注册中心。
二、安装zookeeper
1、官网下载
官网地址
https://zookeeper.apache.org/
其他版本点击Older releases are available in the archive.

2、安装
下载完压缩包后进行解压,本次使用3.6.3版本

3、启动
进入bin目录,双击zkServer.cmd


三、创建工程cloud-provider-payment8004
1、新建

2、添加pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.hk.cloudstudy</groupId><artifactId>SecondSpringCloud</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>cloud-provider-payment8004</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- SpringBoot整合Web组件 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><!-- 引入自己定义的api通用包,可以使用Payment支付Entity --><groupId>com.hk.cloudstudy</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><!-- SpringBoot整合zookeeper客户端 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zookeeper-discovery</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies></project>
3、添加yml文件
#8004表示注册到zookeeper服务器的支付服务提供者端口号
server:port: 8004
#服务别名----注册zookeeper到注册中心名称
spring:application:name: cloud-provider-paymentcloud:zookeeper:connect-string: 192.168.10.139:2181
4、启动类
package com.hk.cloudstudy;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@EnableDiscoveryClient //该注解用于向使用consul或者zookeeper作为注册中心时注册服务
public class PaymentMain8004 {public static void main(String[] args) {SpringApplication.run(PaymentMain8004.class,args);}
}
5、编写controller
package com.hk.cloudstudy.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.UUID;@RestController
public class PaymentController {@Value("${server.port}")private String serverPort;@RequestMapping("/payment/zk")public String getPaymentPort(){return "springcloud with zookeeper: "+serverPort+"\t"+ UUID.randomUUID().toString();}
}
6、启动8004
查看zookeeper中是否有cloud-provider-payment节点
打开zookeeper的连接工具,双击zkCli.cmd

如果启动存在异常,这是因为zookeeper版本包冲突

解决:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.hk.cloudstudy</groupId><artifactId>SecondSpringCloud</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>cloud-provider-payment8004</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- SpringBoot整合Web组件 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><!-- 引入自己定义的api通用包,可以使用Payment支付Entity --><groupId>com.hk.cloudstudy</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><!-- SpringBoot整合zookeeper客户端 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zookeeper-discovery</artifactId><!--先排除自带的zookeeper3.5.3--><exclusions><exclusion><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId></exclusion></exclusions></dependency><!--添加zookeeper3.6.3版本--><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.6.3</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies></project>
四、创建工程cloud-consumerzk-order80
1、新建

2、添加pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.hk.cloudstudy</groupId><artifactId>SecondSpringCloud</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>cloud-consumerzk-order80</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- SpringBoot整合Web组件 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- SpringBoot整合zookeeper客户端 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zookeeper-discovery</artifactId><!--先排除自带的zookeeper--><exclusions><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.6.3</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies></project>
3、添加yml
server:port: 80spring:application:name: cloud-consumer-ordercloud:#注册到zookeeper地址zookeeper:connect-string: 192.168.10.139:2181
4、启动类
package com.hk.cloudstudy;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class OrderZK80
{public static void main(String[] args){SpringApplication.run(OrderZK80.class,args);}
}
5、配置类
package com.hk.cloudstudy.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 ApplicationContextBean {@Bean@LoadBalancedpublic RestTemplate getRestTemplate(){return new RestTemplate();}
}
6、编写controller
package com.hk.cloudstudy.controller;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 OrderZKController
{public static final String INVOKE_URL = "http://cloud-provider-payment";@Autowiredprivate RestTemplate restTemplate;@RequestMapping(value = "/consumer/payment/zk")public String paymentInfo(){String result = restTemplate.getForObject(INVOKE_URL+"/payment/zk", String.class);System.out.println("消费者调用支付服务(zookeeper)--->result:" + result);return result;}}
7、启动
查看80服务是否注册进zookeeper

8、测试
访问http://localhost:80/consumer/payment/zk


9、zookeeper上的服务节点是临时节点还是持久节点
关闭80服务和8004服务,再次查看zookeeper

说明:临时节点
