Easy-shop微服务项目的本地启动方式

前言

关于esay-shop项目只是一个自己用来练手的微服务项目,由于启动略显繁琐,有小伙伴问了,那我就把在本地启动这个项目的步骤写一下,希望能帮助到你。

开始实践

首先我们先把代码克隆下来。地址在这里。https://gitee.com/limeng66/easy-shop

项目克隆下来之后,就是这些了。
Easy-shop微服务项目的本地启动方式_第1张图片
然后需要把数据库还原一下,由于我这里仅提供了Mysql的脚本,所以还是推荐用Mysql吧,先在Mysql中新建一个名称为easyshop的数据库。接着打开DB文件夹,把easyshop.sql放到Mysql里执行一下,或者用Navicat来执行,操作更简单。我用的Mysql版本为8.0.22
Easy-shop微服务项目的本地启动方式_第2张图片
Easy-shop微服务项目的本地启动方式_第3张图片
执行完成之后,可以看到数据已经过来了。
Easy-shop微服务项目的本地启动方式_第4张图片
由于数据库连接信息是放到apollo中的,所以数据库连接字符串如何配置咱们稍后再说。
接下来需要准备一些环境了。

Consul的配置

首先需要下载Consul的相关文件。网址在这里。https://www.consul.io/docs,我的用版本为1.9.3.
Easy-shop微服务项目的本地启动方式_第5张图片
首先打开一个终端,进入到Consul.exe这个目录下,接着输入命令.

consul.exe agent -dev

当出现下面这个图,表示Consul已经启动了。
Easy-shop微服务项目的本地启动方式_第6张图片
接着我们打开浏览器,输入http://127.0.0.1:8500/看一下。
Easy-shop微服务项目的本地启动方式_第7张图片
可以看到Consul已经正常启动了。

Docker中启动Apollo

由于Apollo的本地部署较为麻烦,我们可以在Docker中拉取镜像,直接在Docker中一键启动。
完整的部署Apollo可以去看这篇文章,这里直接启动了,不做过多说明。
https://blog.csdn.net/u012869793/article/details/115460939。
先启动Docker,接着打开终端,输入命令启动apollo,我之前配置过,所以现在直接启动相关的三个容器即可。
Easy-shop微服务项目的本地启动方式_第8张图片
启动成功之后,打开浏览器输入http://localhost:8070/signin,可以看到Apollo已经启动了,接着用apollo/admin 登录一下。
Easy-shop微服务项目的本地启动方式_第9张图片
Easy-shop微服务项目的本地启动方式_第10张图片
这里是我之前已经配置好的数据库连接字符串,有改动的话,自行修改即可。

server=localhost;port=3306;database=easyshop;uid=root;password=1234;CharSet=utf8

Redis启动

Redis启动也不过多说明了,下载相关软件安装即可,可以参考https://blog.csdn.net/u012869793/article/details/115457277
保证服务是运行状态即可。
Easy-shop微服务项目的本地启动方式_第11张图片
查看redis的第三方工具有很多,自己挑一个即可。
Easy-shop微服务项目的本地启动方式_第12张图片

Ids4启动

用VS打开项目,然后右键重新生成解决方案,来安装一下缺少的nuget包,接着选择EasyShop.IdentityServer项目已文件夹的形式进行发布。发布之后,进入到Ids发布后的文件夹下用dotnet 命令进行启动即可。
Easy-shop微服务项目的本地启动方式_第13张图片

dotnet EasyShop.IdentityServer.dll

网关启动

网关启动方式和Ids4启动方式一样,直接发布后启动即可。
Easy-shop微服务项目的本地启动方式_第14张图片

dotnet EasyShop.ApiGateway.dll

启动相关服务实例

服务实例为了高可用,一般是做成集群,这里仅做演示,发布的时候,修改下Program.cs中的端口号,以及appsetting.json中的健康检查地址端口号。然后进行发布,启动,步骤和上面的网关是一样的。比如商品服务启动多个实例。
Easy-shop微服务项目的本地启动方式_第15张图片
Easy-shop微服务项目的本地启动方式_第16张图片
这两处需要保持一致。

商品服务

  • localhost:5070
  • localhost:5071

订单服务

  • localhost:5060
  • localhost:5061

用户服务

  • localhost:5050
  • localhost:5051

启动后效果如下。

Easy-shop微服务项目的本地启动方式_第17张图片
我们启动了Consul,Apollo,Gateway,Ids4,以及三个服务,每个服务启动两个实例。接下来我们看一下Consul页面中是否正常显示所有的服务节点。
Easy-shop微服务项目的本地启动方式_第18张图片
OrderService显示了三个实例,其实有一个是重复的,先忽略。
到目前为止,后端的配置就全部完成了,接下来需要配置vue项目了。

不想重复发布的话,可以采用命令行传参的方式,让项目启动指定的端口,这样可以发布一次,然后启动多个实例。

启动Vue

用VsCode打开项目,打开命令窗口,执行npm install安装一下依赖包,有可能会执行失败,需要多试几次,接着执行npm run dev启动项目。
Easy-shop微服务项目的本地启动方式_第19张图片
若前端项目能正常启动并且有数据,则整个项目就算跑起来了。

study hard and make progress every day

开源地址:https://gitee.com/limeng66/easy-shop

你可能感兴趣的:(微服务,.NET,微服务,网关,Apollo,部署)