SpringCloud微服务技术栈实战教程
目录
来源B站:黑马程序员SpringCloud微服务技术栈实战教程,涵盖springcloud微服务架构+Nacos配置中心+分布式事务等
之前我们学习的项目一是单体项目,可以满足小型项目或传统项目的开发。而在互联网时代,越来越多的一线互联网公司都在使用微服务技术。
从谷歌搜索指数来看,国内从自2016年底开始,微服务热度突然暴涨:
那么:
- 到底什么是微服务?
- 企业该不该引入微服务?
- 微服务技术该如何在企业落地?
接下来几天,我们就一起来揭开它的神秘面纱。
计划是这样的,课前资料中给大家准备了一个单体的电商小项目:黑马商城,我们会基于这个单体项目来演示从单体架构到微服务架构的演变过程、分析其中存在的问题,以及微服务技术是如何解决这些问题的。
你会发现每一个微服务技术都是在解决服务化过程中产生的问题,你对于每一个微服务技术具体的应用场景和使用方式都会有更深层次的理解。
今天作为课程的第一天,我们要完成下面的内容:
- 知道单体架构的特点
- 知道微服务架构的特点
- 学会拆分微服务
- 会使用Nacos实现服务治理
- 会使用OpenFeign实现远程调用
0.导入黑马商城项目
在课前资料中给大家提供了黑马商城项目的资料,我们需要先导入这个单体项目。不过需要注意的是,本篇及后续的微服务学习都是基于Centos7系统下的Docker部署,因此你必须做好一些准备:
- Centos7的环境及一个好用的SSH客户端
- 安装好Docker
- 会使用Docker
如果你没有这样的Linux环境,或者不是Centos7的话,那么这里有一篇参考文档:
建议按照上面的文档来搭建虚拟机环境,使用其它版本会出现一些环境问题,比较痛苦。
如果已经有Linux环境,但是没有安装Docker的话,那么这里还有一篇参考文档:
如果不会使用Docker的话可以参考黑马的微服务前置Docker课程,B站地址如下:
📌注意:
如果是学习过上面Docker课程的同学,虚拟机中已经有了黑马商城项目及MySQL数据库了,不过为了跟其他同学保持一致,可以先将整个项目移除。使用下面的命令:
cd /root
docker compose down
0.1.安装MySQL
在课前资料提供好了MySQL的一个目录:
其中有MySQL的配置文件和初始化脚本:
我们将其复制到虚拟机的/root
目录。如果/root
下已经存在mysql
目录则删除旧的,如果不存在则直接复制本地的:
然后创建一个通用网络:
docker network create hm-net
使用下面的命令来安装MySQL:
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/conf:/etc/mysql/conf.d \
-v /root/mysql/init:/docker-entrypoint-initdb.d \
--network hm-net