保留以下信息的最佳商店是什么
- Input HTTP Request Headers and JSON Payload received (before processing)
- Time of request
- Status (Authenticated, Validated, Processed etc)
- Response sent to caller (after processing)
总体而言,目标是在进行身份验证,验证和处理之前保留输入请求。它主要用于审计目的,但应允许从有效载荷中提取的某些字段的索引以及时间,状态等。另一种查询模式将是一些基于范围的时间查询,比如在过去10分钟内重放请求,因为它们不会被处理等
解决方案思考:由于输入有效负载可以持久化为blob或非结构化方式,因此我期待将其存储在MongoDB等文档存储中。考虑的另一个选择是存储在MySQL中,其中发送的整个有效负载和响应都存储为blob,除了需要搜索的几个字段。
参考:https://docs.mongodb.org/ecosystem/use-cases/storing-log-data/
PS:一些其他信息
答案 0 :(得分:-1)
我不建议使用Mongo或SQL这样的东西。对于时间序列数据,像Cassandra或ElasticSearch这样的东西将更容易设置集群,正确分片,保持一致的写入性能。