生產階段的佈局考量

Table of contents

背景

有關生產階段如何佈局的條件與疑點:

  • 我有一組 infinitiv 10G的叢聚內網、一台管理、可以對外,2台只在內網運作,這樣的架構在Druid的生產佈局中,可以怎麼規劃?
  • 外網速率是1G、內網速率是10G,這樣的架構,你會怎麼佈建?
  • 內網工作站都是20核心,拆解成獨立的工作站比較好,還是維持叢集狀態?

回答

大體佈局

在Druid的生產佈局中,你可以考慮以下規劃:

  1. Broker节点: 將Druid的Broker节点配置在管理节点上,以便对外提供查询服务。这个节点可以作为对外的接口,处理外部查询请求。

  2. Coordinator节点: 在管理节点上也配置Druid的Coordinator节点,用于管理集群中的任务调度、数据加载等工作。

  3. Historical节点: 将两台只在内网运作的机器配置为Druid的Historical节点,用于存储和提供历史数据查询。这两台机器可以处理批量查询请求。

  4. MiddleManager节点: 如果需要在集群中进行实时数据处理,可以考虑在内网机器上配置Druid的MiddleManager节点。

  5. Overlord节点: Overlord节点用于处理任务的调度和执行,你可以将其配置在管理节点上,以便对外提供任务调度服务。

  6. Router节点: 如果有多个Broker节点,可以考虑在内网配置一个Router节点,用于负载均衡和路由查询请求到不同的Broker节点。

请注意确保在配置时考虑硬件资源和网络带宽,以确保系统性能和可靠性。此外,也建议参考Druid的官方文档和最佳实践进行配置和优化。

網速的考量

考虑到外网速率为1G,而内网速率为10G,你可以采取以下架构布局:

  1. 外网访问层:
    • 将 Druid 的 Broker 节点配置在对外的管理节点上,作为外部查询的入口,利用管理节点的1G外网速率满足外部查询需求。
  2. 内网数据层:
    • 在内网两台10G速率的机器上配置 Druid 的 Historical 节点,用于存储和提供历史数据查询。这样可以充分利用内网高速率传输数据。
  3. 内网实时处理层:
    • 如果需要实时数据处理,可以在内网配置 Druid 的 MiddleManager 节点,以充分利用10G内网速率进行实时数据处理。
  4. 管理和调度层:
    • 在管理节点上配置 Druid 的 Coordinator、Overlord 节点,用于管理集群中的任务调度、数据加载等工作。
  5. 负载均衡和路由:
    • 在内网配置一个 Router 节点,用于负载均衡和路由查询请求到不同的 Broker 节点,确保请求在集群内得到均匀处理。

确保网络配置合理,适应外网和内网的速率差异,以提高系统性能和稳定性。此外,根据具体业务需求和负载情况,可以进行性能调优和监控。

10G的必要性

10G速率对Apache Druid集群可以提供一些潜在的优势,尤其在内部节点之间的通信和数据传输方面:

  1. 数据传输速率: 10G速率相较于1G速率,可以更快地传输数据。在Druid集群内部,特别是在Historical节点和其他组件之间,这可能有助于更迅速地加载、检索和处理数据。

  2. 实时数据处理: 如果在集群中有实时数据处理需求,10G速率可以提供更大的带宽,以便更高效地处理实时数据流,减少处理延迟。

  3. 节点间同步: 集群内各节点之间的同步和协作可以从更高的内部带宽中受益,有助于确保数据的一致性和集群的稳定性。

虽然10G速率对Druid集群可能有助益,但性能提升的实际效果取决于具体的工作负载和数据处理需求。在配置Druid集群时,确保适当地利用10G速率,特别是在内部节点间的通信,以达到更好的性能和效率。

拆解或維持

考虑到1G外网和10G内网的情况以及使用Apache Druid,可能更有利于拆解成独立的工作站。以下是一些考虑因素:

拆解成独立的工作站:

  • 外网查询性能: 由于外网速率为1G,如果将任务分散到独立的工作站上,可以更好地利用外网带宽,提高外部查询性能。
  • 简化管理: 拆解成独立工作站可以简化集群管理和配置,减少内部通信和同步的复杂性。
  • 灵活性: 每个工作站独立运行,有更大的灵活性,适应不同类型和优先级的任务。

在这种情况下,通过拆解成独立的工作站,可以更好地利用有限的外网带宽,提高查询性能,并简化集群管理。但请确保在拆解过程中仍然考虑负载均衡和任务调度,以确保各个工作站的资源得到充分利用。

彈性版本

提供內網節點都有外部IP的架構可以增加靈活性,尤其是在處理外部和內部通信方面。這樣的設計可能帶來以下好處:

  1. 直接外部訪問: 內網節點擁有外部IP,可以直接從外網訪問這些節點,而不需要額外的中繼或代理。這樣可簡化訪問配置,提高遠程訪問的效率。

  2. 彈性部署: 具有外部IP的內網節點可以更靈活地部署和擴展,特別是在需要快速調整架構以應對需求變化時。

  3. 遠程管理: 可以更容易地進行遠程管理和監控,減少對內部網絡的依賴。這有助於簡化系統維護和監控的任務。

  4. 外部訪問控制: 透過外部IP,你可以更靈活地控制外部節點的訪問權限和安全性,實現更細粒度的訪問控制。

請確保在實現這種設計時考慮安全性和訪問控制,以確保外部IP的使用是受控制的。同時,根據具體需求和安全政策,適應性地調整配置以達到最佳效果。