微服务相关的技术讲解

一.SpringBoot

概念

基于Spring框架的一站式解决方案

之前:项目开发需要利用Spring做各种框架的整合,如Spring-Mybatis,Spring-redis,
Spring-nvc…

结论:会产生大量的配置文件/整合文件
之后:官方宣称0配置,确实可以做到0配置,具备对应框架的功能
但是,如果不做任何配置,有些框架的部分功能是用不了的;SpringMVC中的静态资源映射
绝大多数情况下,配置一个配置文件即可,application.yml

1.配置文件

application.yml 配置启动器相关内容
bootstrap.yml 通常是配置不变的东西,如配置中心

2.启动器starter

Spring-Boot-starter-web
Spring-Boot-starter-jdbc
Spring-Boot-starter-xxx

作用:是将框架的功能封装调用,将启动器导入到SpringBoot工程中,SpringBoot工程就 具备了该功能;

如何自定义starter:
1.将具备一定功能的SpringBoot项目打成jar包,这里简称为SpringBoot项目A
2.在SpringBoot项目B 要使用 该功能,只需要导入 项目A 对应的启动器
3.项目A默认功能不足以使用,此时项目B就可以通过application.yml+配置类进行配置

3.SpringBoot注解

@configuration 标记类,那么代表是一个配置类
@bean 标记方法,代表Spring管理的javabean
@autoconfigration 自动装配

二.SpringCloud

概念

基于javaee的应用集成方案

1. 五大组件

(1)注册中心:nacos 服务注册与发现
(2)微服务调用:Feign / openFeign 服务之间相互调用
(3)熔断限流:
Hystrix:熔断降级
Sentinel
(4)负载均衡:Ribbon:负载均衡的 (5)网关:getway
将外部请求转发给nacos上注册的服务
作用:保护内部微服务之间的调用关系
一般这里是用来做用户请求身份验证

2.服务雪崩

又一个微服务宕机引起整个微服务架构瘫痪

三.Git

概念

版本控制器

1.与svn对比

①分布式
②去中心
③分支

2.Git的命令

git add. 将添加/修改的文件加入暂存区
git commit 项本地仓库提交代码
git push 向远程仓库gitee推送代码
git clone 从远程仓库下载代码到本地
git pull 从远程仓库跟新代码
git branch

3.git冲突解决

先跟新再合并,最后做提交操作;

四.Linux

概念

操作系统、服务器

1. 如何部署项目

1.开发人员有一个完整的项目,被打成了jar包或者war包
常识:window部署,就是将war包丢到tomcat>webapps下会自动解压,项目会跑起来
2.在Linux服务器中配置jdk、tomcat
①上传jdk、tomcat的压缩包,要借助MobaXterm.exe、FinalShell工具上传
② 配置JDK环境变量
1)vi /etc/profile
export JAVA_HOME=/javaxl/jdk1.8.0_151(jdk解压路径)
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
3.解压tomcat压缩包
tar -zxvf apache-tomcat-8.0.53.tar.gz
4.利用MobaXterm.exe上传项目war包,然后进入tomcat的bin目录,执行./start.sh命令

2.升级项目

1.停掉tomcat服务:./shutdown
2.进入到tomcat>webapps备份,执行命令tar -zcvf ssm ssm20220610.zip
3.将升级的项目war包解压出来,此时解压出来的项目,就会覆盖原有的项目文件ssmtar -zxvf ssm.zip
4.重启:bin ./start.sh

3.常用的命令

cd:切换目录
ll/ls:查看当前目录下的所有文件及文件夹
mkdir:创建文件夹
rm -rf:删除文件 切记:rm -rf /*不要做
rm -rf demo
vi:查看并编辑文件 :wq 退出并保存文件
ping:判断是否有网,或者与其他服务器是否可以链接
ifconfig:查看当前IP
pwd:查看当前所在目录
tar -zxvf:解压
tar -zcvf:压缩
cat : 查看命令

五.Docker

概念

容器技术,新一代的虚拟化技术
镜像:类:由于大量的容器是相同的,那么才会构建镜像
容器:实例对象,会通过docker容器技术,创建大量的容器
数据卷:解决多个容器中数据共享的问题

1.常用命令:

镜像:docker pull 镜像名,docker rmi 镜像名,
docker images:查询本地镜像
docker search:查询中央仓库镜像
容器:docker ps,
docker run 镜像名,
docker rm 容器名
docker inspect 容器名:查看容器的详细信息
docker exec :进入容器
数据卷:docker run -v 容器ID:/目录 宿主机:目录
docker pull mysql:5.7
docker run -p 3307:3306 --name mysql1 -di
-v /home/javaxl/data/mysql/mysql.conf.d/:/etc/mysql/mysql.conf.d/
-v /home/javaxl/data/mysql/data/:/var/lib/mysql
-v /home/javaxl/data/mysql/log/:/var/log
-e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
Dockerfile:制作镜像
FROM:基础镜像
ADD:将文件复制到容器中并解压
COPY:将文件复制到容器中

构建镜像的命令:docker build .
上传阿里云、镜像云

docker 中网络
仅主机:容器IP及端口用的是宿主机的
docker run -di --name mt2 --net=host javaxl/tomcat8:v1.0
桥接:容器随机分配ip,端口独立于宿主机的
docker run -di --name mt1 -p:8081:8080 javaxl/tomcat8:v1.0

六.RabbitMQ

概念

消息中间件;作用提升应用程序的性能;流量削峰

生产者:消息发送方
消费者:消息消费方
Broker:RabbitMQ消息中间件服务器
消息的100%投递:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值