Spring Cloud 手把手尝试之Docker上运行Nacos+Sentinel+Mysql
1. 技术栈
Spring相关技术栈做个汇总。
需求 | 推荐技术 | 其他 |
---|---|---|
服务注册与发现 | Alibaba Nacos | Eureka,Zookeeper,Consul |
服务调用 | OpenFeign(Feign) | LoadBalancer, |
负载均衡 | Ribbon | LoadBalance |
服务降级 | Alibaba Sentinel | Hystrix,Resilience4j(国外用的较多) |
服务网关 | Gateway | Zuul,Zuul2 |
服务配置 | Alibaba Nacos | Config |
服务总线 | Alibaba Nacos | Bus |
分布式事务 | Alibaba Senta | |
消息驱动 | Stream | |
分布式请求链路跟踪 | Sleuth | |
消息 | ActiveMQ | RabbitMQ,Kafka |
2. 业务描述
本Demo模拟简单业务场景:用户下单。主要基于三个微服务:用户服务AccountService
,订单服务OrderService
,产品服务ProductService
。
3. 环境准备
#小技巧:在使用docker配置环境的时候,经常会遇到下载镜像很慢的问题,可以通过配置阿里云的镜像加速器来加速下载,原理就是由阿里云机器先下载好,我们再到阿里云的服务器上下载。
#首先注册阿里云账号,再访问:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
#操作方法以CentOS为例:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://这里是自动生成的一个ID.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 重启docker后下载常见的镜像速度很快了。
Nacos
-
使用Nacos安装包启动Nacos。(略)
-
使用Docker启动Nacos。
-
下载Nacos-server镜像。
docker pull nacos/nacos-server:latest
-
注意:通过docker pull
命令下载的时候要注意,需要加上Nacos的全路径,否则下载不成功,如图:
-
启动Nacos(单机版)。
## --rm 是为了在结束容器的时候方便删除;(Automatically remove the container when it exits)