当前位置: 首页 > news >正文

网站建设选超速云建站黄页88成立时间

网站建设选超速云建站,黄页88成立时间,山东淄博网站建设的公司,wordpress 语种顺序案例:AWS 上 Elasticsearch 对接 NLB / ALB1.配置协调节点2.创建 NLB 或 ALB3.客户端访问4.工作流程5.关键点总结6.拓展:NLB & ALB 介绍6.1 核心概念对比6.2 在 Elasticsearch 架构中的作用▶ NLB 典型工作流▶ ALB 典型工作流6.3 为什么 Elasticsea…

案例:AWS 上 Elasticsearch 对接 NLB / ALB

  • 1.配置协调节点
  • 2.创建 NLB 或 ALB
  • 3.客户端访问
  • 4.工作流程
  • 5.关键点总结
  • 6.拓展:NLB & ALB 介绍
    • 6.1 核心概念对比
    • 6.2 在 Elasticsearch 架构中的作用
      • ▶ NLB 典型工作流
      • ▶ ALB 典型工作流
    • 6.3 为什么 Elasticsearch 更常用 NLB ?
    • 6.4 技术参数详解(以 AWS 为例)
      • 6.4.1 NLB 关键配置
      • 6.4.2 ALB 关键配置
    • 6.5 多云平台等效服务
    • 6.6 实战选择建议

场景: 在 AWS VPC 中自管理一个 Elasticsearch 8.x 集群。有 3 个专用主节点(私有子网),5 个数据节点(私有子网),3 个专用协调节点(可放在公有子网或私有子网,通过 NLB / ALB 暴露)。客户端是部署在另一个 VPC 或公网的应用程序。

🚀 NLBNetwork Load Balancer)和 ALBApplication Load Balancer)是 AWS(亚马逊云)提供的两种负载均衡器,用于在多个计算资源(如 EC2 实例)之间分配流量。它们在 Elasticsearch 集群架构中扮演流量入口和分发枢纽的关键角色。

1.配置协调节点

  • 启动 3 个 EC2 实例(或使用 Auto Scaling Group 确保最小数量)。
  • elasticsearch.yml 配置:
    cluster.name: my-production-cluster
    node.name: ${HOSTNAME}
    network.host: 0.0.0.0 # 或绑定具体私网IP
    http.port: 9200
    discovery.seed_hosts: ["master-node-1-ip", "master-node-2-ip", "master-node-3-ip"] # 指向主节点
    cluster.initial_master_nodes: ["master-node-1-name", "master-node-2-name", "master-node-3-name"] # 首次启动需要
    node.roles: [ ]  # ES 7.8+ 空角色表示只做协调节点 (coordinating only)
    # 或者显式配置 (效果相同)
    # node.roles: [ remote_cluster_client, coordinator ]
    xpack.security.enabled: true # 启用安全
    # 配置用户/密码或 TLS 证书等
    
  • 确保安全组允许协调节点:
    • 入站:来自 ELB 安全组的 TCP 9200(或 ALB 使用的端口)。
    • 入站:来自其他 ES 节点(主、数据、协调)的 TCP 9300(内部节点间通信端口)。
    • 出站:访问其他 ES 节点的 TCP 9300,访问 KMS(如果加密)等所需端口。
  • 确保协调节点能访问主节点(通过安全组和网络路由)。

2.创建 NLB 或 ALB

  • 选择 NLB(Layer 4 TCP):
    • 优点:性能高,延迟低,保持源 IP(对 ES 审计或基于 IP 的安全有用),支持静态 IP / 弹性 IP。非常适合纯粹的 API 负载均衡。更常用。
    • 缺点:不能做高级 HTTP 路由/基于路径的路由(ES 通常不需要)。
  • 选择 ALB(Layer 7 HTTP / HTTPS):
    • 优点:可以处理 HTTPS 终止、基于路径的路由(如果同一个集群暴露多个 HTTP 服务)、高级健康检查(基于 HTTP 状态码)。
    • 缺点:性能略低于 NLB,修改 HTTP Headers(会丢失原始客户端 IP,除非配置 X-Forwarded-For,但 ES 需要额外配置才能记录真实 IP),通常按请求 / LCU 收费。
  • 创建步骤(以 NLB 为例):
    • 选择 Network Load Balancer
    • 配置监听器TCP:9200 (或自定义端口)。
    • 配置目标组(Target Group):
      • 协议:TCP,端口:9200
      • 目标类型:Instance
      • 将 3 个协调节点的 EC2 实例注册到该目标组。
    • 健康检查配置(⭐ 极其重要):
      • 协议:TCP(简单检查端口连通性) 或 HTTP(推荐,更准确)。
      • 如果使用 HTTP
        • 健康检查路径:/_cluster/health?local=true/_cluster/health?level=cluster(后者检查全局状态,可能过重)。
        • 健康检查端口:traffic port(即 9200)。
        • 成功响应码:200
        • 关键:设置 ?local=true 避免 NLB 健康检查请求被转发到其他节点,导致健康检查失败误判。local=true 只检查接收请求的协调节点本地的状态。
    • 配置安全组:允许客户端访问 NLB 的监听器端口(TCP 9200)。

3.客户端访问

  • 客户端应用程序不再连接任何具体的 ES 节点 IP。
  • 客户端配置其 Elasticsearch 客户端库的连接地址为:http(s)://<nlb-dns-name>:9200 (或 ALB 的地址)。
  • 客户端配置认证信息(用户名/密码、API Key、TLS 证书等)。

4.工作流程

  • 客户端发起请求到 my-es-nlb-12345.elb.us-west-2.amazonaws.com:9200
  • AWS NLB 根据配置的负载均衡策略(如轮询)选择目标组中的一个协调节点(例如 coord-node-2)。
  • NLB 将 TCP 连接/请求转发到 coord-node-2:9200
  • coord-node-2 接收到请求:
    • 进行认证授权(如果启用安全)。
    • 解析请求(例如一个搜索请求)。
    • 确定需要查询哪些索引的哪些分片(主分片或副本分片)。
    • 将子查询并行发送到持有这些分片的数据节点(data-node-1data-node-3,…)的 9300 端口(Transport 协议)。
    • 等待数据节点返回结果。
    • 聚合、排序、处理来自各个数据节点的结果。
    • 将最终结果返回给 NLB。
  • NLB 将结果返回给客户端。
  • 如果 coord-node-2 因健康检查失败被 NLB 标记为不健康,NLB 后续请求将自动路由到健康的 coord-node-1coord-node-3

5.关键点总结

  • ELB 是入口:提供稳定、高可用的访问点,负载均衡,故障转移。
  • 协调节点是工作者:专门负责处理客户端请求的协调工作。ELB 只对接协调节点。
  • 数据节点专注数据:只通过 9300 端口接收来自协调节点(或其他节点)的内部请求,处理实际的分片操作。
  • 主节点专注管理:几乎不参与数据路径,只处理集群状态、索引管理、节点发现等控制面操作。绝对不要暴露给客户端或 ELB。

这种架构清晰分离了关注点,显著提升了 Elasticsearch 集群在公有云上的可用性、可扩展性、性能和可运维性。

6.拓展:NLB & ALB 介绍

6.1 核心概念对比

特性NLB(网络负载均衡器)ALB(应用负载均衡器)
OSI 层444 层(传输层 - TCP/UDP)777 层(应用层 - HTTP/HTTPS)
协议支持TCP,UDP,TLSHTTP,HTTPS,HTTP/2,WebSocket
性能⭐⭐⭐⭐ 超高性能(处理数百万请求/秒)⭐⭐⭐ 高性能(适合HTTP应用)
延迟超低延迟(微秒级)较低延迟(毫秒级)
源 IP 保留✅ 保留原始客户端 IP❌ 默认不保留(需通过 X-Forwarded-For 获取)
静态 IP✅ 支持弹性 IP❌ 仅提供 DNS 域名
适用场景非 HTTP 协议、高性能需求、源 IP 敏感型应用HTTP/HTTPS 应用、基于路径/主机的路由

6.2 在 Elasticsearch 架构中的作用

▶ NLB 典型工作流

TCP:9200
透传TCP流量
保留客户端 IP
Client
NLB
协调节点
ES集群
  • 优势
    • 零协议解析,直接转发原始 TCP 数据包
    • 保留客户端 IP → 便于 Elasticsearch 审计日志分析
    • 支持长连接(Keep-Alive)→ 适合 ES 的持久 HTTP 连接

▶ ALB 典型工作流

HTTPS:443
HTTP:9200
添加 X-Forwarded-For 头
Client
ALB
协调节点
ES集群
  • 优势
    • SSL/TLS 终止 → 减轻 ES 节点证书管理负担
    • 基于路径的路由(例:/es/* 转发到 ES,/kibana/* 转发到Kibana)

6.3 为什么 Elasticsearch 更常用 NLB ?

需求NLB 方案ALB 方案
客户端真实 IP 记录✅ 原生支持❌ 需解析 HTTP 头
非 HTTP 协议支持✅ 原生支持 Transport 协议❌ 仅限 HTTP
超高性能搜索请求✅ 100万+ QPS⚠️ 受 HTTP 解析限制
长连接优化✅ 无损透传⚠️ 可能重建连接
成本按流量/小时计费按 LCU(请求数+流量)计费

📌 结论

  • 90% 的 ES 生产集群选择 NLB:因 TCP 透传、源 IP 保留、高性能优势
  • 特殊场景用 ALB:需统一 HTTPS 入口或多服务路由时(如同时暴露 ES 和 Kibana)

6.4 技术参数详解(以 AWS 为例)

6.4.1 NLB 关键配置

类型: Network Load Balancer
协议: TCP
端口: 9200
目标组: 协议: TCP 端口: 9200目标: [协调节点IP列表]
健康检查: 协议: HTTP路径: /_cluster/health?local=true端口: 9200

6.4.2 ALB 关键配置

类型: Application Load Balancer
协议: HTTPS (SSL证书绑定)
监听规则:- 条件: 路径 = /es/*动作: 转发至目标组-es- 条件: 路径 = /kibana/*动作: 转发至目标组-kibana
目标组-es: 协议: HTTP端口: 9200
健康检查: 协议: HTTP路径: /_cluster/health

6.5 多云平台等效服务

云平台NLB 等效服务ALB 等效服务
AWSNetwork Load BalancerApplication Load Balancer
AzureLoad Balancer(Standard)Application Gateway
GCPTCP Proxy Load BalancingHTTP(S) Load Balancing
阿里云网络型 CLB应用型 ALB

6.6 实战选择建议

在这里插入图片描述

💡 经验法则

  • 纯 Elasticsearch API 访问 → 必选 NLB
  • 同时暴露 Kibana 且需单域名访问 → 用 ALB 统一入口
  • 混合云场景 → 优先使用云厂商的 4 层 LB 服务

通过正确选择 NLB / ALB,您将获得:

  • ✅ 流量自动故障转移
  • ✅ 水平扩展能力
  • ✅ DDoS基础防护
  • ✅ 精细化监控(如 AWS CloudWatch)
http://www.dtcms.com/a/456692.html

相关文章:

  • 南通做网站ntwsd开发公司总工年终总结
  • VS Code文件监视排除设置详解
  • 3D坐标旋转公式
  • 《Git 从入门到进阶》教学大纲
  • linux网络服务+linux数据库5
  • 德山经济开发区建设局网站wordpress的数据库在哪里
  • P3808 AC 自动机(简单版)
  • C++----bitmap位图的使用
  • 单链表的应用02---算法中的暴力美学(第八讲)
  • 【RAG】优化query查询效果的几种处理
  • transformer详解(位置编码+attention+残差连接+全连接网络)
  • 已注册域名怎么做网站呢免费网站免费网站平台
  • 如何解决 pip install -r requirements.txt 约束文件 constraints.txt 仅允许固定版本(未锁定报错)问题
  • 【Camera】准备的一些Camera面试题——相机预览、拍照流程(经验尚欠,待补充)
  • CICD工具选型指南,GitLab cicd vs Arbess哪一款更好用?
  • 尉Lucene.Net 分词器选择指南:盘古分词 vs 结巴分词h
  • gitlab runner 安装
  • MySQL的OR条件查询不走索引及解决方案
  • 1688 店铺商品全量采集与智能分析:从接口调用到供应链数据挖掘
  • 淘宝商品详情采集方式,json数据返回
  • 【论文精度-1】 组合优化中的机器学习:方法论之旅(Yoshua Bengio, 2021)
  • 南京维露斯网站建设微信营销软件app
  • 从帧边界识别到数据编码:嵌入式通信协议与数据序列化方案深度对比
  • Quick SwiftObjective-C测试框架入门教程
  • GRM tools三大插件使用教程
  • C62-结构体的指针
  • 腾讯云 建网站企业网站seo公司
  • Java-143 深入浅出 MongoDB NoSQL:MongoDB、Redis、HBase、Neo4j应用场景与对比
  • 线程1——javaEE 附面题
  • 吴恩达机器学习课程(PyTorch适配)学习笔记:1.4 模型评估与问题解决