이 페이지에서는 외부 시스템 통합 시 Journey Optimizer에서 제공하는 다양한 보호 기능과 모범 사례, 즉 최대 가용량 API를 사용하여 외부 시스템 보호를 최적화하는 방법, 여정 시간 제한을 구성하는 방법 및 다시 시도 작동 방식을 제공합니다.
Journey Optimizer에서는 사용자 지정 데이터 소스 및 사용자 지정 작업을 통해 외부 시스템에 대한 연결을 구성할 수 있습니다. 예를 들어 외부 예약 시스템에서 가져온 데이터로 여정을 보강하거나 Epsilon 또는 Facebook과 같은 서드파티 시스템을 사용하여 메시지를 보낼 수 있습니다.
외부 시스템을 통합할 때 몇 가지 문제가 발생하거나 시스템이 느려지거나 응답을 중지하거나 큰 볼륨을 처리하지 못할 수 있습니다. Journey Optimizer은 과부하로부터 시스템을 보호하기 위해 몇 가지 보호 기능을 제공합니다.
모든 외부 시스템은 성능 면에서 다릅니다. 사용 사례에 맞게 구성을 조정해야 합니다.
Journey Optimizer이 외부 API 호출을 실행하면 다음과 같이 기술 가드레일이 실행됩니다.
최대 가용량 또는 조절 규칙이 적용됩니다. 최대 비율에 도달하면 나머지 호출은 삭제되거나 대기됩니다.
시간 제한 및 다시 시도: 제한 또는 제한 규칙이 이행되면 Journey Optimizer은 시간 제한 기간의 끝에 도달할 때까지 호출을 수행하려고 시도합니다.
데이터 소스나 작업을 구성할 때는 여정에서 사용할 추가 정보를 검색하거나 메시지 또는 API 호출을 보내기 위해 특정 시스템에 대한 연결을 설정하게 됩니다.
여정 API는 이벤트를 초당 최대 5,000개까지 지원하지만, 일부 외부 시스템이나 API의 처리량은 이 수준이 아닐 수 있습니다. 이러한 시스템을 오버로드할 수 없도록 캡핑 및 조절 초당 전송되는 이벤트 수를 제한하는 API입니다.
여정이 API를 호출할 때마다 호출은 API 엔진을 통과합니다. API에 설정된 제한에 도달하면 최대 가용량 API를 사용하는 경우 호출이 거부되거나, 조절 API를 사용하는 경우 최대 6시간 동안 대기하고 수신된 순서대로 가능한 한 빨리 처리됩니다.
예를 들어 외부 시스템을 초당 최대 100회까지 호출할 수 있도록 한도 설정이나 스로틀링 규칙을 정의했다고 가정해 보겠습니다. 서로 다른 여정 10개에서 사용자 정의 작업이 이 시스템을 호출합니다. 한 여정에서 초당 200회의 호출을 수신하는 경우 이 여정은 지금 사용할 수 있는 100회의 호출 처리 슬롯을 사용하고 나머지 100회는 무시하거나 큐로 보냅니다. 최대 처리량을 초과했으므로 다른 9개의 여정에는 호출을 처리할 슬롯이 남아 있지 않습니다. 이런 단위 설정을 통해 외부 시스템을 과부하 및 충돌으로부터 보호할 수 있습니다.
한도 설정 규칙은 샌드박스 수준에서 특정 엔드포인트(호출 대상 URL)에 대해 구성되지만 해당 샌드박스의 모든 여정에 적용됩니다. 캡핑은 데이터 소스와 사용자 지정 작업 모두에서 사용할 수 있습니다.
스로틀링 규칙은 프로덕션 샌드박스에서만 특정 엔드포인트에 대해 구성되지만 모든 샌드박스의 모든 여정에 적용됩니다. 스로틀링 구성은 한 조직에 하나씩만 가질 수 있습니다. 조절은 사용자 지정 작업에서만 사용할 수 있습니다.
API 작업 방법에 대한 자세한 내용은 다음 섹션을 참조하십시오.
API에 대한 자세한 설명은에서 확인할 수 있습니다. Adobe Journey Optimizer API 설명서
외부 데이터 소스에 대한 초당 최대 호출 수는 15회로 제한됩니다. 이 제한을 넘기면 사용하는 API에 따라 초과 호출을 삭제하거나 큐에 추가합니다. 비공개 외부 데이터 소스의 경우 Adobe에 문의하여 허용 목록에 엔드포인트를 추가함으로써 이 제한을 늘릴 수 있지만, 공개 외부 데이터 소스에 대해서는 불가능합니다. * 데이터 소스를 구성하는 방법을 알아봅니다.
데이터 소스에서 해당 데이터 소스에 사용한 것과 다른 엔드포인트를 사용하는 사용자 정의 인증을 사용하는 경우에는 Adobe 문의를 통해 해당 엔드포인트도 허용 목록에 추가해야 합니다.
사용자 정의 작업을 구성할 때는 외부 API의 용량을 예상해야 합니다. 예를 들어 Journey Optimizer가 초당 1000개의 호출을 보내는데 시스템은 초당 100개의 호출만 지원할 수 있는 경우 시스템이 포화되지 않도록 한도 설정이나 스로틀링 구성을 정의해야 합니다. 작업을 구성하는 방법 알아보기
최대 가용량 또는 제한 규칙이 충족되면 시간 초과 규칙이 적용됩니다.
각 여정에서 시간 제한 기간을 정의할 수 있습니다. 이렇게 하면 외부 시스템을 호출할 때 최대 기간을 설정할 수 있습니다. 시간 제한 기간은 여정 속성에 구성됩니다. 이 페이지를 참조하십시오.
이 시간 제한은 모든 외부 호출(사용자 지정 작업 및 사용자 지정 데이터 소스의 외부 API 호출)에 적용됩니다. 기본적으로 30초로 설정되어 있습니다.
정의된 시간 제한 기간 동안 Journey Optimizer은 외부 시스템을 호출하려고 합니다. 첫 번째 호출 후 시간 초과 기간 끝에 도달할 때까지 최대 3회의 재시도를 수행할 수 있습니다. 재시도 횟수는 변경할 수 없습니다.
각 재시도에서는 하나의 슬롯을 사용합니다. 초당 호출 수가 100개이고 각 호출에 두 번의 재시도가 필요한 경우, 속도는 초당 호출 수 30개로 떨어집니다(각 호출에는 첫 번째 호출과 두 번의 재시도, 이렇게 3개의 슬롯이 사용됨).
시간 제한 기간 값은 사용 사례에 따라 다릅니다. 예를 들어 클라이언트가 스토어에 들어올 때 메시지를 빠르게 보내려는 경우 긴 시간 제한을 설정하지 않으려고 합니다. 또한 시간 제한이 길수록 더 많은 항목이 큐에 배치됩니다. 이 경우 성능에 큰 영향을 줄 수 있습니다. Journey Optimizer이 초당 1,000번의 호출을 수행하는 경우 5초 또는 15초의 데이터를 유지하면 시스템이 빠르게 압도될 수 있습니다.
5초의 시간 제한에 대한 예를 살펴보겠습니다.
캡핑 또는 조절 규칙을 구성하려면 어떻게 해야 합니까? 기본 규칙이 있습니까?
기본적으로 제한 또는 제한 규칙이 없습니다. 규칙은 제한 또는 제한 API를 사용하여 특정 끝점(URL 호출됨)에 대한 샌드박스 수준에서 정의됩니다. 이 섹션을 참조하십시오.
몇 번이나 다시 시도합니까? 재시도 횟수를 변경하거나 재시도 사이의 최소 대기 기간을 정의할 수 있습니까?
주어진 호출의 경우 첫 번째 호출 후 시간 초과 기간 종료에 도달할 때까지 최대 3회의 재시도를 수행할 수 있습니다. 다시 시도 횟수와 각 다시 시도 사이의 시간은 변경할 수 없습니다. 이 섹션을 참조하십시오.
시간 초과는 어디에서 구성할 수 있습니까? 최대값이 있습니까?
각 여정에서 시간 제한 기간을 정의할 수 있습니다. 시간 제한 기간은 여정 속성에 구성됩니다. 시간 제한 기간은 1초에서 30초 사이여야 합니다. 을(를) 참조하십시오 이 섹션 및 이 페이지.