栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Cloud 微服务分布式架构 Nacos 作为注册中心实现服务的注册及发现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Cloud 微服务分布式架构 Nacos 作为注册中心实现服务的注册及发现

Spring Cloud 微服务分布式架构 Nacos 作为注册中心实现服务的注册及发现

文章目录

Spring Cloud 微服务分布式架构 Nacos 作为注册中心实现服务的注册及发现前言一、什么是Nacos?二、 Nacos架构部分会详细介绍。

1.架构图2.Nacos 生态图 二、SpringCloud 整合 Nacos架构实现服务注册

1.创建Nacos配置服务2.创建provide:服务提供者3.创建consumer:服务消费者4.测试启动项目

1、启动成功后,在日志中应该可以看到如下两条信息2、登录Nacos控制台查看服务3、发送请求调用服务提供者 总结


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是Nacos?

欢迎来到 Nacos 的世界!
1、Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
2、Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
3、如 Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如
3.1、Spring Cloud
3.2、Apache Dubbo and Dubbo Mesh
3.3、Kubernetes and CNCF。
nacos-provide:服务提供者
nacos-consumer:服务消费者

二、 Nacos架构部分会详细介绍。

Nacos官方网站 : https://nacos.io/zh-cn/docs/what-is-nacos.html

1.架构图


特性大图:要从功能特性,非功能特性,全面介绍我们要解的问题域的特性诉求
架构大图:通过清晰架构,让您快速进入 Nacos 世界
业务大图:利用当前特性可以支持的业务场景,及其最佳实践
生态大图:系统梳理 Nacos 和主流技术生态的关系
优势大图:展示 Nacos 核心竞争力
战略大图:要从战略到战术层面讲 Nacos 的宏观优势

2.Nacos 生态图


如 Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如
Spring Cloud
Apache Dubbo and Dubbo Mesh
Kubernetes and CNCF。
使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。

关于如何在这些生态中使用 Nacos,请参考以下文档:(重点哦,拿小本本记住)

Nacos与Spring Cloud一起使用
Nacos与Kubernetes一起使用
Nacos与Dubbo一起使用
Nacos与gRPC一起使用
Nacos与Istio一起使用
(以上信息均来自官网文档)
下载地址: https://github.com/alibaba/nacos/releases

下载解压后进入bin文件夹(目录:nacosbin),直接双击执行startup.cmd文件,启动成功如下图:

二、SpringCloud 整合 Nacos架构实现服务注册 1.创建Nacos配置服务

IDEA中创建聚合工程Nacos作为父工程,其pom.xml如下(重点关注dependencyManagement配置):

2.创建provide:服务提供者

1、创建启动类ProvideController,服务的请求入口 ,并添加注解@EnableDiscoveryClient 开启服务注册发现功能:

@RestController
@EnableDiscoveryClient
@SpringBootApplication
public class ProvideController {

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

    @GetMapping("/helloNacos")
    public String helloNacos(){
        return "这是服务提供方,nacos!,小新新最帅";
    }
}

2、资源文件信息Resource中application.yml文件配置

server:
  port: 9527

spring:
  application:
    name: provide

  cloud:
    nacos:
      discovery:
        server-addr: 10.16.10.166

3、pom.xml配置文件信息



    4.0.0
    
        Nacos
        com.zhx.zhxyyds
        0.0.1-SNAPSHOT
    

    com.zhx.zhxyyds
    provide
    0.0.1-SNAPSHOT
    provide
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
        
            org.springframework.boot
            spring-boot-autoconfigure
            2.3.0.RELEASE
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


3.创建consumer:服务消费者

1、在Nacos工程下创建一个SpringBoot项目子工程命名为consumer。创建启动类ConsumerController.java 并添加注解@EnableDiscoveryClient 开启服务注册发现功能

@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class ConsumerController {

    public static void main(String[] args) {
        SpringApplication.run(ConsumerController.class, args);
    }
    
    @Autowired
    private RestTemplate restTemplate;

    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }

    @GetMapping("/consumer")
    public String test1() {
        return restTemplate.getForObject("http://provide/helloNacos",String.class);
    }
}

2、资源文件信息Resource中application.yml文件配置

server:
  port: 8089

spring:
  application:
    name: consumer

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

3、pom.xml配置文件信息



    4.0.0
    
        Nacos
        com.zhx.zhxyyds
        0.0.1-SNAPSHOT
    

    com.zhx.zhxyyds
    consumer
    0.0.1-SNAPSHOT
    consumer
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
        
            org.springframework.boot
            spring-boot-autoconfigure
            2.3.0.RELEASE
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


4.测试启动项目 1、启动成功后,在日志中应该可以看到如下两条信息

2、登录Nacos控制台查看服务


2.1、启动命令Win版本

startup.cmd -m standalone

启动成功页面

2.2 输入Nacos网址 http://127.0.0.1:8848/nacos
用户:nacos
密码:nacos
进入首页。

在服务列表中,已经显示了我们刚才创建的两个项目,并可以对其进行简单的监控和管理。

3、发送请求调用服务提供者

浏览器中访问服务消费者的接口 http://127.0.0.1:8089/consumer, 可以看到成功返回结果

这是服务提供方,nacos!,小新新最帅
总结

从以上将Nacos整合到Spring Cloud微服务项目当中,其实跟之前我写的文章有差异,差异就是我之前文章微服务注册用的是Eureka作为注册中心。zookeeper也是一样,其实在项目当中如果想要替换,其实直接替换当前的注册中心服务即可,可以无缝整合到SpringCloud的微服务框架当中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781689.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号