在这里插入图片描述

为什么分析微服务过程调用

在实际的项目中,微服务之间涉及到业务代码的部分,调用逻辑非常复杂。对于工程师而言,熟悉组件之间的调用关系。方便之后的业务模块开发、以及集群部署与自动化编排过程中有非常大的帮助(基础)。并且能够非常请楚哪些应用应该对外,哪些可以不用对外以及服务是怎样存活。

  1. 在微服务中涉及的组件有:注册中心、配置中心、服务提供者、服务消费者、路由网关

本教案涉及的服务有以下几种:

注册中心服务、配置中心服务、服务提供者、服务消费者、路由网关服务

组件服务调用基本流程:

  1. 客户端浏览器输入htp:/gw.abc.com/passport/v1/auth/login?token=1231
  2. 访问网关负载均衡(7层)Nginx,Haproxy,公有云负载),通过负载均衡分发请求到spring cloud gateway网关
  3. 网关在接收到来自负载均衡的请求之后,根据url地址匹配到服务名称(先询问注册中心),调用后台的restTemplate服务
  4. restTemplate在接收到来自网关的请求以后,通过注册中心查询到服务列表,将请求服务列表中的服务,最后返回结果
    在这里插入图片描述

组件内部接口调用流程

在这里插入图片描述

微服务实战

运行微服务(192.168.26.90)

安装JDK

[root@localhost ~]# rpm -ivh jdk-8u333-linux-x64.rpm 
警告:jdk-8u333-linux-x64.rpm:V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:jdk1.8-2000:1.8.0_333-fcs        ################################# [100%]

[root@localhost ~]# vim /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_333-amd64
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH JAVA_HOME CLASSPATH CATALINA_HOME
[root@localhost ~]# source /etc/profile

安装Nacos(单机)

官方网站 https://nacos.io/zh-cn/docs/deployment.html
Nacos支持三种部署模式

  1. 单机模式 - 用于测试和单机试用。
  2. 集群模式 - 用于生产环境,确保高可用。
  3. 多集群模式 - 用于多数据中心场景。

单机模式下运行Nacos

Linux/Unix/Mac
Standalone means it is non-cluster Mode. * sh startup.sh -m standalone

[root@localhost ~]# unzip nacos-server-1.1.4.zip
[root@localhost ~]# cd nacos-server-1.1.4/nacos/bin
[root@localhost bin]# chmod +x *.sh
[root@localhost bin]# sh startup.sh -m standalone

         ,--.
       ,--.'|
   ,--,:  : |                                           Nacos 1.1.4
,`--.'`|  ' :                       ,---.               Running in stand alone mode, All function modules
|   :  :  | |                      '   ,'\   .--.--.    Port: 8848
:   |   \ | :  ,--.--.     ,---.  /   /   | /  /    '   Pid: 13150
|   : '  '; | /       \   /     \.   ; ,. :|  :  /`./   Console: http://192.168.26.90:8848/nacos/index.html
'   ' ;.    ;.--.  .-. | /    / ''   | |: :|  :  ;_
|   | | \   | \__\/: . ..    ' / '   | .; : \  \    `.      https://nacos.io
'   : |  ; .' ," .--.; |'   ; :__|   :    |  `----.   \
|   | '`--'  /  /  ,.  |'   | '.'|\   \  /  /  /`--'  /
'   : |     ;  :   .'   \   :    : `----'  '--'.     /
;   |.'     |  ,     .-./\   \  /            `--'---'
'---'        `--`---'     `----'

[root@localhost bin]# ss -lntup |grep 8848
tcp    LISTEN     0      100      :::8848                 :::*                   users:(("java",pid=13150,fd=118))

登入界面 http://192.168.26.90:8848/nacos/ (初始账户密码nacos)

在这里插入图片描述

安装redis

[root@localhost bin]# yum  install redis -y
[root@localhost bin]# vim  /etc/redis.conf 
requirepass 123456
bind 0.0.0.0
[root@localhost bin]# chkconfig redis  on
[root@localhost bin]# systemctl start redis
[root@localhost bin]# ps -ef |grep redis
redis     14379      1  0 16:07 ?        00:00:00 /usr/bin/redis-server 0.0.0.0:6379
root      14383  11883  0 16:07 pts/1    00:00:00 grep --color=auto redis

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐