全部產品
Search
文件中心

Simple Log Service:穩定性說明與使用限制

更新時間:Jun 30, 2024

本文介紹MaxCompute投遞(新版)的穩定性與使用限制。

穩定性說明

Simple Log Service

穩定項

說明

可用性

可用性較高。

如果Simple Log Service出錯,無法讀取資料,MaxCompute投遞任務會在內部至少重試10次。如果仍然失敗,任務執行會報錯,然後任務重啟。

寫MaxCompute

穩定項

說明

並發度

按照Simple Log ServiceShard進行分區並建立投遞執行個體,支援快速擴容。

如果Simple Log Service源Logstore進行Shard分裂,可以在數秒以內完成投遞執行個體的擴容,加快資料匯出速度。

資料不丟失

MaxCompute投遞任務基於消費組進行擴充,提供一致性保證。投遞完成後,才會提交offset,因此可以保證資料寫入MaxCompute之前,offset不被提交,即保證投遞資料不丟失。

Schema變更

如果投遞過程中在MaxCompute表中添加了新列,則新列只會被寫入新分區,不會被寫入舊分區以及當前分區。

處理髒資料

錯誤項

是否計入失敗條數

說明

分區錯誤

常見情境為分區不合法或分區列不存在。該條資料不會寫入MaxCompute。

資料列不合法

常見情境類型為不匹配或者類型轉換失敗。該列資料不會寫入MaxCompute,其餘列正常寫入MaxCompute。

資料列過長

常見情境為資料超出string類型或者varchar長度限制。該列資料經過截斷後寫入MaxCompute,其餘列正常寫入MaxCompute。

監控警示

穩定項

說明

監控警示

資料投遞有完善的監控,可即時追蹤投遞任務的延遲、流量等指標。您可以根據業務需求,配置自訂警示,及時發現投遞問題(例如匯出執行個體不足、網路Quota限制等)。具體操作,請參見為MaxCompute投遞任務(新版)設定警示

重啟任務

穩定項

說明

分區數過多

任務重啟時,因為分區數過多(5分鐘仍未完成寫入),可能導致資料重複。

資料寫入失敗

任務重啟且資料寫入MaxCompute失敗(授權錯誤、網路錯誤)時,可能導致資料部分重複。

使用限制

網路

限制項

說明

同地區投遞的網路

同地區投遞時,資料通過阿里雲內網傳輸,因此網路穩定性和速度更有保障。

讀流量

限制項

說明

讀流量

單個Project以及單個Shard存在最高流量限制。更多資訊,請參見資料讀寫

如果超過最高流量限制,請分裂Shard或者申請擴容Project讀流量限制。超過限制,會導致MaxCompute投遞任務讀取資料失敗,並在內部至少重試10次,如果仍然失敗,任務執行會報錯,然後任務重啟。

寫MaxCompute

限制項

說明

並發執行個體

支援最大的匯出並發執行個體為64。

如果Simple Log ServiceShard數量超過64,則會合并多個Shard到一個執行個體中進行匯出處理,並且盡量保證每個執行個體中的Shard數相同。

寫入閾值

  • MaxCompute單分區寫入上限為10 MB/s。

  • 各個地區的MaxCompute單專案寫入上限略不相同。例如華東1(杭州)的上限為1MB/s×300=300 MB/s。公式說明如下:

重要

超過MaxCompute寫入限制,寫資料到MaxCompute會不穩定,且會觸發MaxCompute側的流控,導致FlowExceeded或者SlotExceed錯誤,請聯絡MaxCompute值班人員解決。

禁止修改資料

MaxCompute投遞(新版)使用了MaxCompute流式寫入。在流式寫入資料到MaxCompute期間,MaxCompute流式資料通道服務會禁止寫入的表有更新、刪除、插入等資料修改操作。

由于禁止修改資料的限制,MaxCompute投遞(新版)和MaxCompute投遞(舊版)不能同時向同一張MaxCompute表寫資料。

不支援寫入特殊表

不支援寫資料到MaxCompute的External表、Transactional表和Clustered表。

表Schema變更

如果您的MaxCompute表Schema有變更,您需要先暫停MaxCompute投遞20分鐘,再重新啟動,使表Schema變更生效。

許可權管理

限制項

說明

寫授權

MaxCompute寫授權支援RAM使用者以及RAM角色兩種方式,並且需要在MaxCompute側進行單獨操作。

資料類型

  • 普通列

    類型

    樣本

    說明

    string

    "hello"

    最大長度為8 MB。

    datetime

    "2021-12-22 05:00:00"

    Simple Log Service中的資料需滿足MaxCompute的資料格式要求。

    date

    "2021-12-22"

    Simple Log Service中的資料需滿足MaxCompute的資料格式要求。

    timestamp

    1648544867

    毫秒級或秒級精度。

    decimal

    1.2

    Simple Log Service中的資料需滿足MaxCompute的資料格式要求。

    char

    "hello"

    最大長度為255位元組。

    varchar

    "hello"

    最大長度為65535位元組。

    binary

    "hello"

    最大長度為8 MB。

    bigint

    123

    最大支援int64。

    boolean

    1

    • 1 、t、T、true、TRUE、True解析為True。

    • 0、f、F、false、FALSE、False解析為False。

    double

    1.2

    最大支援64位浮點數。

    float

    1.2

    最大支援32位浮點數。

    integer

    123

    最大支援int32。

    smallint

    12

    最大支援int16。

    tinyint

    12

    最大支援int8。

  • 分區列

    限制項

    說明

    分區列

    按照字串處理,需要滿足MaxCompute分區列的格式要求。

管理投遞

限制項

說明

暫停投遞任務

投遞任務會記錄上次投遞的日誌Cursor,恢複運行時從屬記錄的Cursor開始繼續投遞。因此暫停投遞任務時存在如下機制。

  • 暫停任務一段時間且沒有超過資料的儲存時間,則再運行任務時,系統從上次暫停位置繼續開始投遞,不會遺失資料。

  • 暫停任務一段時間但超過了資料的儲存時間,則再運行任務時,系統從離上次暫停位置最近的一條資料開始投遞。

MaxCompute IP白名單

限制項

說明

在MaxCompute專案管理中開啟白名單(例如開啟傳統網路IP白名單),可能導致MaxCompute投遞失敗

可以在MaxCompute側執行命令解決白名單導致的MaxCompute投遞失敗問題。

setproject odps.security.ip.whitelist.services=AliyunLogSLRService,AliyunLogDefaultService;
  1. 通過setproject查詢當前白名單配置。

  2. 根據已有配置,構建setproject odps.security.ip.whitelist.services;命令,在已有服務白名單後面添加AliyunLogSLRService,AliyunLogDefaultService

  3. 配置結束之後通過setproject檢查配置。