AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 17385
Accepted
fa1c0n3r
fa1c0n3r
Asked: 2012-05-03 18:07:10 +0800 CST2012-05-03 18:07:10 +0800 CST 2012-05-03 18:07:10 +0800 CST

寻找使用 SQL 数据库作为队列来限制多个用户的 Web 服务请求的示例设计

  • 772

我正在设计一个系统,供多个用户将他们的请求排队到 Web 服务,该服务接受诸如创建新条目、更改条目、请求数据等请求。我们将使用的许多 Web 服务调用将分层数据作为参数(旨在匹配 c# 对象结构的层次结构),而其他诸如请求允许的条目类型列表的请求则不需要参数。队列是必要的,因为 Web 服务有 5 秒左右的限制要求,并且多个用户只能使用一个 Web 服务登录。

xml 从 Web 服务返回的数据最终会返回,由我们自己的服务器应用程序解析,并插入到某种类型的响应表中,以便用户应用程序可以知道请求已收到并获取返回的任何数据。

基本图片是

用户应用程序(多个用户)--> 服务请求队列 <--> 服务器应用程序 <--> 网络服务

和类似的回复

用户应用(多用户)<--服务响应队列<-->服务器应用<-->web服务

在此处输入图像描述

我正在自己创建用户应用程序和服务器应用程序,并试图了解如何设计将使用 sql server 的服务请求队列和响应队列,并试图弄清楚这些队列将拥有多少表请求和响应以分层形式出现(根据请求返回不同的层次结构类型),两者都是非分层形式。

此类对象由外部 Web 服务 API 指定。用户以该对象结构的不同相关形式发送不同类型的请求,这些请求将存储在队列系统/队列中,然后由服务器应用程序提取以进行出列以满足 Web 服务的节流要求。服务器应用程序也可能会取消不相关的请求,例如,如果时间过长并且它怀疑有错误或不相关的请求,或者如果用户应用程序未与来自 Web 服务的数据流同步。 在此处输入图像描述

任何人有任何用于此目的的简单示例多用户 sql 服务器队列?有没有关于这个主题的好书?还是网络教程?似乎有必要限制任何网络服务的多个用户......

sql-server database-design
  • 2 2 个回答
  • 6148 Views

2 个回答

  • Voted
  1. Best Answer
    Remus Rusanu
    2012-05-03T19:37:17+08:002012-05-03T19:37:17+08:00

    早在 2008-2009 年,我就将其作为一个项目来完成,这是一个每天需要处理 100 万次以上呼叫的 Web 服务(计费)。我使用 SQL Server 表作为队列,并将该项目的经验提炼到文章Using Tables as Queues中。坚持我在那里制定的规则,特别是不要试图在你的桌子上添加任何口哨和铃铛,只将它用作队列。在负载下,我发现一个关键问题是批量出队(在一个数据库操作中出列 100 个 Web 服务调用请求)并在应用程序中处理调度(将出队请求放入内存列表中,让 Web 调用处理程序接手工作从此列表中)。执行 Web 服务调用异步是至关重要的。此外,您必须阅读有关ServicePointManager.DefaultConnectionLimit.

    • 10
  2. Darin Strait
    2012-05-04T05:15:55+08:002012-05-04T05:15:55+08:00

    您是否考虑过使用 SQL Server 内置的“ Service Broker ”功能?它旨在帮助开发人员实现异步排队系统。

    • 2

相关问题

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 在数据仓库中实现多对多关系有哪些方法?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve