Nacos服务注册和配置中心(Config,Eureka,Bus)1

news/2025/3/19 12:34:09/

SCA(Spring Cloud Alibaba)核心组件

        Spring Cloud是若干个框架的集合,包括spring-cloud-config、spring-cloud-bus等近20个子项目,提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案,Spring Cloud Alibaba可以集成Zuul、Gateway等网关组件,也可集成Ribbon、OpenFeign等组件


开源组件

        Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
        Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
        RocketMQ:开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
        Dubbo:这个就不用多说了,在国内应用非常广泛的一款高性能Java RPC框架。
        Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
        Arthas:开源的Java动态追踪工具,基于字节码增强技术,功能非常强大


商业化组件

         Alibaba Cloud ACM:一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。(Config,Nacos)

        Alibaba Cloud OSS:阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云提供的云存储服务。
        Alibaba Cloud SchedulerX:阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准的定时(基于Cron表达式)任务调度服务。

Nacos(Dynamic Naming and Configuration Service):

        是阿里巴巴开源的一个针对微服务架构中服务发现、配置管理和服务管理的平台

        功能特性
                服务发现与健康检查。
                动态配置管理。
                动态DNS服务。
                服务和元数据管理(管理平台的角度,Nacos也有一个UI页面,可以看到注册的服务及其实例信息[元数据信息]等),动态的服务权重调整、动态服务优雅下线,都可以去做

        保护阈值可以设置为0-1之间的浮点数,它其实是一个比例值(当前服务健康实例数/当前服务总实例数),防止雪崩效应,牺牲了一些请求,保证了整个系统的一个可用

      

        1.下载安装包 https://github.com/alibaba/nacos

        2.将压缩包解压到任意非中文目录下,进到bin目录启动nacos

         3.在浏览器访问该网址,我们可以看到nacos的可视化窗口

http://10.48.185.7:8848/nacos/index.html

        4.在主项目中导入nacos所需的依赖

            <!--Spring Cloud Alibaba微服务组件的依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.1.0.RELEASE</version><type>pom</type><scope>import</scope></dependency>

       

        5.在所需要微服务项目中导入nacos客户端所需的依赖,将原来rureka,bus,config的依赖注释掉,在nacos中整合了这些组件

 <!--nacos的客户端依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

 

        将配置文件中不需要的配置注释掉,类中相应的注解也需要注释掉,并添加nacos的服务地址(product生产中的)

        page中的配置文件

        application.properties

spring.application.name=leq-service-page
server.port=9100
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=0216
spring.datasource.url=jdbc:mysql://localhost:3306/leq_sc?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC

        application.yml

spring:cloud:nacos:discovery:server-addr: 127.0.0.1:8848 hystrix:command:default:circuitBreaker:# 强制打开熔断器,如果该属性设置为true,强制断路器进入打开状态,将会拒绝所有的请求,默认false关闭的forceOpen: false# 触发熔断错误比例阈值,默认值50%errorThresholdPercentage: 50# 熔断后休眠时长,默认值5秒sleepWindowInMilliseconds: 3000# 熔断触发最小请求次数,默认值是20requestVolumeThreshold: 2execution:isolation:thread:# 熔断超时设置,默认为1秒timeoutInMilliseconds: 2000# Spring Boot中暴露健康检查等断点接⼝
management:endpoints:web:exposure:include: "*"# 暴露健康接⼝的细节endpoint:health:show-details: always# 针对的被调⽤⽅微服务名称,不加就是全局⽣效
leq-service-product:ribbon:# 请求连接超时时间ConnectTimeout: 2000# 请求处理超时时间ReadTimeout: 10000# 对所有操作都进⾏重试OkToRetryOnAllOperations: true#MaxAutoRetries: 0 # 对当前选中实例重试次数,不包括第⼀次调⽤MaxAutoRetriesNextServer: 0 # 切换实例的重试次数NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载策略调整# 开启Feign的熔断功能
feign:hystrix:enabled: true # true 开启Feign中继承Hystrix 熔断器功能compression:request:enabled: true # 默认不开启mime-types: text/html,application/xml,application/json # 设置压缩的数据类型,设置为默认值min-request-size: 2048 # 设置触发压缩的⼤⼩下限,2048为默认值response:enabled: true # 默认不开启

        5. 重启这三个修改的微服务,要确保我们的nacos启动

         6.访问查询端口的接口

http://localhost:9100/page/getPort

 

         可以看到我们的熔断和负载均衡还是生效的,前面熔断的依赖我们已经注释掉了,但是熔断和负载均衡还是可以生效的,这更加证明了nacos的强大


http://www.ppmy.cn/news/885418.html

相关文章

网易新闻 鸿蒙,网易新闻鸿蒙版下载-网易新闻 鸿蒙版v78.5-PC6鸿蒙网

需要调用以下重要权限 - 查看更多权限列表【网易新闻-头条版】 ● (基于网络的)粗略位置访问粗略的位置源(例如蜂窝网络数据库)以确定手机的大体位置(如果可以)。恶意应用程序可借此确定您所处的大体位置。 ● 精准的(GPS)位置访问精准的位置源&#xff0c;例如手机上的全球定位…

[2018.12.19]早报

1.百度调整架构&#xff1a;智能云事业部升级为事业群组。 2.“世界品牌500强”新榜&#xff1a;亚马逊、谷歌、苹果居前三。 3.华为宣布已获25份5G商业合同&#xff0c;营收将突破1000亿美元。 4.软银集团旗下的芯片技术公司ARM推出针对自动驾驶汽车传感器芯片。 5.未来号…

蜂窝物联网芯片为什么要整合GPS功能?

如今&#xff0c;Altair是Sony半导体运营的一部份&#xff0c;并顺利为其CAT&#xff0d;1&#xff0f;NB1芯片增加新的功能&#xff1a;整合GPS接收器。 看好蜂窝物联网&#xff08;cellular IoT&#xff1b;CIoT&#xff09;网络的发展&#xff0c;以色列4G LTE调制解调器芯片…

导航能力堪比GPS!动物们是这样做到的

相关新闻截图 文章转载自微信公众号GIS圈&#xff0c;来源&#xff1a;新华网&#xff08;内容来源科技日报&#xff09;&#xff0c;版权归原作者及刊载媒体所有。 不久前&#xff0c;一则新闻引发了众多网友关注&#xff1a;内蒙古巴彦淖尔市乌拉特草原上的一只骆驼去年被卖到…

【图片新闻】据称俄罗斯的GPS干扰系统正在中东地区发挥极其重要的压制能力...

俄罗斯正在为保护其在叙利亚最重要的军事基地之一而不懈努力&#xff0c;GPS干扰和欺骗旨在压制合法的GPS信号并用假信号代替它们&#xff0c;目的是为了保护Khmeimim空军基地&#xff0c;但其附近区域都受到了影响。 据以色列时报报道&#xff0c;整个中东地区的飞行员在2018年…

手机GPS为什么能在室内定位?

为什么手机在室内也能定位&#xff1f;大部分人知道手机会通过GPS进行定位&#xff0c;其实手机定位系统并不是和我们的RTK完全一样的&#xff0c;因为那样就无法解释为何在室内也能定位了&#xff0c;这里我来科普一下智能手机的那些定位方法。 GPS定位 大家都对GPS定位应该都…

GPS欺骗(一)—无人机的劫持

本文作者:唯念那抹瑞利蓝 今天我们所讲的是GPS欺骗的方式和简单的定义。让大家对GPS欺骗这个方面有所了解。GPS是全世界地一个卫星定位系统,由美国制造。 001 例子2011年伊朗劫持美国无人机 详细见http://news.163.com/11/1217/09/7LFDI7HE00014JB5.html这种是被新闻称作伊朗…

linux gpsd 授时原理,app/ntp/gps/README.md · 王者归来/ITTS - Gitee.com

## [原创] 用GPS模块建立高精度ntp服务器 本文原创:**中国科学技术大学 张焕杰** 修改时间:2019.02.26 # 零、高精度时间的定义 简单的说,衡量时间主要有2个参数,分别是offset和jitter。offset可以理解为与标准时间的偏差,jitter可以理解为时间均匀度。 比如一个石英钟,每…