当数据库服务器不可用时离线缓冲数据

Buffering Data offline when the database server is not available

我是 C# 的新手,我已经实现了一个应用程序,该应用程序从套接字读取数据并使用单独的线程将其存储在远程服务器上的 Oracle 数据库中。 我的问题是:当数据库服务器关闭并且我无法将数据保存在数据库中时,是否有 C# 或 .net 中的工具或技术允许我在本地缓冲数据然后在连接时将其发送到服务器再次可用。我不想丢失来自套接字的信息,同时我想保持我的 oracle 数据库中的数据一致性,因为我有一个序列和一些触发器,它们在插入每条记录后保存附加信息。

您正在尝试引入容错

方法:

  1. 消息队列 服务器(最好),如 MSMQ、RabbitMQ 或类似的
  2. 本地数据库,例如 SQLite 或 SQL Server Express。
  3. JSON、XML 或 CSV 格式的本地文件。

使用这些方法中的任何一种,它们都会存储记录,直到您的数据库服务器再次可用。消息队列是最具可扩展性的方法。