NACOS安装并作为注册中心及配置中心

下载

从github上下载最新稳定版本编译后压缩包
下载地址:
https://github.com/alibaba/nacos/releases

启动

进入解压后的文件夹的bin目录下
输入启动命令:./startup.sh -m standalone
[


看到这个进程就说明启动好了

后台管理界面

现在在浏览器访问:
http://localhost:8848/nacos
在这里插入图片描述
默认用户名跟密码都是nacos
此时你就可以管理配置文件及查看注册的服务了

spring cloud结合nacos

配置管理

在pom中添加配置管理的依赖
由于我用的springboot2.x,所以引的包长这样,老版本的请移步官网求解

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

创建bootstrap.yml文件,并添加nacos的服务地址及应用名

spring:
  application:
      name: capture-bdc
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848

此时可以在nacos中创建一个配置文件,配置文件的dataId的格式如下:

${prefix}-${spring.profile.active}.${file-extension}
1.prefix默认是bootstrap.yml中配置的应用名,当然也可以通过pring.cloud.nacos.config.prefix配置
2.spring.profile.active是当前环境对应的profile,可以通过spring.profiles.active指定
3.file-extension是配置文件数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置,目前只支持properties跟yml

通过spring的@Value注解就可以获取配置文件中的配置

Value("${useLocalCache:false}")

通过spring的@RefreshScope注解就可以实现配置自动更新

注册中心

在pom中添加服务发现的依赖

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

在bootstrap.yml文件中添加nacos服务注册中心地址

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

通过 Spring Cloud 原生注解 @EnableDiscoveryClient 开启服务注册发现功能

@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication(exclude = {PageHelperAutoConfiguration.class,RestClientAutoConfiguration.class})
public class CaptureBdcApplication {

  public static void main(String[] args) {
    SpringApplication.run(CaptureBdcApplication.class,args);
  }

}

此时启动应用,就可在nacos的服务管理列表中看到服务了

在这里插入图片描述此时就可以在服务调用方用@EnableFeignClients开启扫描@FeignClient注解功能并调用注册的服务了

@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication(exclude = PageHelperAutoConfiguration.class)
public class CaptureOscApplication {

  public static void main(String[] args) {
    SpringApplication.run(CaptureOscApplication.class,args);
  }

}

服务暴露的接口

@FeignClient(value = "capture-bdc")
public interface BdcProductPublishQueryFeignApi {

  @PostMapping(value = "/api/product/getBdcProductPublishVo")
  BaseResultResponse<BdcProductPublishVo> getBdcProductPublishVo(@RequestParam("publishId") Integer publishId);

}

服务的具体实现:

@RestController
public class BdcProductPublishQueryFeignClient implements BdcProductPublishQueryFeignApi {

  @Resource
  private BdcProductPublishBaseService bdcProductPublishService;

  @Override
  @ApiOperation(httpMethod = "POST", value = "根据商品发布id获取商品发布信息")
  public BaseResultResponse<BdcProductPublishVo> getBdcProductPublishVo(Integer publishId) {
    BdcProductPublish publish = new BdcProductPublish();
    publish.setId(publishId);
    publish = bdcProductPublishService.selectByPrimaryKey(publish);
    return BaseResultResponse.success(publish!=null?Collections.singletonList(publish):Collections.EMPTY_LIST);
  }
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值