一、前言
之前我们学习的项目一是单体项目,可以满足小型项目或传统项目的开发。而在互联网时代,越来越多的一线互联网公司都在使用微服务技术。
从谷歌搜索指数来看,国内从自2016年底开始,微服务热度突然暴涨,下图是2016/12/01-2025/03/01的微服务热度:
那么:
-
到底什么是微服务?
-
企业该不该引入微服务?
-
微服务技术该如何在企业落地?
接下来几天,我们就一起来揭开它的神秘面纱。
我们会基于这个"黑马商城"这个单体项目来演示从单体架构到微服务架构的演变过程、分析其中存在的问题,以及微服务技术是如何解决这些问题的。
你会发现每一个微服务技术都是在解决服务化过程中产生的问题,你对于每一个微服务技术具体的应用场景和使用方式都会有更深层次的理解。
我们要完成下面的内容:
-
知道单体架构的特点
-
知道微服务架构的特点
-
学会拆分微服务
-
会使用Nacos实现服务治理
-
会使用OpenFeign实现远程调用
二、项目导入
我们需要先导入这个单体项目。不过需要注意的是,本篇及后续的微服务学习都是基于Centos7系统下的Docker部署,因此你必须做好一些准备:
-
Centos7的环境及一个好用的SSH客户端
-
安装好Docker
-
会使用Docker
如果你没有这样的Linux环境,或者不是Centos7的话,那么这里有一篇参考文档:
建议按照上面的文档来搭建虚拟机环境,使用其它版本会出现一些环境问题,比较痛苦。
如果已经有Linux环境,但是没有安装Docker的话,那么这里还有一篇参考文档:
安装mysql
我们需要在centOS的docker里安装mysql,映射配置文件和初始化sql脚本,并且启动mysql容器
后端项目导入
导入后端项目,配置yml文件里的数据库信息,本地使用local,docker使用dev.
前端项目导入
nginx程序以及我们的前端代码,直接在windows下将其复制到一个非中文、不包含特殊字符的目录下。然后进入hmall-nginx后,利用cmd启动即可:
# 启动nginx
start nginx.exe
# 停止
nginx.exe -s stop
# 重新加载配置
nginx.exe -s reload
# 重启
nginx.exe -s restart
启动成功后,访问http://localhost:18080,应该能看到门户页面:
未完待续...