日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

采集客戶端數據的高可用方案

本文介紹日志服務從客戶端采集數據的兩個高可用方案,包括雙寫方案和數據加工復制+寫入切換方案。

背景

在單集群環境下,日志服務存儲采用三副本機制來保證數據的可靠性,即每份數據都有3個副本,副本按照一定的分布式存儲算法保存在集群的不同機器中。通過該機制,存儲系統確保3個數據副本分布在不同服務器的不同物理磁盤上,單個硬件設備的故障不會造成數據丟失,同時確保3個數據副本之間的數據強一致性。因此對于單硬件設備故障風險,日志服務天然具備了高可用性特征。

但是在一些相對極端的場景下,單集群可能由于一些預期外原因存在故障停服風險。針對該單集群故障風險,日志服務提供兩種異地多活的客戶端數據采集方案。

方案比較

對比項

方案1:雙寫

方案2:數據加工復制+寫入切換

部署復雜度

需要額外部署數據加工、切換寫入。

客戶端資源占用

方案1是方案2的2倍

數據一致性

較強

切換時可能出現一定比例的數據重復或丟失。

網絡建議

由于Logtail從客戶端上采集數據對網絡要求較高,針對跨地域傳輸場景,推薦通過專線進行傳輸。

方案1:雙寫

雙寫是指將客戶端上的數據同時實時寫入2個不同地域的日志服務Logstore中。

由于數據實時寫入2個不同地域的Logstore A和Logstore B,正常情況下Logstore A和LogstoreB的數據均實時可用。當Logstore A發生故障時,Logstore B的數據仍然實時可用。當Logstore B發生故障時,Logstore A的數據仍然實時可用。

操作步驟:

  1. 在日志服務控制臺上,創建Project和Logstore。

    1. 創建A地域的Project A和Logstore A。

    2. 創建B地域的Project B和Logstore B。

  2. 在客戶端所在的服務器上,設置Logtail的logtail_config.json文件,支持雙地域寫入。

    例如A地域為華東2(上海),B地域為華北2(北京),則新增config_server_address_list配置項,將華北2(北京)的域名作為第二個地址,其他保持不變。

    {
        ...
        "config_server_address":"logtail.cn-shanghai-intranet.log.aliyuncs.com",
        "config_server_address_list": [
            "cn-shanghai-intranet.log.aliyuncs.com",
            "cn-beijing-intranet.log.aliyuncs.com"
        ],
        "data_server_list": [
            {
                "cluster": "cn-shanghai",
                "endpoint":"cn-shanghai-intranet.log.aliyuncs.com"
            },
            {
                "cluster": "cn-beijing",
                "endpoint":"cn-beijing-intranet.log.aliyuncs.com"
            }
        ],
        "cpu_usage_limit": 2.0,
        ...
    }
  3. 在日志服務控制臺上,創建Logtail配置。

    重要
    • 您需要在Logtail啟動參數中設置"accept_multi_config": true或在創建Logtail配置時,在擴展配置中添加{"force_multiconfig": true},使得文件中的日志可被采集多份。具體操作,請參見如何實現文件中的日志被采集多份

    • 后續進行修改Logtail配置時,需同時操作2個Project,保持配置一致。

    1. 在Project A的Logstore A中,創建Logtail配置。

    2. 在Project B的Logstore B中,創建Logtail配置。

方案2:數據加工復制+寫入切換

數據加工復制+寫入切換是指將客戶端上的數據采集到一個地域的Logstore A中,同時使用數據加工功能將數據實時復制到另一個地域的Logstore B中。當Logstore A出現異常時,您需要切換寫入,將客戶端上數據實時采集到Logstore B。

由于Logstore A的數據通過數據加工實時寫入Logstore B,正常情況下Logstore A和B的數據均實時可用。當Logstore A出現故障時,您需要將數據采集及時切換到Logstore B上,使Logstore B的數據實時可用。當Logstore B故障時,Logstore A的數據仍然實時可用。

操作步驟:

  1. 在日志服務控制臺上,創建Project和Logstore。

    1. 創建A地域的Project A和Logstore A。

    2. 創建B地域的Project B和Logstore B。

  2. 在客戶端所在的服務器上,設置Logtail的logtail_config.json文件,支持雙地域寫入。

    例如A地域為華東2(上海),B地域為華北2(北京),則新增config_server_address_list配置項,將華北2(北京)的域名作為第二個地址,其他保持不變。

    {
        ...
        "config_server_address":"logtail.cn-shanghai-intranet.log.aliyuncs.com",
        "config_server_address_list": [
            "cn-shanghai-intranet.log.aliyuncs.com",
            "cn-beijing-intranet.log.aliyuncs.com"
        ],
        "data_server_list": [
            {
                "cluster": "cn-shanghai",
                "endpoint":"cn-shanghai-intranet.log.aliyuncs.com"
            },
            {
                "cluster": "cn-beijing",
                "endpoint":"cn-beijing-intranet.log.aliyuncs.com"
            }
        ],
        "cpu_usage_limit": 2.0,
        ...
    }
  3. 在日志服務控制臺上,在Project A的Logstore A中,創建Logtail配置。

    重要

    您需要在Logtail啟動參數中設置"accept_multi_config": true或在創建Logtail配置時,在擴展配置中添加{"force_multiconfig": true},使得文件中的日志可被采集多份。具體操作,請參見如何實現文件中的日志被采集多份。

  4. 通過Terraform或者API備份Project A中的Logtail配置,并改寫為Project B的Logtail配置,以便異常時應用。

  5. 創建數據加工任務實時同步Logstore數據。具體操作,請參見復制Logstore數據跨地域傳輸數據

  6. 當Logstore A發生異常時,將步驟4中備份的Logtail配置導入到Logstore B中。