目次
Zookeeper安装
创建新支付模块项目
1. 启动zk
2. 创建新的支付模块
1. 创建模块spring_cloud_payment_8004
2. pom依靠
3. 配置文件
4. 主启动类
5. controller层代码
6. zookeeper服务器启动后,连接客服端
创建新的order模块
1. 创建项目
2. pom
3. 配置文件
4. 主启动类
5. RestTemplate
6. controller
集群版zk注册
Eureka停止更新了你怎么办?
SpringCloud整合Zookeeper代替Eureka?
官网
现有的关于eureka2.0的开源工作已经停止。作为2.x分支上现有工作存储库的一部分发布的代码库和工件被视为使用风险自负。
Eureka 1.x是Netflix服务发现体系的核心部分,现在还是一个活泼的项目
Zookeeper安装
1. 安装 JDK
2. 拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 体系下
3. 解压到文件 tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz
4. 移动到module目次
mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7 /opt/module
5. 配置修改
/opt/module/zookeeper-3.5.7/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg;
实行mv zoo_sample.cfg zoo.cfg
6. mkdir zkData
7. 打开 zoo.cfg 文件,修改 dataDir 路径
vim zoo.cfg #修改如下内容
dataDir=/opt/module/zookeeper-3.5.7/zkData
8. 启动 Zookeeper
在/root/opt/module/apache-zookeeper-3.5.7-bin/bin 目次下实行
./zkServer.sh start 启动
jps -l 查看历程是否启动
./zkServer.sh status 查看状态
./zkCli.sh 启动客户端
quit 退出客户端
zkServer.sh stop 停止 Zookeeper
创建新支付模块项目
1. 启动zk
在Linux体系上,没有图形化界面,如下启动乐成
systemctl stop firewalld 关闭防火墙
systemctl status firewalld 查看防火墙状态
2. 创建新的支付模块
1. 创建模块spring_cloud_payment_8004
2. pom依靠
新增zookeeper pom
- <!-- SpringBoot整合zookeeper客户端 -->
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- kartifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
- </dependency>
复制代码 保持其他支付模块同等
3. 配置文件
- #8004表示注册到zookeeper服务器的支付服务提供者端口号
- server:
- port: 8004
- #服务别名---- 注册zookeeper到注册中心名称
- spring:
- application:
- name: cloud-provider-payment
- datasource:
- type: com.alibaba.druid.pool.DruidDataSource
- cloud:
- zookeeper:
- connect-string: 47.105.184.98:2181
复制代码 4. 主启动类
- @SpringBootApplication
- @EnableDiscoveryClient
- public class PaymentMain8004 {
- public static void main(String[] args) {
- SpringApplication.run(PaymentMain8004.class,args);
- }
- }
复制代码 5. controller层代码
- @RestController
- @Slf4j
- public class PaymentController {
- @Value("${server.port}")
- private String serverPort;
- @GetMapping("/payment/zk")
- public String getZk(){
- return "springcloud with zookeeper: port: "+serverPort+", "+ UUID.randomUUID().toString();
- }
- }
复制代码 6. zookeeper服务器启动后,连接客服端
电脑强制防火墙关闭,掉不通阿里云服务器 ,建议长途与本地防火墙关闭在进行尝试
创建新的order模块
1. 创建项目
名字: spring_cloud_order_zk_80
2. pom
与其他订单模块同等
3. 配置文件
- server:
- port: 80
- spring:
- application:
- name: cloud-order-service
- cloud:
- #注册到zookeeper地址
- zookeeper:
- connect-string: 47.105.184.98:2181
复制代码 4. 主启动类
- @SpringBootApplication
- @EnableDiscoveryClient
- public class OrderZk80 {
- public static void main(String[] args) {
- SpringApplication.run(OrderZk80.class,args);
- }
- }
复制代码 5. RestTemplate
- @Configuration
- public class RestTemplateConfig {
- @Bean
- @LoadBalanced
- public RestTemplate restTemplate() {
- return new RestTemplate();
- }
- }
复制代码 6. controller
- @RestController
- @Slf4j
- public class Orderzk80Controller {
- public static final String INVOKE_URL = "http://cloud-provider-payment";
- @Resource
- RestTemplate restTemplate;
- @GetMapping("/payment/zk")
- public String getPaymentbyid() {
- log.warn("orderzk80");
- return restTemplate.getForObject(INVOKE_URL + "/payment/zk", String.class);
- }
- }
复制代码 集群版zk注册
只需要修改配置文件
- server:
- port: 80
- spring:
- application:
- name: cloud-order-service
- cloud:
- #注册到zookeeper地址
- zookeeper:
- connect-string: 47.105.184.98:2181
复制代码 这个connect-string指定多个zk地点即可
connect-string: 1.2.3.4,2.3.4.5
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |