我正在开发一个Java REST API,它使用来自postgreSQL数据库的客户端数据。
数字: 。开始时大约有600个客户。他们中的一些人每隔几秒钟就会发出请求
因为客户是按请求付费,所以我们需要控制成功请求的数量是否达到限制,并且由于每个请求在性能差之后查询PostgreSQL数据(更新’hitsCounter’字段的值),我们正在考虑实施具有redis的缓存系统。
想法:
客户端发出第一个请求后,我们从postgresql检索他的数据并将其存储到redis缓存中。然后使用此缓存数据,例如增加’hitsCounter’键值,直到客户端停止执行请求。
同时,每隔几分钟,后台进程就会将数据从Redis缓存持久化到db表,因此最后,我们将更新后的数据返回给postgresql,我们可以在将来处理它们。
我认为它显然可以提高性能,但是我不确定这个“后台过程”。一种选择是检查缓存元素的TTL,如果它小于某个值(这意味着客户端已完成请求),则将数据持久化。
我很想听听对此的一些意见。这是一个好主意吗?你知道更好的选择吗?
完全合理的想法,但您没有提及您进行的任何测量。目标交易级别在目标硬件中的瓶颈是什么?不知道这一点,就不能说。
您可以使用未记录的表。只需在每个查询中插入一行,然后每5分钟进行一次汇总,即可清除旧数据。再说一次,用HOT更新,并说75%填充因子也许更新更有效。我不知道(也不是你)我们还没有测量。
不够?将其粘贴在ssd上自己的表空间上。
不够?将其粘贴在自己的vm / machine上。
不够?只需将该死的东西写到每个前端盒上的平面文件中,然后每分钟一次将数据批处理到数据库中即可。
另外-他们为每个查询支付多少费用?您是否担心电源故障而丢失五秒钟的查询日志?您是否需要能够为每个查询复制带有原始详细信息和时间戳的收据?
问题内容: 我是Web服务,JAX-WS等的新手,所以也许是菜鸟问题… 因此,我想实现一个Web服务以使两个系统通信。“客户端”系统对在“服务器”系统上生成的事件感兴趣。但是“客户端系统”本身就是用于其他应用程序的服务器。服务器是Java(tomcat中的WAR)。客户端是.Net。 应该只有一个客户端系统,但是客户端系统内部应该有几个客户端进程,每个进程都对不同类别的事件感兴趣。 我将实现服
我最近开始使用Node.js,我必须构建一个应该使用多个Express.js服务的体系结构。其中一些服务必须位于一台服务器上,另一台则位于其他服务器上。我想构建一个基础服务(像API网关),但是我不知道在这个网关和微服务之间,或者在两个微服务之间进行通信的合适方式是什么。 目前我正在研究一个基于此的解决方案:
Web服务客户端 web服务客户端可以通过两种方式访问Java EE应用程序。首先,客户端可以访问用JAX-WS创建的web服务。(有关JAX-WS的更多信息,请参阅第19章,使用JAX-WS构建Web服务。)其次,web服务客户端可以调用无状态会话bean的业务方法。web服务客户端无法访问消息bean。 只要使用正确的协议(SOAP、HTTP、WSDL),任何web服务客户机都可以访问无状态会
我是微服务架构的初学者,我在很多博客中读到过,在微服务架构中,每个微服务都必须有自己的数据库。在我的情况下,它可能花费非常昂贵。 我的问题是,有没有可能使持久层本身成为微服务?这将具有允许其他微服务对数据库具有读/写访问权限的功能。谢谢
我有一个微服务体系结构,它的日志必须发送到远程Kafka主题。在它旁边,本主题的使用者将把日志发送到麋鹿堆栈(另一个团队) 我想要一个专用的微服务(fwk proxy elasticsearch),其职责是收集其他人的日志,并将其发送到远程Kafka主题。 将从我的微服务聚合的所有日志分派到fwk-代理-弹性搜索微服务的最佳协议是什么? 我希望这个模式不会重复远程Kafka主题的安全配置。我想把它
我正在尝试查找有关在 azure 上设计全局解决方案的资源/信息。以下是我方面的要求: 系统需要有一个master数据库,需要ofc备份机制。 系统需要为各种角色等提供Web应用程序。 系统需要对移动客户端提供某种服务。(在同一个MVC应用程序中还是移动服务中?) 问题来了: 系统将分布在全球。我认为如果移动 客户端/Web客户端(来自世界各地)访问一台服务器(在Azure数据集群中,例如托管解决