干打雷不下雨网

springcloud05——Zookeeper实现支付微服务

springcloud05——Zookeeper实现支付微服务

在这里插入图片描述

前 言
🍉 作者简介:半旧518,实现长跑型选手,支付立志坚持写10年博客,微服务专注于java后端
☕专栏简介:深入、实现全面、支付系统的微服务介绍springcloud与springcloud Alibaba微服务常用技术栈
🌰 文章简介:本文将使用zookeeper作为集群注册组件,建议收藏备用,实现创作不易,支付敬请三连哦
🥒文章推荐:
zookeeper入门到精通01——zookeeper入门
zookeeper入门到精通02——zookeeper的微服务本地安装操作
zookeeper入门到精通03——zookeeper集群搭建
zookeeper入门到精通04——zookeeper集群选举与集群操作
Zookeeper入门到精通05——Zookeeper客户端命令行操作
zookeeper入门到精通06——zookeeper客户端API创建节点
zookeeper入门到精通07——zookeeper客户端API节点操作与原理

微服务架构与springcloud 01——微服务入门
微服务架构与springcloud02——父工程构建及支付模块实现
微服务架构与springcloud03——项目热部署与消费者订单模块
微服务架构与springcloud04——Eureka服务注册与发现
大厂面试真题|面经

文章目录

  • 一、准备工作
    • 1.1 技术架构
    • 1.2 集群启动
    • 1.3 网络检测
  • 二、实现支付服务进zookeeper
    • 2.1 新建项目
    • 2.2 pom文件
    • 2.3 yml文件
    • 2.4 主启动类
    • 2.5 controller
    • 2.6 测试

一、支付准备工作

1.1 技术架构

使用Zookeeper服务注册与发现与使用Eureka基本上是微服务一致的,其技术架构如图
在这里插入图片描述

1.2 集群启动

笔者为了贴近实际生产,实现使用了zookeeper集群。支付如果您还没有zookeeper集群,微服务推荐参考下面两个博客进行安装与搭建。当然,您要是只使用一台zookeeper服务器也是可以的,后面我就不再赘述了。

zookeeper入门到精通02——zookeeper的本地安装操作
zookeeper入门到精通03——zookeeper集群搭建

关闭防火墙。

systemctl stop firewalldsystemctl status firewalld

依次开启zookeeper集群的服务器。

zkServer.sh start

如果您参考了我的博客编写了一键启动的脚本,也可以这样。

zk.sh start

依次查看状态,确定是否启动成功。

zkServer.sh status

或者使用j脚本一键查看。

zk.sh status

在这里插入图片描述

1.3 网络检测

查看网络通信是否正常。先在虚拟机服务器上使用如下命令查看ip。

ifconfig

在这里插入图片描述

然后在客户端主机ping一下zookeeper集群的各台主机,确保网络畅通。
在这里插入图片描述

二、支付服务进zookeeper

2.1 新建项目

为了区分,中间空个8003。新建工程cloud-provider-payment8004。
在这里插入图片描述

2.2 pom文件

pom文件。其实就是替换下eureka就行,其它的与8001微服务是一致的。注意和数据库有关的依赖不要引入,因为我们接下来不使用数据库,也不会进行数据库的配置,如果引入就会出错哟。

org.springframework.bootspring-boot-starter-web    org.projectlomboklombok        trueorg.springframework.bootspring-boot-starter-test        testcom.wangzhou.springcloudcloud-api-commons        ${ project.version}org.springframework.cloudspring-cloud-starter-zookeeper-discovery        org.apache.zookeeperzookeeper            org.apache.zookeeperzookeeper        3.4.10org.slf4jslf4j-log4j12            

服务器下载的zookeeper的jar包版本要与自己下载的zookeeper软件版本一致哦,如下图可以查看到服务器使用的zookeeper版本,不一致就可以排除掉原来的,再替换添加对应版本(上面就做了这件事)。
在这里插入图片描述

2.3 yml文件

application.yml文件也搞好。很简单,写端口号,以及zookeeper的ip,记住这样的核心理念。

#端口号server:  port: 8004spring:  application:    #服务别名——注册到zookeeper注册中心的名称    name: cloud-provider-payment  cloud:    zookeeper:      connect-string: 192.168.106.43:2182,192.168.106.44:2182,192.168.106.45:2182 #linux的ip加暴露的端口号

2.4 主启动类

@EnableDiscoveryClient@SpringBootApplicationpublic class PaymentMain8004 {     public static void main(String[] args) {         SpringApplication.run(PaymentMain8004.class, args);    }}

2.5 controller

我们前面已经按照mvc的框架写过很多次了,这里主要介绍spring boot对zookeeper的集成。因此我们就直接在controller中对业务进行处理了。

@RestController@Slf4jpublic class PaymentController {     @Value("${ server.port}")    private String serverPort;    @RequestMapping("/payment/zk")    public String paymentzk() {         return "springcloud with zookeeper:" + serverPort + "\t" + UUID.randomUUID().toString();    }}

2.6 测试

启动zookeeper客户端(笔者修改过端口号,修改为2182,如未修改可以不指定ip与端口号,直接使用./zkCli.sh)

./zkCli.sh -server ip:port

在这里插入图片描述
查看节点信息

[zk: localhost:2182(CONNECTED) 0] ls /[sanguo1, sanguo2, zookeeper]

启动8004模块。在这里插入图片描述
访问下:http://localhost:8004/payment/zk
在这里插入图片描述
zookeeper就正式整合到支付微服务咯。在zookeeper客户端使用命令查看下,可以看到注册的详细信息哟。
在这里插入图片描述
这篇文章就介绍到这里咯,如果小伙伴在准备秋招,可以多背背面试题,刷刷算法,推荐:大厂面试真题|面经,真的超级全哦

未经允许不得转载:干打雷不下雨网 » springcloud05——Zookeeper实现支付微服务