Eureka使用详解

news2024/12/26 13:22:49

    • 介绍
    • 主要特点
    • 主要功能
    • 与常用服务注册中心的比较
      • Eureka与Zookeeper的区别和联系
      • Eureka与Nacos的区别与联系
      • Eureka与Consul的区别与联系
    • 安装部署
    • Eureka与CAP理论
    • Eureka实现实时上下线
    • Eureka常用注解
    • Eureka架构模式

在这里插入图片描述

介绍

Eureka是一个基于REST的服务,主要用于AWS云中的定位服务,以实现中间层服务器的负载平衡和故障转移。在Spring Cloud微服务架构中,Eureka通常用作注册中心。

Eureka的基本原理是:服务在Eureka上注册,然后每隔30秒发送心跳来更新它们的租约。如果客户端不能多次续订租约,那么它将在大约90秒内从服务器注册表中剔除。

Eureka客户端与服务器之间的通信采用客户端发现模式。Eureka客户端将关于运行实例的信息注册到Eureka服务器,并在每隔30秒发送心跳来更新注册信息。客户端还会从服务器获取注册表信息并在本地缓存,以便查找其他服务。当客户端关机时,它会向Eureka服务器发送一个取消请求,从服务器的实例注册表中删除实例。

此外,Eureka还有一个自我保护模式。如果Eureka服务器检测到超过预期数量的注册客户端以一种不优雅的方式终止了连接,并且同时正在等待被驱逐,那么它们将进入自我保护模式。这样做是为了确保灾难性网络事件不会擦除Eureka注册表数据,并将其向下传播到所有客户端。

在这里插入图片描述

主要特点

Eureka作为服务注册与发现的解决方案,具有以下优点:

  1. 故障转移:Eureka的客户端能够自动从宕机的服务器切换到新的Eureka节点,无需担心“掉队”的服务器恢复后被剔除的风险。
  2. 客户端缓存功能:即便Eureka集群中所有节点都失效,或者发生网络分割故障导致客户端不能访问任何一台Eureka服务器,Eureka服务的消费者仍然可以通过Eureka客户端缓存来获取现有的服务注册信息。
  3. 网络分割处理:Eureka被设计用来应付范围更广的网络分割故障,可以在同一个子网中实现新发布的服务仍然可以被发现与访问。
  4. 心跳检测机制:Eureka内置心跳服务,可以淘汰一些“濒死”的服务器。
  5. 支持异地多活:Eureka可以满足这种需求,在多个地域部署服务提供者,当某个地域出现问题时,可以切换到其他地域。

然而,Eureka也存在一些缺点:

  1. 数据存储策略:Eureka的数据是全量的存储在集群中的每个服务器上的,这可能导致扩展性比较差。
  2. 服务管理粒度:Eureka的服务管理的粒度是系统级别的,数据模型的key就是系统id,value就是所有注册的该系统的ip。虽然可以提供接口+版本号级别的服务管理粒度控制,但仍然无法精确的感知不同版本的服务提供方的不同的服务。

在这里插入图片描述

主要功能

Eureka是Netflix开发的服务发现框架,主要用于定位运行在AWS云或其他环境中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。Eureka的功能主要包括以下几点:

  1. 服务注册:服务提供者在启动时,会将自己的服务信息注册到Eureka Server中,Eureka Server会存储这些信息。
  2. 服务发现:Eureka Client可以从Eureka Server中查询和获取服务注册表中的信息,然后缓存到本地,周期性地刷新服务状态。这样,服务消费者就能够通过Eureka Client找到服务提供者的地址,并进行调用。
  3. 健康检查:Eureka有一个心跳检测机制,服务提供者会每隔30秒向Eureka Server发送一次心跳请求,报告自己的健康状态。如果Eureka Server在一定时间内没有收到某个服务提供者的心跳,就会认为该服务提供者已经宕机,并将其从服务注册表中剔除。
  4. 负载均衡:如果同一个服务有多个提供者,Eureka Client还提供了负载均衡的策略,可以从中选择一个服务提供者进行调用。

Eureka通过服务注册、服务发现、健康检查和负载均衡等功能,帮助实现了服务的有效调用和故障转移,提高了系统的可用性和可伸缩性。

在这里插入图片描述

与常用服务注册中心的比较

Eureka与Zookeeper的区别和联系

Eureka和Zookeeper都是服务注册与发现的解决方案,但它们在实现方式和应用场景上存在一些差异。

  1. 数据一致性和可用性:Zookeeper采用了Zab协议来实现数据一致性,在选举过程中会选出一个领导者(Leader)来负责数据读写操作,其他节点作为跟随者(Follower)只进行数据读取操作。这种机制保证了Zookeeper集群的数据一致性。而Eureka则保证了高可用性(Availability),各个节点之间是平等的,每个节点都可以处理请求,Eureka客户端在本地缓存服务注册表信息,保证了在Eureka Server短暂不可用时仍能提供服务。
  2. 负载均衡:Zookeeper本身并不提供负载均衡功能,需要结合其他工具或算法实现。而Eureka内置了简单的负载均衡机制,可以根据服务提供者的权重和健康状况进行负载分配。
  3. 自我保护模式:在Eureka中,如果客户端检测到服务器节点数小于一半,就会进入自我保护模式,保证服务可用性。而Zookeeper在选举过程中如果选不出领导者,会进行故障转移,通过选举产生新的领导者。

Eureka和Zookeeper都是优秀的服务注册与发现解决方案,具有各自的特点和适用场景。选择使用哪种方案取决于具体的业务需求和技术要求。

在这里插入图片描述

Eureka与Nacos的区别与联系

Eureka和Nacos都是开源的、易于使用的、功能丰富的平台,用于构建云原生应用。它们都提供了服务发现、配置管理和动态服务路由等功能。然而,Eureka和Nacos在某些方面存在一些差异:

  1. 服务发现:Eureka采用AP(可用性优先)的方式进行服务发现,这意味着如果某个服务实例出现问题,Eureka仍会将其标记为可用,可能会将请求路由到问题实例。而Nacos支持CP(一致性优先)的方式,当某个服务实例出现问题时,Nacos会将其从服务列表中剔除,保证服务的一致性。
  2. 配置管理:Nacos提供了更为强大的配置管理功能,支持动态调整服务配置,而Eureka的配置管理功能相对简单。
  3. 动态服务路由:Nacos支持基于DNS的动态服务发现和路由,而Eureka主要通过客户端实现服务的动态发现和路由。
  4. 开放性:Nacos是一个开放的平台,许多功能都是在社区驱动下开发的,这意味着用户可以根据自己的需求进行定制化开发。而Eureka则更多地被设计为一个闭源的、被Spring Cloud生态系统所集成的解决方案。
  5. 地域性:Eureka在AWS平台上的使用更加广泛,因为它是Netflix开源组件的一部分,Netflix在AWS上的部署被广泛参考和使用。

尽管存在这些差异,Eureka和Nacos都可以很好地满足云原生应用的需求,选择哪一个取决于具体的项目需求和团队的技术栈。

在这里插入图片描述

Eureka与Consul的区别与联系

Eureka和Consul都是服务发现和配置管理的解决方案,它们在云原生应用中发挥着重要作用。尽管它们在功能和实现方式上有些相似,但也有一些明显的区别:

  1. 一致性保证:Consul使用Raft协议来复制状态,确保强一致性。Eureka则提供了AP(可用性优先)的服务发现机制,牺牲了一致性以优先保证可用性。
  2. 健康检查:Consul支持丰富的健康检查功能,包括TCP、HTTP、Nagios/Sensu兼容脚本或基于Eureka的TTL。Eureka也提供健康检查,并且其注册速度相对较快。
  3. 客户端节点参与健康检查:Consul的客户端节点参与基于八卦的健康检查,分发健康检查工作,而不是像集中式心跳检测那样成为可扩展性挑战。Eureka则通过客户端节点参与基于TCP或HTTP的健康检查。
  4. 领导选举和集群协调:Consul使用Raft协议进行领导选举和集群协调,这意味着它可以作为领导选举和集群协调的锁定服务。Eureka则不提供类似的一致性保证,通常需要为需要执行协调或具有更强一致性需求的服务运行ZooKeeper。
  5. 功能丰富度:Consul提供了丰富的功能,包括服务发现、健康检查、锁定、密钥/值存储、多数据中心联合、事件系统和ACL等。Eureka也提供了服务发现和健康检查功能,但其功能集相对较为有限。
  6. 与其他技术的集成:Consul可以与许多其他技术集成,如Kubernetes、Envoy、Traefik等。Eureka通常与Spring Cloud生态系统集成。

Eureka和Consul都是强大的服务发现和配置管理工具,但它们在一致性保证、健康检查、领导选举和集群协调以及功能丰富度等方面存在差异。选择哪一个取决于具体的项目需求和团队的技术栈。

在这里插入图片描述

在这里插入图片描述

安装部署

  • 单节点部署

Eureka单节点部署的步骤如下:

  1. 创建一个Spring Boot项目,并引入Eureka Server依赖。
  2. 在Spring Boot项目中配置Eureka Server相关环境,包括端口号、主机名等。
  3. 启动Spring Boot项目,此时Eureka Server会自动启动。
  4. 在Spring Boot项目中配置Eureka Client相关环境,包括Eureka Server的地址等。
  5. 启动Spring Boot项目,此时Eureka Client会自动向Eureka Server注册自己的服务信息。
  6. 在Spring Boot项目中通过Eureka Client查询和获取已注册的服务信息,并进行调用。
  7. Eureka Server会根据服务提供者的健康状态和负载情况,自动进行负载均衡和故障转移。

以上步骤可以完成Eureka单节点部署,实现服务的注册、发现、调用、负载均衡和故障转移等功能。需要注意的是,在实际应用中,为了保证服务的可用性和可伸缩性,通常会部署多个Eureka节点,并通过集群部署方式来实现高可用性。

  • 集群部署

Eureka集群部署需要多个节点协同工作,以提高服务的可用性和可伸缩性。以下是Eureka集群部署的步骤:

  1. 准备两台或多台虚拟机或服务器,用于部署Eureka节点。
  2. 在每台虚拟机或服务器上安装Java开发工具包(JDK)和Spring Boot。
  3. 在每个节点上创建Eureka Server项目,并添加Eureka Server依赖。
  4. 在每个节点的配置文件中,添加其他Eureka节点的主机名或IP地址,以便节点之间能够互相通信。
  5. 启动每个Eureka节点,并确保它们能够相互通信和通信。
  6. 在每个Eureka节点上配置Eureka Client,以便将服务注册到Eureka Server并从Eureka Server获取服务信息。
  7. 在每个Spring Boot项目中配置Eureka Client的相关环境,包括Eureka Server的地址等。
  8. 启动每个Spring Boot项目,并确保它们能够注册到Eureka Server并从Eureka Server获取服务信息。
  9. Eureka Server集群会自动进行负载均衡和故障转移,根据服务提供者的健康状态和负载情况,将请求转发给可用的服务提供者。

通过以上步骤,可以完成Eureka集群部署,实现服务的注册、发现、调用、负载均衡和故障转移等功能。在实际应用中,可以根据需要增加或减少节点数量,以适应业务的发展和变化。

在这里插入图片描述

Eureka与CAP理论

Eureka与CAP理论有密切的联系。CAP理论,即一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)的理论,指出在一个分布式系统中,一致性、可用性和分区容错性三个需求不能同时满足。Eureka作为一个服务注册与发现的解决方案,也是遵循了CAP理论。

在Eureka中,CAP理论表现为以下几个方面:

  1. 一致性(C):Eureka保证的是AP,即可用性和分区容错性。在分布式系统中,数据一致性指的是所有数据备份在同一时刻是否具有相同的值。由于网络通信延迟或中断等原因,Eureka并不能保证强一致性,而是保证了最终一致性。
  2. 可用性(A):Eureka通过服务注册与发现机制,使得服务消费者能够从多个服务提供者中选择一个进行调用,从而保证了服务的可用性。即使部分节点出现故障,Eureka仍然能够通过负载均衡和故障转移机制保证服务的可用性。
  3. 分区容错性(P):由于网络分区是分布式系统中的常见问题,Eureka在设计时必须考虑分区容错性。即使在节点之间通信失败的情况下,Eureka仍然能够保证系统的正常运行。

Eureka在设计和实现中充分考虑了CAP理论,并做出了相应的权衡,所以它是一款AP类型的服务。在实际应用中,需要根据业务需求和系统特点来选择适合的解决方案,以实现最佳的性能和可靠性。

在这里插入图片描述

Eureka实现实时上下线

  • Eureka实现实时上下线的思路主要包括以下几个方面:
  1. 使用Eureka Server的健康检查机制:Eureka Server提供了健康检查机制,可以检测服务提供者的健康状态。当服务提供者的健康状态发生变化时,Eureka Server会自动更新服务注册信息,并通知给其他节点。
  2. 使用Ribbon的缓存机制:Ribbon是Netflix开源的一个客户端负载均衡器,可以与Eureka配合使用。Ribbon自身也具备缓存机制,可以缓存服务注册信息,从而减少对Eureka Server的请求次数。在服务上下线时,Ribbon会从Eureka Server获取最新的服务注册信息,并更新本地缓存。
  3. 监听Eureka的事件:Eureka提供了事件监听机制,可以在服务上下线时触发相应的事件。通过监听这些事件,可以实现实时的服务上下线处理。

Eureka实现实时上下线的思路主要是利用健康检查机制、Ribbon的缓存机制和事件监听机制来实现服务的实时上下线处理。这样可以有效地提高服务的可用性和可靠性,减少系统故障和延迟。

  • Eureka服务注册与下线接口主要包括以下两个:
  1. Eureka Server的REST API:Eureka Server提供了REST API用于管理服务注册与下线。服务提供者可以通过调用POST /eureka/apps/{appName}接口进行服务注册,调用DELETE /eureka/apps/{appName}接口进行服务下线。
  2. Eureka客户端的API:Eureka客户端提供了API用于与服务注册中心进行交互。服务提供者可以使用Eureka客户端的API自动注册服务和注销服务。当服务实例启动时,Eureka客户端会自动向Eureka Server发送注册请求;当服务实例关闭时,Eureka客户端会自动向Eureka Server发送下线请求。

通过以上两个接口,服务提供者可以实现服务的自动注册和下线,从而提高服务的可用性和可靠性。同时,Eureka还提供了负载均衡和故障转移机制,以确保服务的稳定性和可靠性。

  • Eureka自我保护模式

Eureka的自我保护模式是一种应对网络异常的安全保护措施。当Eureka Server在短时间内没有接收到某个微服务实例的心跳时,Eureka Server不会立即将该实例从注册服务列表中剔除,而是进入自我保护模式。在自我保护模式下,Eureka Server会保护服务注册表中的信息,不再删除服务注册表中的数据(即不会注销任何微服务)。当网络故障恢复后,Eureka Server会自动退出自我保护模式。

自我保护模式可以避免因网络问题导致的短暂服务不可用,而盲目注销健康的微服务实例。这种模式使Eureka集群更加健壮、稳定,能够应对网络异常和故障,提高服务的可用性和可靠性。

在这里插入图片描述

Eureka常用注解

Eureka常用的注解包括:

  1. @EnableEurekaClient:开启Eureka客户端功能,使服务能够注册到Eureka Server中,并从Eureka Server获取服务信息。
  2. @EnableDiscoveryClient:开启服务注册与发现功能,使服务能够被其他服务发现和调用。
  3. @EnableEurekaServer:开启Eureka注册中心服务端功能,使得服务能够被其他节点发现和调用。
  4. @VipAddress:标识VIP地址,用于定义集群中的虚拟IP地址,以便将请求转发到集群中的某个节点。
  5. @Register:手动注册服务到Eureka Server中,通常用于自定义服务注册逻辑。
  6. @DiscoveryClient:注入DiscoveryClient实例,用于自定义服务发现的逻辑。

这些注解可以帮助开发者更加方便地实现服务的注册、发现、调用、负载均衡和故障转移等功能。在实际应用中,可以根据需要选择合适的注解,并结合具体的业务场景进行配置和使用。

在这里插入图片描述

Eureka架构模式

Eureka的架构模式主要包括以下几个部分:

  1. Eureka Server:Eureka Server作为服务注册功能的服务器,是服务注册中心。在Eureka架构中,所有的服务都需要注册到Eureka Server,以便服务消费者能够通过Eureka Server找到并调用服务。
  2. Eureka Client:Eureka Client是一个Java客户端,用于简化Eureka Server的交互。所有的服务提供者都会使用Eureka Client连接到Eureka Server,并维持心跳连接。通过Eureka Client,服务提供者可以自动向Eureka Server注册服务,并从Eureka Server获取服务信息。
  3. 注册中心集群:为了提高服务的可用性和可伸缩性,Eureka通常会部署多个节点,形成一个集群。在集群中,各个节点之间会相互通信,共享服务注册信息。这样,即使某个节点出现故障,其他节点仍然可以提供服务。
  4. 负载均衡和故障转移:Eureka会自动进行负载均衡和故障转移。当服务消费者需要调用某个服务时,Eureka Client会从Eureka Server获取可用的服务节点列表,并使用轮询算法进行负载均衡。当某个服务节点出现故障时,Eureka会自动将请求转发到其他可用的节点上。

Eureka的架构模式包括Eureka Server、Eureka Client、注册中心集群、负载均衡和故障转移等部分。这些部分协同工作,使得Eureka能够实现服务的注册、发现、调用、负载均衡和故障转移等功能,提高服务的可用性和可靠性。

在这里插入图片描述


Zookeeper使用详解

Dubbo使用详解

Hazelcast使用详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1400742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-帖子详情页实现

锋哥原创的SpringbootLayui python222网站实战: python222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火…

Element-UI 多个el-upload组件自定义上传,不用上传url,并且携带自定义传参(文件序号)

1. 需求: 有多个(不确定具体数量)的upload组件,每个都需要单独上传获取文件(JS File类型),不需要action上传到指定url,自定义上传动作和http操作。而且因为不确定组件数量&#xff0…

SpringMVC-.xml的配置

文章目录 一、对pom.xml的配置二、对web.xml1.第一种方式2. 第二种方式 三、对SpringMVC.xml的配置 一、对pom.xml的配置 <!-- 打包成war包--><packaging>war</packaging> <dependencies><!-- SpringMVC--><dependency><gro…

Shiro框架:Shiro用户访问控制鉴权流程-Aop注解方式源码解析

目录 1.Spring Aop嵌入点解析 2.Shiro框架Aop切面逻辑解析 2.1 通过注解实现切点 2.2 通过增强逻辑执行校验过程 2.2.1 增强实现类AopAllianceAnnotationsAuthorizingMethodInterceptor 2.2.1.1 类图解析 2.2.1.2 实现增强方法 2.2.1.3 Shiro校验逻辑实现 2.2.1.3.1 …

代码随想录27期|Python|Day33|贪心算法|1005.K次取反后最大化的数组和|134. 加油站|135. 分发糖果

1005. K 次取反后最大化的数组和 思路比较简单&#xff0c;把所有的负数绝对值大的全部取反之后再在新的数组里把绝对值最小的重复取反即可。 class Solution(object):def largestSumAfterKNegations(self, nums, k):""":type nums: List[int]:type k: int:rt…

VS里那些实用的调试(debug)技巧

前言——————希望现在在努力的各位都能感动以后享受成功的自己&#xff01; 首先我们要来了解什么是bug——————bug本意是“昆虫”或“虫子”&#xff0c;现在⼀般是指在电脑系统或程序中&#xff0c;隐藏着的⼀些未被发现的缺陷或 问题&#xff0c;简称程序漏洞。 “…

Java导出Excel并合并单元格

需求&#xff1a;需要在导出excel时合并指定的单元格 ruoyi excel 项目基于若伊框架二次开发&#xff0c;本着能用现成的就不自己写的原则&#xff0c;先是尝试了Excel注解中needMerge属性 /*** 是否需要纵向合并单元格,应对需求:含有list集合单元格)*/public boolean needMer…

11 - PXC集群|MySQL存储引擎

PXC集群&#xff5c;MySQL存储引擎 数据库系列文章PXC集群配置集群测试集群 MySQL存储引擎存储引擎介绍mysql服务体系结构mysql服务的工作过程处理查询访问的工作过程处理存储insert访问的工作过程 什么是搜索引擎 存储引擎管理查看存储引擎修改存储引擎 存储引擎特点myisam存储…

20240119-子数组最小值之和

题目要求 给定一个整数数组 arr&#xff0c;求 min(b) 的总和&#xff0c;其中 b 的范围涵盖 arr 的每个&#xff08;连续&#xff09;子数组。由于答案可能很大&#xff0c;因此返回答案模数 Example 1: Input: arr [3,1,2,4] Output: 17 Explanation: Subarrays are [3]…

【排序算法】五、冒泡排序(C/C++)

「前言」文章内容是排序算法之冒泡排序的讲解。&#xff08;所有文章已经分类好&#xff0c;放心食用&#xff09; 「归属专栏」排序算法 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 冒泡排序1.1 原理1.2 代码实现&#xff08;C/C&#xff09;1.3 特性总结 冒泡排序 1.1…

基于Springboot的民宿在线预定平台(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的民宿在线预定平台(有报告)。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring…

SAI实例研究

实现目标 接到特定任务后&#xff0c;召唤生物攻击当前角色 例子 creature.id 15402&#xff08;即 smart_script.entryorguid&#xff09;共分为0和1两个事件阶段 第0阶段&#xff1a;第1条(id 0&#xff09;&#xff0c;第2条(id 1&#xff09;&#xff0c;第3条(id 2…

基于YOLOv8的目标识别、计数、电子围栏的项目开发过程

0 前言 用于生产环境中物体检测、识别、跟踪&#xff0c;人、车流量统计&#xff0c;越界安全识别 1 YOLOv8概述 YOLOv8 是Ultralytics的YOLO的最新版本。作为一种前沿、最先进(SOTA)的模型&#xff0c;YOLOv8在之前版本的成功基础上引入了新功能和改进&#xff0c;以提高性…

构建STM32MP133的Buildroot环境

意法半导体ST在坚持用 Yocto构建他们的OpenSTLinux MP1系列MCU&#xff0c;编译费劲&#xff0c;而且我们的应用不需要Yocto的环境&#xff0c;所以基于Buildroot的最小Linux系统更适合我们。 STM32MP133微处理器基于单Arm Cortex-A7内核&#xff0c;运行频率可达1 GHz&#x…

PACS医学影像采集传输与存储管理、影像诊断查询与报告管理系统,MPR多平面重建

按照国际标准IHE规范&#xff0c;以高性能服务器、网络及存储设备构成硬件支持平台&#xff0c;以大型关系型数据库作为数据和图像的存储管理工具&#xff0c;以医疗影像的采集、传输、存储和诊断为核心&#xff0c;集影像采集传输与存储管理、影像诊断查询与报告管理、综合信息…

使用JFLASH实现文件程序自动化合并及下载功能

主要总结下使用 SEGGER 工具集的 JFLASH 软件实现hex/bin文件合并以及程序的自动下载使用方法。 起因是最近使用到LVGL字库文件的制作&#xff0c;每次都要将分散的bin文件按既定分配的偏移作合并处理&#xff0c;刚开始使用的是二进制文件合并工具,文件少的时候还行&#xff…

C#使用DateTime.Now静态属性动态获得系统当前日期和时间

目录 一、实例 1.源码 2.生成效果 二、相关知识点 1.Thread类 &#xff08;1&#xff09;Thread.Sleep()方法 &#xff08;2&#xff09;Thread(ThreadStart) &#xff08;3&#xff09;IsBackground &#xff08;4&#xff09;Invoke( &#xff09; 2.CreateGrap…

【c++函数重载】

文章目录 一. 命名空间二 .全缺省参数和半缺省参数三 . 函数重载 一. 命名空间 1.不指定域&#xff1a;先在局部找&#xff0c;再全局。 2. 指定域&#xff1a;到指定的命名空间去找。 3. 当把指定命名空间放开时&#xff0c;即using namespace std&#xff1b;例如放开标准c库…

分布式 session

分布式 session 种 session 的时候需要注意范围&#xff0c;也就是 cookie.domain。 比如两个域名&#xff1a;a.heo.com&#xff0c;b.heo.com。如果要共享 cookie&#xff0c;可以种一个更高层的公共域名&#xff0c;比如 heo.com。 当服务器 A &#xff08;localhost:808…

大数据平台的硬件规划、网络调优、架构设计、节点规划

1.大数据平台硬件选型 要对Hadoop大数据平台进行硬件选型,首先需要了解Hadoop的运行架构以及每个角色的功能。在一个典型的Hadoop架构中,通常有5个角色,分别是NameNode、Standby NameNode、ResourceManager、NodeManager、DataNode以及外围机。 其中 NameNode 负责协调集群…