热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:基于Nacos集群部署

篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于Nacos集群部署相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于Nacos集群部署相关的知识,希望对你有一定的参考价值。


















1


















nacos集群方案


















图示






































2


















相关集群配置















集群服务文件夹管理









基于Nacos集群部署








创建nacos-cluster文件夹








再创建以下子文件夹


---nacos-server-8848


---nacos-server-8849


---nacos-server-8850








修改/nacos/conf文件夹下的cluster.conf文件




###ip和端口号


192.168.X.XX:8848


192.168.X.XX:8849


192.168.X.XX:8850






注意



























如果不进行这样的设置,那么nacos集群就不会进行选举。节点状态一直:FOLLOWER。




















nginx相关配置









基于Nacos集群部署






















# 配置负载均衡策略upstream nacosServer{ server 192.168.2.121:8848; server 192.168.2.121:8849; server 192.168.2.121:8850;}
server { location /nacos/ { proxy_pass http://nacosServer/nacos/; }}

















客户端连接









基于Nacos集群部署








修改bootstrap.yaml























spring: cloud: nacos: discovery: #注册中心地址 server-addr: 127.0.0.1 enabled: true config: #配置文件地址 server-addr: 127.0.0.1 group: DEFAULT_GROUP file-extension: yaml application: #服务名称 name: app-member profiles: active: dev





注意



























如果配置文件设置单机模式,那么启动集群模式就需要添加:startup.cmd -m cluster


如果配置文件设置集群模式,那么启动单机模式就需要添加:startup.cmd –m standalone



















图示


















基于Nacos集群部署



至此,nacos集群就配置完毕!




























3


















CAP定律


















概念

















CAP定律指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。


















一致性(C)









基于Nacos集群部署








在分布式系统中,如果服务器集群,每个节点在同时刻访问必须保持数据的一致性。


















可用性(A)









基于Nacos集群部署








集群节点中,部分节点出现故障后任然可以使用(高可用)。


















分区容错性(P)









基于Nacos集群部署








在分布式系统中网络会存在脑裂的问题,部门Server与整个集群失去节点联系,无法组成一个群体。








注意





















只有在CP和AP中选择一个平衡点。























示例

















CP情况下,虽然服务不可用,但是必须要保证数据的一致性。


AP情况下,可以短暂保证数据不一致性,但是最终可以一致性,不管怎样,都要保证服务可用。




大多注册中心都是AP。



















4


















注册中心区别


















Eureka与Zookeeper区别



























相同点









基于Nacos集群部署








都是可以实现分布式服务注册中心。
















不用点









基于Nacos集群部署








Zookeeper采用CP保证数据的一致性问题,原理采用Zab原子广播协议,当由于zk领导因为某种原因宕机的情况下,会自动出发重新选一个新的领导角色,整个选举的过程为了保证数据的一致性问题,在选举的过程中整合zk环境是不可以使用,可能短暂无法使用到zk,在微服务采用该模式下,可能无法实现通讯(本地有缓存除外)。


注意:可运行节点必须满足过半机制,整个zk才能使用。




Eureka采用AP的设计理念架构注册中心,完全去中心化思想,也就是没有主从之分。


每个节点都是均等,采用相互注册原理,你中有我、我中有你,只要最后一个eureka节点存在就可以保证整个微服务可以实现通讯。




在使用注册中心,可用性在优先级最高,可以读取数据短暂暂时不一致,但是至少要能够保证注册中心可用。























Eureka与Nacos区别

















Nacos从1.0版本支持CP和AP混合模式集群,默认是采用AP保证服务可用性,CP的形式底层集群raft协议保证数据的一致性的问题。


如果采用AP模式注册服务的实例仅支持临时注册模式,在网络分区产生抖动的情况下,还可以机继续注册我们的服务列表。


那么采用CP模式必须保证数据的强一致性问题,如果网络分区产生抖动的情况下,是无法注册服务列表。选择CP模式可以支持注册实例持久。
















如何选择ACP模式









基于Nacos集群部署








其它情况下,AP即可。
















概念性

















中心化


    必须围绕一个领导角色作为核心,选举为领导和跟随者角色。




去中心化


    每个角色都是均等。
















实现切换模式

















PUT请求







$NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP



推荐阅读
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在配置Nginx的SSL证书后,虽然HTTPS访问能够正常工作,但HTTP请求却会遇到400错误。本文详细解析了这一问题,并提供了Nginx配置的具体示例。此外,还深入探讨了DNS服务器证书、SSL证书的申请与安装流程,以及域名注册、查询方法和CDN加速技术的应用,帮助读者全面了解相关技术细节。 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • Kafka 是由 Apache 软件基金会开发的高性能分布式消息系统,支持高吞吐量的发布和订阅功能,主要使用 Scala 和 Java 编写。本文将深入解析 Kafka 的安装与配置过程,为程序员提供详尽的操作指南,涵盖从环境准备到集群搭建的每一个关键步骤。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • Spring框架中枚举参数的正确使用方法与技巧
    本文详细阐述了在Spring Boot框架中正确使用枚举参数的方法与技巧,旨在帮助开发者更高效地掌握和应用枚举类型的数据传递,适合对Spring Boot感兴趣的读者深入学习。 ... [详细]
author-avatar
网吧b国漫救星
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有