修改配置文件application.yml,将Consul的注册发现配置改为Nacos的:
server:
port: 8206
spring:
application:
name: nacos-user-service
cloud:
nacos:
discovery:
配置Nacos地址
server-addr: http://localhost:8848
management:
endpoints:
web:
exposure:
include: ‘*’
运行两个nacos-user-service和一个nacos-ribbon-service,在Nacos页面上可以看到如下信息:
负载均衡功能
由于我们运行了两个nacos-user-service,而nacos-ribbon-service默认会去调用它的接口,我们调用nacos-ribbon-service的接口来演示下负载均衡功能。
多次调用接口:http://localhost:8308/user/1 ,可以发现两个nacos-user-service的控制台交替打印如下信息。
2019-12-30 17:06:51.645 INFO 8608 — [nio-8206-exec-1] c.j.s.controller.UserController : 根据id获取用户信息,用户名称为:jourwon
我们通过创建nacos-config-client模块,并在Nacos页面中添加配置信息来演示下配置管理的功能。
创建nacos-config-client模块
在pom.xml中添加相关依赖:
org.springframework.boot
spring-boot-starter-web
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
添加配置文件application.yml,启用的是dev环境的配置:
spring:
profiles:
active: dev
添加配置文件bootstrap.yml,主要是对Nacos的作为配置中心的功能进行配置:
server:
port: 9101
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
Nacos地址
server-addr: http://localhost:8848
config:
Nacos地址
server-addr: http://localhost:8848
这里我们获取的yaml格式的配置
file-extension: yaml
创建ConfigClientController,从Nacos配置中心中获取配置信息:
@RefreshScope
@RestController
public class ConfigClientController {
@Value(“${config.info}”)
private String configInfo;
@GetMapping(“/configInfo”)
public Object getConfigInfo() {
return configInfo;
}
}
在Nacos中添加配置
我们先来讲下Nacos中的dataid的组成格式及与SpringBoot配置文件中的属性对应关系:
s p r i n g . a p p l i c a t i o n . n a m e − {spring.application.name}- spring.application.name−{spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
比如说我们现在要获取应用名称为nacos-config-client
的应用在dev
环境下的yaml
配置,dataid如下:
nacos-config-client-dev.yaml
按照以上dataid添加如下配置:
config:
info: “config info for dev”
填写配置示意图:
启动nacos-config-client,调用接口查看配置信息:http://localhost:9101/configInfo
config info for dev
我们只要修改下Nacos中的配置信息,再次调用查看配置的接口,就会发现配置已经刷新,Nacos和Consul一样都支持动态刷新配置。当我们在Nacos页面上修改配置并发布后,应用会刷新配置并打印如下信息
2019-12-30 17:11:39.736 INFO 17640 — [-localhost_8848] o.s.c.e.event.RefreshEventListener : Refresh keys changed: [config.info]
Spring Cloud Alibaba 官方文档:https://github.com/alibaba…
springcloud-learning
├── nacos-config-client – 用于演示nacos作为配置中心的nacos客户端
├── nacos-user-service – 注册到nacos的提供User对象CRUD接口的服务
└── nacos-ribbon-service – 注册到nacos的ribbon服务调用测试服务
项目源码地址
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
总结
这份面试题几乎包含了他在一年内遇到的所有面试题以及答案,甚至包括面试中的细节对话以及语录,可谓是细节到极致,甚至简历优化和怎么投简历更容易得到面试机会也包括在内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!
某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!
成功只会留给那些有准备的人!
项目、讲解视频,并且后续会持续更新**
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-d8Vus4vL-1712108152373)]
总结
这份面试题几乎包含了他在一年内遇到的所有面试题以及答案,甚至包括面试中的细节对话以及语录,可谓是细节到极致,甚至简历优化和怎么投简历更容易得到面试机会也包括在内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!
某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!
成功只会留给那些有准备的人!
[外链图片转存中…(img-eJ5F3gsW-1712108152373)]