sql-server - 主数据库 - 本地数据库 - 10,000+ 客户端同步
问题描述
我有一个项目,其中将有一个主源数据库、客户端 Windows 服务、客户端应用程序、客户端数据库。我们需要一个客户端数据库,因为有时客户端由于连接问题而无法访问主数据库源。
我希望获得您的一些专业知识,了解将某些表从客户端数据库同步到主数据库以及将其他表从主数据库同步到客户端数据库的最佳/最有效方式(在几分钟内)。我还需要跟踪主数据库中同步的内容,以便我可以在仪表板中使用它。可能有多达 10,000 多个客户试图同时提取这些信息。
任何的意见都将会有帮助。
解决方案
您可能对基于Apache Kafka技术的方案感兴趣。
Apache Kafka 能够创建连接器。
架构方案将如下所示:
Local DB - Connector - Apache Kafka - Connector - Server DB.
连接器支持不同的数据库。
您可以使用连接器连接到数据库本身或分隔表。
您的方案类似于基于 Apache Kafka 技术的 ETL 方案。
您还可以开发一个应用程序,该应用程序将使用Apache Kafka Streams跟踪主数据库中同步的内容。
另一种方式,如果你不使用 Apache Kafka,就是主-主复制。
推荐阅读
- ruby-on-rails - 关联的 has_many 上的回调不起作用
- r - 创建新方法时循环
- git - 使用 Git Kraken 时如何移动存储库?
- c# - 来自 JwtBearer 中间件的空声明
- amazon-web-services - 发布 .net core 3.0 AWS 无服务器应用程序时出错 - 项目名称“引导程序”不明确。”
- python - 如何在 spark udf 和 pandas 中的 python 2.7 中转换为字符串
- python - Python 是否有方便解析二进制格式的工具?
- asp.net-core-2.1 - .Net Core - 我如何从另一个 .net 核心类库(或项目)访问 .net 核心实体框架
- ios - iphone无法连接到查尔斯
- cakephp - cakePHP 为 SameSite 属性设置 Cookie。但我在代码中找不到它/追踪它