微服务技术栈
- 微服务治理
- 异步通信技术
- 缓存技术
- DevOps
- 搜索技术
架构演变
技术对比
服务拆分与远程调用
1、不同的微服务,不要重复开发相同业务
2、微服务数据独立,不要访问其他微服务的数据库
3、微服务可以将自己的业务暴露为自己的借口,供其他微服务调用
- 订单业务返回订单信息带有用户信息一起返回
- 在Spring容器中注入RestTemplate对象,然后再Server层
Order order = orderMapper.findById(orderId); String url = "http://localhost:8081/user/"+order.getUserId(); User user = restTemplate.getForObject(url, User.class); order.setUser(user); return order;
Eureka
服务提供者启动时向eureka注册自己的信息,eureka保存信息,消费者通过Eureka拉取提供者信息
EureKa利用负载均衡算法,从服务列表中挑选一个
服务提供者每隔30秒向ErueKa报告健康状态,心跳不健康的会被踢出
- 引入依赖
- 编写启动类,添加@EnableEurekaServer注解
- 添加appliction.yml
server:
port: 10086
spring:
application:
name: eurekserver #eureka服务名称
eureka:
client:
service-url: #eureka的地址信息
defaultZone: http://127.0.0.1:10086/eureka
Nacos
Ribbon
OpenFeign
Gateway
Docker
docker镜像相关命令
docker pull redis:版本
docker images 查看镜像
docker save -i 文件名 redis:版本信息 保存镜像为xxx.tar
docker rmi -f redis:版本 删除镜像
docker load -i 文件名 加载文件到镜像
docker push 推送镜像
docker builder 定制镜像
docker 容器相关命令
docker run 容器启动
docker pause
docker unpause
docker stop
docker start
docker ps 查看容器状态
docker logs 查看日志
docker rm 删除容器
docker exec -it 容器名称 bash 进入容器内部
root@35efee2bdc70:/usr/share/nginx/html# sed -i ‘s#Welcome to nginx#chuanzhijiaoyu#g’ index.html 修改内容
docker 数据卷相关命令
数据卷的作用将容器与数据分离,方便操作数据容器内的数据,保证数据安全
docker volume create html 创建数据卷
docker volume ls 查看所有数据
docker volume inspect html 查看数据卷所有信息
docker volume rm 数据卷名 删除数据卷
docker volume prune 删除没有使用的数据卷
-v volumeName :/targetContainerPath 如果数据卷没有被创建会自动创建