서버 팜에서 작업을 동기화하는 잘 알려진 최상의 방법이 있습니까? 예를 들어 서버 팜에서 실행중인 포럼 기반 웹 사이트가 있고 데이터베이스의 여러 테이블에 쓰기 작업이 필요한 두 명의 중재자가 있으며 해당 중재자의 요청이 서버의 다른 서버에서 처리되고있는 경우 팜에서는 같은 항목에 대해 동시에 작업을 수행 할 수 없도록 잠금 기능을 구현할 수 있습니까?서버 팜에서 잠금을 구현하는 방법은 무엇입니까?
지금까지 데이터베이스의 테이블을 동기화하여 사용하려고 생각했습니다. 표에있는 항목의 ID를 확인한 후 삽입하십시오. 그렇지 않으면 리턴하십시오. 또한 아마도 공유 캐시가이 용도로 사용될 수 있지만 지금은 사용하지 않을 것입니다.
다른 방법이 있습니까?
그건 그렇고, MySQL을 데이터베이스 백엔드로 사용하고 있습니다.
동시에 데이터베이스 서버에 액세스하려고하는 요청이 여러 개 있습니다. 다른 서버에 있다고해서 실제로 많이 바뀌지는 않습니다. – jfclavette
좋아요,하지만 동시에 여러 레코드에 영향을 주므로 첫 번째 요청이 아직 실행 중일 때 다른 레코드가 동일한 레코드에 영향을 미치기를 원하지 않습니다.간단히 말해서 C#에서는 lock 키워드와 같은 것을 원하지만 분산 된 방식으로 작업하기를 원합니다. –