전용 Exadata 인프라에서 Autonomous Database로 고급 대기열 처리 사용
Autonomous Database는 데이터베이스 통합 메시지 대기열 기능을 구현하기 위해 Transactional Event Queues(TEQ)를 지원합니다.
Oracle Transactional Event Queues(TEQ)
최신 메시징 시스템은 지점 간 메시징을 지원하고 애플리케이션 간에 메시지와 이벤트를 교환하기 위해 게시/구독합니다. 마이크로서비스로 구축된 애플리케이션은 워크플로 시스템과 마찬가지로 메시징이 필요합니다. 이벤트 메시는 애플리케이션 간 애플리케이션 이벤트를 전송하고 라우팅하는 데 더욱 널리 사용되고 있습니다. Apache Kafka의 Topics/Partitions와 마찬가지로 Transactional Event Queues는 Queue Tables/Event Streams를 Partitioning 추상화로 사용합니다(AQ Sharded Queues는 Queue Tables/Shards 사용).
Transactional Event Queues(TEQ)는 Database 12.2.0. 1(2015)에 도입된 Advanced Queuing의 분할된 인메모리 구현입니다. TEQ 대기열은 JMS 사양을 지원하며 Java, Python, Node.js, PL/SQL, C/C++, .NET 및 Go에서 액세스할 수 있습니다.
TQ(Transactional Event Queues)는 사용자 메시지를 대기열이라는 추상 저장 단위로 저장합니다. 마이크로서비스가 서로 통신하거나 애플리케이션이 워크플로우의 일부인 경우 생산자 애플리케이션은 메시지를 대기열에 넣고 소비자 애플리케이션은 메시지를 대기열에서 뺍니다.
Oracle Transactional Event Queues(TEQ)는 database-integrated 메시지 대기열 기능을 제공합니다. 이 기능은 Oracle Database의 기능을 활용하여 메시지를 영구적으로 저장하고 여러 컴퓨터와 데이터베이스의 큐 간에 전달하며 Oracle Net Services 및 HTTP(S)를 사용하여 전송할 수 있도록 합니다. 자세한 내용은 Oracle Database 19c Advanced Queuing User's Guide의 Oracle Database Advanced Queuing 또는 Oracle Database 23ai Advanced Queuing User's Guide를 참조하십시오.
Autonomous Database에서 메시지 대기열 처리 구현
- 관리 인터페이스: 대기열, 대기열 테이블, 변환 및 TEQ 사용자에게 권한 부여 및 취소와 같은 기타 관리 작업을 관리할 수 있는 서브 프로그램이 포함된 PL/SQL 패키지 모음입니다. 이러한 서브 프로그램에 액세스하려면 관리 권한이 있는 유저로 연결해야 합니다. 관리 사용자를 생성하는 방법을 알아보려면 List of Examples in Oracle Database 19c 또는 Oracle Database 23ai를 참조하십시오.
- 프로그래밍 인터페이스: Oracle Database Advanced Queuing은 AQ(Advanced Queuing) 응용 프로그램 환경을 구현하기 위한 PL/SQL, C, JMS(Java) 및 AQ XML(서블릿)과 같은 다양한 프로그래밍 언어에 대한 프로그래밍 인터페이스를 제공합니다. AQ 프로그래밍 인터페이스 목록, 각 인터페이스에서 지원되는 함수 및 구문 참조는 Oracle Database 19c 또는 Oracle Database 23ai의 Programmatic Interfaces for Accessing Oracle Database Advanced Queuing을 참조하십시오.
참고:
Advanced Queuing을 사용하는 방법을 설명하는 "체험" 대안의 경우 Oracle Converged Database Workshop으로 마이크로서비스 구축에 설명된 지침을 따를 수 있습니다.