2017-12-27 47 views
1

javascript Foxx 마이크로 서비스 내에서 실행되는 트랜잭션 내에서 안전하게 액세스 할 수있는 것에 대한 제한을 설명하는 문서를 찾으려고합니다. 트랜잭션 매개 변수 배열을 통해 전달되는 것을 제외하고는 아무 것도 액세스 할 수없는 어딘가 (지금은 찾을 수 없음)를 읽었으며 트랜잭션 내에서 사용되는 모든 노드 모듈을 다시 가져와야합니다. ArangoDB 데이터베이스 개체 자체 (대신 또는 다시 가져 오기), 이러한 제한이있는 이유, 성능 관련 의미 (개체 마샬링)와 같은 트랜잭션에 안전하게 전달할 수있는 것이 궁금합니다. 단일 노드 서버에 대한 내 테스트에서 외부에서 정의 된 변수에 액세스하는 것이 효과가있는 것으로 보이므로이 제한 사항은 데이터베이스 서버/클러스터의보다 복잡한 구성과 관련이 있다고 가정합니다.ArangoDB : Foxx 서비스 내 거래 제한

감사합니다.

답변

0

는 어디 선가 읽은 당신이 거래를 통해 전달되는 제외하고 아무것도에 액세스 할 수 있습니다 (지금 그것을 찾을 수 없습니다)은 배열을 매개 변수이 UDF를 (사용자 정의 함수)에 적용

Foxx 마이크로 서비스가 아닙니다.

나는 폭스에 대한 모든주의 사항은 설명서에 있다고 생각 :

https://docs.arangodb.com/3.3/Manual/Foxx/

특히 :

  • 는 "당신이 아닌 다른 서버 측 상태 (의존해서는 안 데이터베이스 자체)을 서로 다른 요청 사이에서 공유 할 수 있습니다. 동일한 컨텍스트에서 연속 요청을 처리 할 방법이 없기 때문입니다. "

  • "JavaScript 코드가 데이터베이스 내부에서 실행되므로 ... 모든 Foxx 및 ArangoDB API는 완전히 동기식이므로 차단으로 간주되어야합니다."