本文共 1963 字,大约阅读时间需要 6 分钟。
开源项目分析
前端项目————前言
前端使用vue框架,需要node.js环境,安装好后,内置npm包管理工具,
- 首先使用开发工具——vscode,里面创建vue新文件夹项目,然后使用npm init -y初始化项目;目录下会生成一个package.json,代表这个项目是使用npm来管理的项目
- 第二步开始安装vue依赖: npm install vue; 即会安装vue相关依赖;
- 接着可以创建一个demo的vue页面看看,在vscode应用中,shift+! 会自动生成html基本环境,然后在script标签上引入vue库,来使用vue看看;
1.码云上的———— 人人开源项目
人人后台项目:
- 首先创建后台管理系统相关的各种表————自己本地数据库中创建数据表。
- 第二步是修改配置文件中数据源路径————改为自己创建表的数据库路径。
人人前端项目:
- 首先将项目源码移到vscode开发工具中,该项目中使用了node、vue、element-ui等前端框架,所以需要前端项目的运行环境——node.js是js的运行环境。其中的npm是其中的包管理工具,类似Java的maven工具;即js的npm工具。
- 检查安装的node版本: node -v ; 安装好node.js库后可以设置npm的淘宝镜像(百度查一下);
- 第二步: 安装好node后,在前端项目下终端窗口中使用命令:npm install;去下载前端项目中需要的所有组件;类似Maven的各个包依赖库一样。
- 第三步:最后就是运行该前端项目: npm run dev;
- 前端项目启动的用户认证默认: admin、 admin
2.分布式服务注册———— nacos
(2.1)nacos使用:前提需要安装nacos的安装包,然后bin目录下启动就启动了nacos服务端;
- 微服务项目中导入nacos依赖;
- 配置文件中设置nacos的服务器地址;还有一个就是微服务的名称;
- 主类上加上启动nacos的注解;
3.分布式服务的远程调用———— springcloud feign(openfeign)
(2.1)feign的使用:
- 第一步是引入openfeign的依赖;
- 第二步是声明一个接口,接口中的每一个方法都是调用远程服务的指定路径的请求;即该声明的接口中注解@feignclient(远程服务名称),告知cloud本接口是一个远程feign调用的客户端,接口下的抽象方法上面的rest路径对应远程微服的请求方法;
- 第三步:主类上开启feign客户端远程调用功能,@enablefeignClient(指定哪个包下的feign客户端);
小结:
只要微服务一启动,
就会自动扫描指定feign客户端所在包路径下的所有标注有@feignclient注解的接口,这个接口中通过rest路径风格已经明确了哪个微服务下的哪个请求了。 4.分布式服务配置中心———— nacos
- 第一步是导入nacos配置中心相关依赖: spring-cloud-starter-alibaba-nacos-config;
- 第二步是创建bootstrap.properties系统配置文件,里面配置配置中心的地址(spring.cloud.nacos.config.server-addr=xxx:8848)和服务名称(spring.application.name=xxxx)。
- 在配置中心中创建指定符合名称规范的配置文件;这样项目启动时候,会到配置中心中加载对应的配置文件使用的。注意:默认的配置文件名———-应用名.properties。
- 注意为了配置能实时生效;在需要实现更新的类上加上实时配置刷新的注解@refreshscope。
- 配置中心中和项目内部都有配置文件,且里面配置项相同冲突的时候,优先配置中心中的配置项的值。
4.1 核心细节
第二步创建的bootstrap.properties系统配置文件中,设置的配置中心路径和微服务名称这两个;其中微服务名称很关键,因为默认关联的配置中心中配置文件就是:服务名.properites这个文件奥!!!
实际开发中:不同微服的配置文件设置,可以通过(1)命名空间+分组来区分命名空间设置为划分的业务微服务;配置文件名为微服务名称.propertoes; 更细颗粒的通过分组来设置具体微服务下集群子项目。spring.cloud.nacos.config.server-addr=spring.application.name=spring.cloud.nacos.config.namespace= 订单或者仓储或者优惠等微服务分类名称spring.cloud.nacos.config.group= 各种生产或者开发环境等
转载地址:http://yhdxi.baihongyu.com/