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

springboot整合SpringCloud Nacos实现配置管理和服务发现

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

springboot整合SpringCloud Nacos实现配置管理和服务发现

微服务注册中心现在常用的主流有三个

Nacos,Eureka与ZooKeeper

Nacos是阿里开源的,Nacos 支持基于 DNS 和基于 RPC 的服务发现。在Spring Cloud中使用Nacos,只需要先下载 Nacos 并启动 Nacos server,Nacos只需要简单的配置就可以完成服务的注册发现。

Nacos除了服务的注册发现之外,还支持动态配置服务。动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。

Nacos = Spring Cloud注册中心 + Spring Cloud配置中心

进入正题,nacos下载 https://github.com/alibaba/nacos/releases?page=1

我这边是简单测试下下载的window下运行的

解压到自己的电脑目录下

点击startup.cmd直接启动,下载后直接启动会报错,因为默认模式是集群方式。在启动文件中做修改

startup.cmd中找到  set MODE="cluster"  修改为 set MODE="standalone"

然后启动

 

 打开浏览器输入http://本机IP:8848/nacos/index.html#/login

默认登录账号  nacos  nacos

 

到这里单机版的nacos注册中心就起来了

下面开始简单的搭建微服务

先创建个user服务如下

启动类

package com.user.wbuser;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableDiscoveryClient
public class WbUserApplication {

    @Bean
    @LoadBalanced//负载均衡+动态路路由
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

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

}

 yaml文件配置

server:
  port: 8000
spring:
  cloud:
    nacos:
      discovery:
        service: user-server
      server-addr: localhost:8848

添加 web 依赖和 Spring-boot-admin-starter-server 依赖。


        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
         
    

    com.user
    wb-user
    0.0.1-SNAPSHOT
    wb-user

    
        1.8
        2.1.1.RELEASE
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
            2.1.1.RELEASE
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

运行

WbUserApplication.main

启动以后再nacos里面就可以看到注册的服务了,然后切到nacos管理后台

 继续创建第二个服务

创建过程maven引用同上wb-user

创建好order启动order

 简单的实现order服务调用user服务

 

 到这里简单的springboot  nacos搭建就完成了,要想实现负载均衡+动态路由,

我这里拿user服务做演示多启动几个更改下端口号如下

 这个时候在去nacos管理控制台查询user服务的详情会多出来一个节点

再去试试order请求到user 负载均衡的一个效果

 连续请求了3次 观察命中率

 在nacos控制台下线掉8000 然后再请求看下效果

 三次都是命中到8006上来了

 将下线的项目服务重新上线
负载均衡测试,应该和正常请求一样这里就不演示了。

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

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

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