我正在考虑使用 Oracle Advanced Queuing 技术进行异步通信。我的目标是将它用于并发流程执行(异步 PL/SQL 过程调用)。
当前用于并发进程执行的遗留实现是由 Unix KornShell (ksh) 脚本组成的,我们通过后台模式下的 SSH 连接从前端开始。它对我们来说很好,但我对这种解决方案不满意,因为:
- 安全性(前端启动 SSH 连接并在后台模式下执行 ksh 脚本。从我们的同事那里我注意到这种登录在我们公司会受到限制。)
- 维护(不是我们团队的每个人都熟悉 ksh 脚本)
- 技术的多样性(由于技术诀窍和迁移努力,我试图减少技术的多样性)
- 记录(我们的后端系统记录到数据库日志表中,并发执行部分记录到日志文件中)
通过从 ksh 迁移到数据库,我将能够提高系统的整体质量:
- 安全性(不再使用 SSH 连接,前端将向数据库发送消息,数据库消息侦听器将对消息做出反应并异步执行程序)
- 维护(我们使用我们熟悉的PL/SQL)
- 技术多样性(通过下一次操作系统迁移,我们只需要迁移数据库对象和数据)
- 日志记录(我们将充分使用我们的后端日志记录解决方案)
您如何看待我的考虑以及您对 Oracle Advanced Queueing 的体验如何?特别是在稳定性、性能和维护方面?有更好的选择吗?