使用 Nacos 搭建一个简单的微服务项目

Nacos

Nacos 是阿里巴巴推出来的一个新开源项目,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

准备Nacos

将 nacos 安装成功之后,进入nacos的bin 目录下,通过命令sh startup.sh -m standalone启动nacos,然后本地访问http://110.42.143.191:8848/nacos,初始账户密码都是:nacos。

这里的IP地址,如果nacos是安装到本地的,就是localhost,安装到服务器就是你的服务器IP地址。但服务器一定要开放8848端口,不然访问不到。

在这里插入图片描述
这样我们就成功启动nacos了!!!

搭建微服务项目

在这里插入图片描述

创建一个maven项目

创建一个maven项目,作为父项目,然后搭建父项目

pom.xml

<dependencyManagement>
    <dependencies>
        <!--Spring boot 依赖(定义了微服务规范)-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.3.2.RELEASE</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
        <!--Spring Cloud 依赖(定义了微服务规范)-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Hoxton.SR9</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
        <!--Spring Cloud Alibaba依赖(基于spring微服务规范做了具体落地实现)-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.6.RELEASE</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>

服务提供方、服务消费方

服务提供方 (Service Provider):是指提供可复用和可调用服务的应用方。
服务消费方 (Service Consumer):是指会发起对某个服务调用的应用方。

服务提供方

  • 接着创建两个模块,一个服务提供方,一个服务消费方;由于这两个模块继承了父框架pom.xml的内容,所以只需新增下面依赖即可!
<dependencies>
    <!--Web服务-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--服务的注册和发现(我们要将服务注册到nacos)-->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
</dependencies>
  • 配置application.yml文件
server:
  port: 8081   # 端口号
spring:
  application:
    name: nacos-provider   # 服务名
  cloud:
    nacos:
      discovery:
        server-addr: 110.420.143.191:8848   # nacos注册中心地址

这里只给出一个,其他只需修改端口号和服务名即可

  • 创建主启动类
@SpringBootApplication
public class NacosProviderApplication {
    
    
    public static void main(String[] args) {
    
    
        SpringApplication.run(NacosProviderApplication.class, args);
    }
}
  • 创建一个controller测试一下
    在这里插入图片描述
  • 访问http://110.420.143.191:8848/nacos,就可以看到服务列表中,我们的服务提供方已经注册上去了。
    在这里插入图片描述
  • 接着访问服务提供方端口http://localhost:8081/provider,成功!!!
    在这里插入图片描述

服务消费方

服务提供方创建完成之后,创建另一个模块:服务消费方,调用服务提供方,实现微服务之间的调用。

  • pom文件与服务提供方一致,application配置文件只需要修改端口号和服务名称即可。
  • 创建一个controller对服务提供方进行调用。
@RestController
public class CustomerController {
    
    

    @RequestMapping("getProvider")
    public String applyService() {
    
    
        String url = "http://localhost:8081/provider";
        RestTemplate restTemplate = new RestTemplate();
        return  restTemplate.getForObject(url, String.class);
    }

}

注意:这里是使用了RestTemplate对服务进行请求,并返回结果。

  • 创建主启动类并启动
  • 再次访问访问http://110.420.143.191:8848/nacos,就可以看到服务列表中,我们的两个模块都已经注册上去了。
    在这里插入图片描述
  • 然后访问服务消费方的端口,看微服务之间的调用是否成功。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_52986315/article/details/128398358
今日推荐