微服务使用记录

一、SpringCloud脚手架

选择的是github中的高star项目,github项目链接

二、环境安装

1.Nacos安装

从官网直接下载安装Nacos官网

startup.cmd -m standalone 单机模式运行(非集群)
可能出现的问题:将startup.cmd中的set MODE="cluster"更改为set MODE=“standalone”

默认账号密码:nacos

2.rabbitmq安装

安装时需要同时安装erlang和rabbitmq
参考文章:https://blog.csdn.net/zxl646801924/article/details/80435231

运行rabbitmq service -start
默认账号密码:guest

3.zipkin+Elasticsearch安装

参考文章:https://blog.csdn.net/qq_38423256/article/details/116788990

zipkin通过java -jar运行
Elasticsearch运行bin\elasticsearch.bat

4.kibana安装

下载安装直接运行bin\kibana.bat

5.grafana安装

账号密码:admin 123456

6.sentinel安装

账号密码:sentinel sentinel

运行java -jar sentinel-dashboard-1.8.3.jar --server.port=8858

三、框架修改时部分问题汇总

1.多模块下Feign的使用@Autowired注入问题

在消费端的启动器增加@EnableFeignClients(“org.springblade.auth.feign”)注解。否则会在注入时标红报错

2.循环依赖

springboot2.6+版本之后,需要在配置文件中加入

spring. main.allow-circular-references = true

否则的话即使使用了@Autowired,编译时依旧会提醒你循环依赖
或者可以再加上@lazy注解

3.引入zipkin之后报错

Spring Cloud 将http://localhost:9411/ ,识别成了一个服务名。
解决方案:

spring:
  zipkin:
    discoveryClientEnabled: false

博客:引入zipkin后报错

4.在一个公共包中引入了mongodb的依赖,导致每个依赖该包的服务启动时都会去连接mongodb数据库

在启动时加上注解,强制不连接

@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})

5.配置文件问题

springblade在BladeApplication项目启动器里使用 StandardEnvironment.getActiveProfiles 读取了applcation.properties 的内容,与"dev、prod、test"的list取交集,取不到就用dev,取到一个的话,使用取到的环境,取到多个报错

6.关于nacos的配置管理文件

(1)引入依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>0.9.0.RELEASE</version>
</dependency>

注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。

(2)spring cloud对应配置

在 Nacos Spring Cloud 中,dataId 默认为 spring.application.name 加上 properties 文件后缀

这里使用 bootstrap.properties 作为配置 Nacos 地方,是因为 Spring Boot 配置文件的加载顺序,依次为 bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml ,在 application 层级上配置 Nacos 时无法生效。

通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新

(3)多数据源(仅针对springCloud)

Nacos Config 主要通过 dataId 和 group 来唯一确定一条配置
dataId 的完整格式如下:

 ${prefix}-${spring.profile.active}.${file-extension}

prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。

spring.profile.active 即为当前环境对应的 profile

当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 {prefix}.{file-extension}
file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型
group 默认为 DEFAULT_GROUP,可以通过 spring.cloud.nacos.config.group 自定义指定名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值