K8S-微服务调用及运行过程
为什么分析微服务过程调用
在实际的项目中,微服务之间涉及到业务代码的部分,调用逻辑非常复杂。对于工程师而言,熟悉组件之间的调用关系。方便之后的业务模块开发、以及集群部署与自动化编排过程中有非常大的帮助(基础)。并且能够非常请楚哪些应用应该对外,哪些可以不用对外以及服务是怎样存活。
- 在微服务中涉及的组件有:注册中心、配置中心、服务提供者、服务消费者、路由网关
本教案涉及的服务有以下几种:
注册中心服务、配置中心服务、服务提供者、服务消费者、路由网关服务
组件服务调用基本流程:
- 客户端浏览器输入htp:/gw.abc.com/passport/v1/auth/login?token=1231
- 访问网关负载均衡(7层)Nginx,Haproxy,公有云负载),通过负载均衡分发请求到spring cloud gateway网关
- 网关在接收到来自负载均衡的请求之后,根据url地址匹配到服务名称(先询问注册中心),调用后台的restTemplate服务
- 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支持三种部署模式
- 单机模式 - 用于测试和单机试用。
- 集群模式 - 用于生产环境,确保高可用。
- 多集群模式 - 用于多数据中心场景。
单机模式下运行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
下一篇:
SpringBoot进行全局异常处理