산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 사물 인터넷 기술

IIoT 시스템의 일관성을 동기화할 시간

분산 시스템 설계에서 중요한(그리고 뜨겁게 논의되는) 주제는 사용할 일관성 모델입니다. 일관성 모델은 시스템 설계의 많은 부분에 영향을 미치며, 하나를 선택하면 시스템 가용성 및 네트워크 장애에 대한 견고성과 같은 요소에 영향을 줍니다. 이 블로그는 일관성의 의미에 대해 더 잘 알고자 하는 시스템 설계자를 위한 것입니다.

먼저 이 블로그가 ACID(https://en.wikipedia.org/wiki/ACID)의 "C"에 대한 것이 아님을 분명히 합시다. ACID 일관성은 데이터 저장소에 대한 업데이트가 일련의 제약 조건에 따라 유효한지 확인합니다. 이 블로그는 분산 저장소 간에 데이터가 복제될 때 어떤 일이 발생하는지 설명하는 일관성 유형에 중점을 둡니다. ACID는 그렇습니다. 그것에 대해 무언가를 말하십시오. 그러나 그것은 "C"가 아니라 "I"(격리)입니다. 혼란스럽다? 조금이지만 참아주세요.

격리는 강력한 일관성이라고도 합니다. . 시스템이 강력한 일관성을 유지하면 분산 저장소 간의 모든 쓰기 및 읽기가 해당 시스템의 모든 응용 프로그램에 대해 동일한 순서로 실행됩니다. 이는 하나의 애플리케이션이 무언가를 작성할 때 다음을 읽는 모든 애플리케이션이 쓰기, 새 데이터를 볼 수 있도록 보장됩니다.

이것은 많은 시스템에서 매우 유용한 속성으로 판명되었습니다. 정확히 같은 시간에 구입하더라도 두 사람이 쇼핑 웹사이트에서 같은 냉장고를 주문할 수 없도록 합니다. 강력한 일관성은 전 세계적으로 동일한 작업 순서를 적용합니다. , 따라서 두 개의 구매는 항상 모든 사람이 동일한 주문으로 처리합니다. 실제로 이것은 두 번째 구매 시도에서 냉장고의 재고가 없음을 확인한다는 것을 의미합니다.

Strong Consistency(강력 일관성)는 꽤 괜찮은 것 같으면서도 모든 시스템에서 사용하지 않는 이유는 무엇입니까? CAP 정리(https://en.wikipedia.org/wiki/CAP_theorem)라는 것이 있기 때문입니다. 첫째, 간단한 참고 사항:CAP는 복잡한 분산 시스템의 동작을 설명하기가 너무 간단하기 때문에 많은 사람들에게 정당한 비판을 받았습니다. 따라서 사용할 때 주의해야 합니다. 그러나 일관성 모델을 논의하는 데 유용한 프레임워크를 제공합니다. 인터넷에는 내가 여기에서 할 수 있는 것보다 훨씬 더 나은 작업을 수행하는 많은 리소스가 있기 때문에 CAP에 대한 자세한 내용은 다루지 않겠습니다.

요약하면 CAP는 애플리케이션이 일시적으로 "대화" 기능을 상실할 때, 즉 네트워크가 다운될 때 분산 시스템에서 어떤 일이 발생하는지 알려줍니다. 시스템이 강력하게 일관된 연결 손실에 관계없이 항상 가동 시간을 보장합니다. 꽝.

복잡하게 들리지만 실제로는 매우 직관적입니다. 강력한 일관성을 유지하려면 시스템의 모든 작업에 대한 전역 순서가 필요하다는 사실을 기억하십니까? 즉, 반드시 읽어야 합니다. 모든 사람의 이전 글을 모두 봅니다. 모든 응용 프로그램이 연결되어 있지 않으면 보장할 수 없게 됩니다. 한 응용 프로그램에서 냉장고를 주문했을 수 있지만 모든 응용 프로그램이 아직 이 주문을 받지 않은 경우 새 주문을 넣을 수 없습니다. 그 결과 쇼핑 웹사이트에 다운타임이 발생합니다!

가동 중지 시간은 데이터베이스 복제 수행(더 많은 스토리지) 또는 중복 웹 서버 배포(더 많은 컴퓨팅)와 같이 문제에 더 많은 리소스를 투입하여 완화할 수 있습니다. 오늘날에는 퍼블릭 클라우드 인프라에서 수행하는 것이 거의 불가능하지만, 마이크로서비스 아키텍처와 같이 시스템에 움직이는 부품이 많은 경우 비용이 많이 들고 복잡해집니다. 시스템이 클라우드에서 실행되고 있지 않을 때 스토리지, 컴퓨팅 및 대역폭이 클라우드가 아닌 환경에서 훨씬 더 제한되기 때문에 더 많은 리소스를 추가하는 것은 결코 쉬운 일이 아닙니다.

따라서 강력한 일관성은 애플리케이션에 편리하지만 인프라(및 지갑!)에 부담을 줍니다. 이러한 문제를 해결하기 위해 영리한 사람들은 일관성에 관해서는 현학적이지 않지만 응용 프로그램 관점에서 여전히 실행 가능한 솔루션을 생각해 냈습니다. 우리가 말하는 것은 "최종 일관성"입니다. 다른 정의를 위한 시간입니다.

주어진 항목에 대한 업데이트가 없는 경우 모든 애플리케이션이 결국 동일한 값을 볼 때 시스템은 궁극적으로 일관성이 있습니다. 또는 평신도 용어로:충분히 오래 기다리면 모든 사람이 결국 동일한 데이터를 보게 됩니다. 이것은 응용 프로그램이 동시에 읽고 쓸 수 있고 네트워크가 다운된 동안에도 그렇게 할 수 있음을 의미합니다! 결국 시스템의 인프라는 애플리케이션에 대한 모든 업데이트를 제공합니다.

응용 프로그램이 서로를 기다릴 필요가 없기 때문에 응용 프로그램이 충돌하거나 정전이 발생하지 않는다면 궁극적으로 일관된 시스템의 가동 시간은 이론적으로 무한합니다. 그러나 무한대는 실용적이지 않습니다. 잠시 후 응용 프로그램이 다시 연결될 것으로 예상합니다. 따라서 최종 일관성 시스템은 일반적으로 일관성이 유지되는 데 걸리는 시간에 제한을 둡니다. 해당 제한이 만료되고 응용 프로그램이 동기화할 기회가 없으면 오류 복구가 수행됩니다.

최종 일관성 시스템의 장점은 가용성만이 아닙니다. 강력한 일관성 시스템의 경우와 같이 읽기 및 쓰기에는 동기화가 필요하지 않으므로 훨씬 빠릅니다. 동기화가 부족하면 직접적인 P2P 통신이 가능하므로 단일 실패 지점을 유발하는 중앙 집중식 메시지 브로커가 필요 없기 때문에 성능이 더욱 향상되는 동시에 견고성이 향상됩니다.

최종 일관성은 쇼핑 웹사이트에서 작동하지 않지만 장점(가용성, 성능, 견고성, 리소스 효율성)을 고려할 때 미션 크리티컬 시스템에서 많이 사용된다는 것은 놀라운 일이 아닙니다.

RTI Connext 제품군은 미션 크리티컬한 산업용 IoT 시스템에서 프로토콜로 널리 배포되는 OMG DDS 표준의 선도적인 구현입니다. OMG DDS와 다른 연결 프로토콜의 큰 차이점은 DDS가 애플리케이션 간에 지속적으로 동기화되는 분산 데이터베이스처럼 작동하는 반면, 다른 프로토콜은 일반적으로 메시지를 보내고 상태 관리를 애플리케이션에 맡기는 인터페이스를 제공한다는 것입니다.

분산 데이터베이스가 일관성을 다루어야 하는 것처럼 들린다고 생각한다면 당신이 옳습니다. RTI Connext DDS는 가장 까다로운 미션 크리티컬 환경에서 작동할 수 있도록 가용성과 성능 대 일관성의 균형을 지속적으로 유지해야 합니다. 기본적으로 RTI Connext DDS는 최종 일관성을 사용하여 이를 사용하여 구축된 애플리케이션이 네트워크 장애 시 작동을 중지하지 않고 모든 애플리케이션이 결국 "세계"에 대한 동일한 관점을 공유하도록 합니다.

이제 "일관성"처럼 추상적으로 들리는 것이 어떻게 광범위한 결과를 가져오고 초기 시스템 설계에서 중요한 주제로 다루어져야 하는지 알 수 있습니다. 불행히도 "강력한 일관성" 또는 "결국 일관성"만큼 간단하지 않습니다. 람다 아키텍처(https://en.wikipedia.org/wiki/Lambda_architecture)는 강력한 일관성과 최종 일관성을 모두 사용하여 두 세계를 최대한 활용하는 한 가지 예일 뿐입니다. 일관성이 너무 많기 때문에 시스템 설계자는 시스템이 감당할 수 있는 일관성에 대해 복잡한 결정을 내려야 합니다.

RTI에서 당사의 전문 서비스 팀은 귀하가 이러한 결정을 내리고 결과를 추론하며 귀하에게 적합한 일관성 솔루션을 생성하도록 제품을 구성하는 데 도움을 드립니다.

여기에서 RTI 서비스에 대해 자세히 알아보십시오. https://www.rti.com/services


사물 인터넷 기술

  1. 검증된 시스템에서 발생할 수 있는 오류
  2. 검증되지 않은 시스템에서 발생할 수 있는 오류
  3. IIoT 시스템에 아날로그 제어 통합
  4. ERP 및 MES 시스템이 IIoT를 따라갈 수 있습니까?
  5. 임베디드 시스템 및 시스템 통합
  6. IIoT 시스템의 5G 통합으로 인더스트리 4.0 채택 가속화
  7. IIoT는 자산 모니터링 시스템의 실행 가능성을 어떻게 향상합니까?
  8. 비행 시간 대 FMCW LiDAR 시스템
  9. 환기 시스템이란 무엇입니까?
  10. 컴프레서를 업그레이드할 때가 되었습니까?