MVC上NACOS注册、配置中心服务组件开发及使用

本文介绍了如何将MVC项目改造为支持Nacos注册与配置中心。详细步骤包括:添加Spring Cloud Alibaba相关依赖,创建服务发现、获取本机IP、远程调用和负载均衡的类。同时,提供了快速使用指南,涉及pom依赖、nacos配置文件设置、servlet配置以及通过HttpUtil进行服务间调用。
摘要由CSDN通过智能技术生成

一、介绍

说到微服务,大家能想到肯定有注册中心这一项,那么传统的单体应用,也就是MVC项目需要上注册中心,以及作为提供者和消费者的话,那么就需要做一系列改造配置,接下来跟我一起进入MVC上NACOS注册、配置中心服务组件的开发吧~~

二、组件开发

2.1 添加pom依赖

新建一个工程,添加以下pom依赖:

	<dependency>
      <groupId>com.alibaba.nacos</groupId>
      <artifactId>nacos-spring-context</artifactId>
      <version>0.3.6</version>
    </dependency>

2.2 创建一个服务发现的类

@PropertySource("classpath:nacos-application.properties")指定读取的配置文件。
@EnableNacosDiscovery(globalProperties = @NacosProperties)指定注册中心地址,通过配置文件中的nacos.server-addr读取。
@EnableNacosConfig(globalProperties = @NacosProperties)指定配置中心地址,通过配置文件中的nacos.server-addr读取。
@NacosPropertySource(dataId = "common.properties", autoRefreshed = true)指定应用可以读取nacos配置中心的common.properties的配置文件。

@Configuration
@PropertySource("classpath:nacos-application.properties")
@EnableNacosDiscovery(globalProperties = @NacosProperties)
@EnableNacosConfig(globalProperties = @NacosProperties)
@NacosPropertySource(dataId = "common.properties", autoRefreshed = true)
public class NacosDiscovery {
   

    //获取配置文件里服务端口
    @Value("${server.port}")
    private int serverPort;
    //获取配置文件里服务名
    @Value("${spring.application.name}")
    private String applicationName;

    // 注入 Nacos 的 NamingService 实例
    @NacosInjected
    private NamingService namingService;

    @PostConstruct
    public void registerInstance() throws Exception {
   

        // 通过Nacos Open API 向 Nacos Server 注册一个名称为applicationName的服务
        namingService.registerInstance(applicationName, NetworkUtil.getLocalIp(), serverPort);
    }

}

2.3 创建一个获取本机ip的类

因为往nacos注册时需要将应用ip注册上去,因此需要一个这个类来获取本机ip地址

/**
* @ClassName: NetworkUtil
* @Description: 获取本机ip
* @Author daiyating
* @Date 2020/9/10 0010
* @Version 1.0
*/
public final class NetworkUtil {
   

    public static String getLocalIp() throws Exception{
   
        InetAddress inetAddress=InetAddress.getLocalHost();
        String ip=inetAddress.getHostAddress().
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值