nacos简易实现负载均衡
目录
- 一、什么是Nacos?
- 二、Nacos下载和安装
- 1. 使用Windows启动
- 2. 验证nacos是否成功启动
- 三、Nacos Discovery服务注册/发现
- 四、简易实现负载均衡
- 1. 注册者配置
- 2. 注册者启动类
- 3. 注册者业务层
- 4. 消费者配置
- 5. 消费者启动类
- 6. 消费者业务层
- 7. 开始调用接口
- 8. 遇到问题解决
- `java.net.UnknownHostException: nacos-provider`
一、什么是Nacos?
英文全称:Dynamic Naming and Configuration Service
是由阿里巴巴团队开发的一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台
Nacos 提供了一系列简单易用的特性,能够帮助我们快速地实现动态服务发现、服务配置等功能。
二、Nacos下载和安装
—> 参考文档
—> github下载
—> 镜像下载
官方推荐的是下载 2.0.3稳定版本
1. 使用Windows启动
cmd输入
startup.cmd -m standalone
2. 验证nacos是否成功启动
http://192.168.10.236:8848/nacos/index.html
账号:nacos , 密码:nacos
三、Nacos Discovery服务注册/发现
- 首先引入依赖:
<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2021.1</version></dependency>
- 配置nacos的地址:
nacos.discovery.server-addr=127.0.0.1:8848
- 在启动类上加上
@EnableDiscoveryClient
注解
- 查看Nacos服务列表状态
这样子就证明我们的端口作为服务注册到了Nacos中去了!
- 服务列表不显示问题
在确保Nacos正常启动,上述操作也配置完毕,还是没有显示服务名称等信息时,请检查
spring-boot-starter-parent
的版本:
四、简易实现负载均衡
需要创建两个注册者(9001、9002)和一个消费者(8083)
1. 注册者配置
server:port: 9001
Spring:application:name: nacos-providercloud:discovery:server-addr: localhost:8848
management:endpoint:web:exposure:include: '*'
2. 注册者启动类
@EnableDiscoveryClient //开启服务的注册与发现功能
@SpringBootApplication
public class Port9001Application {public static void main(String[] args) {SpringApplication.run(Port9001Application.class, args);}
}
3. 注册者业务层
@RestController
public class Port9001 {@Value("${server.port}")private String serverPort;@GetMapping("/getPort")public String getServerPort(){return "调用端口 " + serverPort + " 成功!";}
}
4. 消费者配置
server:port: 8083
Spring:application:name: nacos-consumercloud:discovery:server-addr: localhost:8848
#消费者将要去访问的微服务名称
service-url:nacos-user-service: http://nacos-provider
5. 消费者启动类
@EnableDiscoveryClient
@SpringBootApplication
public class NacosConsumer8083Application {public static void main(String[] args) {SpringApplication.run(NacosConsumer8083Application.class, args);}@Bean@LoadBalancedpublic RestTemplate restTemplate(){return new RestTemplate();}
}
6. 消费者业务层
@RestController
public class Port8083Controller {@Autowiredprivate RestTemplate restTemplate;@Value("${service-url.nacos-user-service}")private String serverURL;@GetMapping(value = "consumer/nacos")public String getDiscovery(){/* 三个参数:填写访问的名称和url地址 + 调用接口的返回值类型 */return restTemplate.getForObject(serverURL+"/getPort",String.class);}
}
7. 开始调用接口
调用8083的
/consumer/nacos
再次刷新该页面
此处证明完成了远程的调用,同时具有负载均衡的效果!
8. 遇到问题解决
java.net.UnknownHostException: nacos-provider
依赖中加入spring-cloud-loadbalancer
即可!
nacos简易实现负载均衡相关推荐
- 基于Zookeeper实现简易的负载均衡
基于Zookeeper实现简易的负载均衡 完整代码在这里基于Zookeeper实现简易的负载均衡 以下是讲解 一. 要求 1. 编程题一: 在基于Netty的自定义RPC的案例基础上,进行改造.基于Z ...
- Nacos系列--权重(负载均衡)--作用/详解
原文网址:Nacos系列--权重(负载均衡)--作用/详解_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Nacos的权重的用法,它是一种负载均衡的方法. 权重的含义 Nacos控制台可以设置 ...
- sql server配置管理器在哪里看ip_微服务管理平台nacos虚拟ip负载均衡集群模式搭建...
一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...
- SpringCloud微服务架构,Spring Cloud 服务治理(Eureka,Consul,Nacos),Ribbon 客户端负载均衡,RestTemplate与OpenFeign实现远程调用
什么是SpringCloud 微服务架构 • "微服务"一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到 http://mar ...
- 虚拟ip mysql负载均衡_微服务管理平台nacos虚拟ip负载均衡集群模式搭建
一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...
- Springcloud、Nacos 服务注册、负载均衡Ribbon、http客户端Feign
SpringCloud是基于SpringBoot的一整套实现微服务的框架.它提供了微服务开发所需的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状态管理等组 ...
- 手把手搭建简易负载均衡集群
前言: 最近在公司部署了一个简易的负载均衡集群,这个集群的主要功能是分摊公司业务服务器的流量,防止服务器因为访问量过大而造成负,导致服务宕机或者响应速度慢等一系列问题.在这里做个简要的记录,方便后续自 ...
- nacos简单介绍与其负载均衡
一.Nacos的依赖 SpringCloud是目前国内使用最广泛的微服务框架.官网地址:https://spring.io/projects/spring-cloud. SpringCloud集成了各 ...
- Nacos-NacosRule负载均衡
同集群优先的负载均衡 默认的ZoneAvoidanceRule并不能实现根据同集群优先来实现负载均衡. 因此Nacos中提供了一个NacosRule的实现,可以优先从同集群中挑选实例. 1)给orde ...
最新文章
- WPF路径动画(动态逆向动画)
- Ubuntu 火狐浏览器不能上网解决办法
- 看这玩意复习你还会挂科?《软件工程篇》
- Zabbix报警语音
- 微信公众号粉丝、文章迁移流程及方法
- C语言-求阶乘的两种方法
- winform实现任务栏隐藏、通知栏图标及右键、类似QQ隐藏窗体等功能
- leetcode刷的一些杂题
- 基本粒子结构以及宇宙现象的徦说
- lighting接口说明
- 如何计算Java对象的大小
- Entity Framework使用DBContext实现增删改查示例
- PDF文件太大怎么压缩?用这个方法能够一键瘦身
- fishhook-动态修改MachO文件
- C语言-指针存储空间大小
- 如何学习kotlin?Kotlin基础知识快速入门
- 实战项目一:地铁人流量预测
- 如何调出天正8.2中上部的工具条
- ubuntu18.10下wine运行大航海时代II、金庸群侠传1、三国志英杰传、笑傲江湖
- ROS关于roscore,roscore,rosrun命令
热门文章
- 【收藏】Proteus仿真LCD12864液晶显示极详细的教程
- RabbitMQ高级
- cf服务器优化,穿越火线走过12年存在服务器何时能得到优化?
- 表格识别论文阅读——《Robust Table Detection and Structure Recognition from Heterogeneous Document Images》
- python图片表格提取算法_python识别并提取表格中的文字--Apple的学习笔记
- 进度计划:GANTT图
- 编曲鼓音源推荐 编曲怎么编鼓
- html绘制地铁线路图,Plotly绘制成都地铁全线路图(线路可实时更新最新线路 + 完整代码)...
- 一阶逻辑合式公式及解释
- 华为手机一直android,为何我的华为手机一直停留在Android正在升级…,高人求助!...