首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于实施异步web API的高效体系结构/工具

用于实施异步web API的高效体系结构/工具
EN

Stack Overflow用户
提问于 2018-12-25 15:52:28
回答 1查看 130关注 0票数 1

考虑一个基于事件驱动的微服务的web应用程序,它应该具有一些异步web API。AFAIK实现异步http请求/响应的建议方法是用一个say 202 Accepted状态代码和一个location头来响应每个API调用,以便调用者稍后检索结果。

通过这种方式,我们必须为每个请求生成一个唯一的ID (如uuidguid),并将该id和将来所有相关事件存储在一个持久存储中,以便API调用者可以跟踪其请求的进度。

我的问题是,考虑到我们每秒可能有数万或数十万个请求和响应,应该如何实现这个API层。什么是最有效的架构和工具,使这样一个API的负载?

一种方法是将所有请求和所有相关事件同时存储在数据库和诸如redis的缓存中(仅在特定的有限时间内,如30分钟)。有没有更好的模式/架构/工具?大公司和网站是如何解决这个问题的?在这种情况下,哪个数据库更好?(MongoDB、MySQL、…)

我真的很感谢任何有用的答案,特别是如果你有一些生产经验。

EN

回答 1

Stack Overflow用户

发布于 2018-12-26 19:10:37

非常有效的问题!从架构或工具的角度来看,你应该看看,这是一个开放的分布式跟踪系统,经过Twitter的试验和测试,特别是如果你有一个微服务架构,它真的很有用,跟踪你所有的请求/响应。它还包括存储选项,包括内存、JDBC (mysql)、Cassandra和Elasticsearch。

如果您的微服务使用spring-boot,那么它很容易插拔。

即使你对Zipkin并不完全信服,架构也是值得研究的。从生产经验来看,我用过它,它真的很有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53920414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档