我的团队需要找到以下问题的解决方案:
我们的应用程序允许用户查看企业的总销售额,按产品划分的总计,按地区划分的总数,按地区x产品划分的总数,按地区划分的总数等.您可以了解相关信息.有许多值需要聚合以获得许多无法动态计算的总数 - 我们必须预先聚合它们以提供合适的响应时间,这个过程大约需要5分钟.
问题,我们认为是一个常见的问题,但没有参考,是如何在不关闭用户的情况下允许更新各种销售.此外,用户无法接受最终的一致性 - 如果他们总共向下钻取12个,他们最好看到总数为12的数字.因此,我们需要一致性+可用性.
到目前为止,我们提出的最佳解决方案是将所有查询定向到冗余数据库,"B"(针对查询进行了优化),同时将更新定向到主数据库"A".当我们决定花5分钟更新所有聚合时,我们更新数据库"C",这是另一个冗余数据库,就像"B"一样.然后,新用户会话被定向到"C",而现有用户会话继续使用"B".最后,警告任何人使用"B",我们杀死"B"上的会话并在那里重新聚合,交换"B"和"C"的角色.典型的排水停止方案.
我们感到惊讶的是,我们无法找到任何关于此的讨论,并担心我们过度设计这个问题,或者可能不是我们认为的问题.任何建议都非常感谢.
我想将jqGrid用于很多只有一小组特定于应用程序的列类型的网格,并且我想创建一种强制一致性的方法.例如,我希望显示行的合规性状态的所有列具有特定格式,以特定方式对齐,具有特定搜索选项等.因此,不要像这样使用colmodel条目:
{ name: 'ABC', width: 80, align: 'center', stype: "select",
searchoptions: { value: "1:Compliant;0:Not Compliant"} }
Run Code Online (Sandbox Code Playgroud)
我想要一个这样的:
{ name: 'ABC', width: 80, mytype: compliancestatus }
Run Code Online (Sandbox Code Playgroud)
compliancestatus是我要写的函数.
这种事情是否可行 - 没有修改jqGrid源代码?如果是这样,有人能指出我这种类型的扩展的例子吗?