모든 서버 팜 인스턴스에 대한 업데이트 트리거

모든 서버 팜 인스턴스에 대한 업데이트 트리거

당사의 웹 서버(IIS 10)는 공통 데이터베이스(SQL Server 2016)를 공유합니다. 정기적으로 데이터베이스에서 일부 데이터를 폴링합니다. 웹 서버 중 하나가 해당 데이터 변경으로 이어지는 요청을 처리하면 데이터베이스와 자체 데이터를 업데이트합니다. 그러나 다른 웹 서버 인스턴스는 이 데이터 변경을 알지 못하므로 다음 폴링까지 오래된 데이터를 유지합니다.

다른 웹 서버 인스턴스에 데이터를 즉시 업데이트하도록 어떻게 지시해야 합니까?


예:

  • 데이터베이스 테이블 tblUserRoles는 모든 사용자의 모든 역할을 저장합니다.
  • 웹 서버는 하루에 한 번씩 이 목록을 폴링합니다.
  • 관리자가 사용자의 권한을 취소하면 요청을 처리하는 웹 서버는 데이터베이스와 자체 UserRoleList를 즉시 업데이트해야 한다는 것을 알게 됩니다.
  • 그러나 다른 웹 서버는 UserRoleList를 업데이트하는 방법을 어떻게 알 수 있습니까?

가능한 해결책:

  • 내부 서비스는 모든 활성 웹 서버 인스턴스 목록을 유지 관리합니다.
  • 웹 서버[A]는 데이터 변경 요청을 처리할 때 데이터베이스를 업데이트하고 자체 데이터 목록을 업데이트하며 활성 서버 목록[BZ]을 요청합니다.
  • 웹 서버 A는 내부 URL(예: /internal/update-user-roles)을 사용하여 각 서버를 호출하여 서버 BZ에 대한 데이터 목록 업데이트를 호출합니다.
  • Server BZ는 이제 데이터베이스에서 데이터를 폴링하여 데이터를 업데이트합니다.

관련 정보