热门标签 | 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



推荐阅读
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了SpringCloudRibbon部分源码相关的知识,希望对你有一定的参考价值。1:ribbon是提供通过servi ... [详细]
  • Nginxgaodaima.comnginx属于七层架构,支持的是http协议,本身对tcp协议没有支持。所以不能代理mysql等实现负载均衡。但是lvs这个东西不熟悉,主要是公司 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • AFNetwork框架(零)使用NSURLSession进行网络请求
    本文介绍了AFNetwork框架中使用NSURLSession进行网络请求的方法,包括NSURLSession的配置、请求的创建和执行等步骤。同时还介绍了NSURLSessionDelegate和NSURLSessionConfiguration的相关内容。通过本文可以了解到AFNetwork框架中使用NSURLSession进行网络请求的基本流程和注意事项。 ... [详细]
  • 使用freemaker生成Java代码的步骤及示例代码
    本文介绍了使用freemaker这个jar包生成Java代码的步骤,通过提前编辑好的模板,可以避免写重复代码。首先需要在springboot的pom.xml文件中加入freemaker的依赖包。然后编写模板,定义要生成的Java类的属性和方法。最后编写生成代码的类,通过加载模板文件和数据模型,生成Java代码文件。本文提供了示例代码,并展示了文件目录结构。 ... [详细]
  • 服务网关与流量网关
    一、为什么需要服务网关1、什么是服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关& ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • k8s+springboot+Eureka如何平滑上下线服务
    k8s+springboot+Eureka如何平滑上下线服务目录服务平滑上下线-k8s版本目录“上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k ... [详细]
  • CISCO ASA防火墙Failover+multiple context详细部署By 年糕泰迪[操作系统入门]
    一.文章概述本文主要就CISCOASA防火墙的高可用和扩张性进行阐述和部署。再cisco防火墙系列中主要有3种技术来实现高可用和扩张性。分别是Failover,multiplese ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
  • 本文介绍了解决java开源项目apache commons email简单使用报错的方法,包括使用正确的JAR包和正确的代码配置,以及相关参数的设置。详细介绍了如何使用apache commons email发送邮件。 ... [详细]
  • 什么是网关服务器初学linux服务器开发时,我们的服务器是很简单的,只需要一个程序完成与客户端的连接,接收客户端数据,数据处理,向客户端发送数据。但是在处理量很大的情况下,一 ... [详细]
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社区 版权所有