使用Java设计批量REST API

时间:2016-05-09 06:42:40

标签: java rest bulkinsert bulkupdate

我在批量更新和创建时遇到了问题。

我有非常大的休息加载负载,包含1000个字段,一次更新10000次。提交请求数据后,将使用jdbc过程保存在db中。

现在我们面临性能问题。

我必须设计一个批量api来解决这个性能问题。

我通过销售人员和Telerik搜索现有的批量api。但不清楚他们的实施。

如何在java中设计我自己的批量REST API以进行批量更新和创建。

我应该考虑哪些设计模式?

如果有任何人能回答我,对我有帮助。

提前致谢。

2 个答案:

答案 0 :(得分:1)

REST中经常使用的术语是"收集资源"。

考虑一个存储发票的系统。它们的集合资源可以包含URL

123

虽然ID为/resources/123 的单张发票可以包含网址

POST /resources
Content-Type: application/json

{
  "customer": "CUS-123",
  "amount": 1.43,
  "paided": false
}

使用

添加新发票到集合
POST /invoices
Content-Type: application/json

[
  {
    "customer": "CUS-123",
    "amount": 1.43,
    "paided": false
  },
  {
    "customer": "CUS-456",
    "amount": 42.23,
    "paided": true
  }      
]

服务器会存储它并为其分配ID。

要在一个请求中存储多个发票,发布数组是有意义的:

{{1}}

服务器的责任是识别现在存储多个发票。

答案 1 :(得分:0)

此类API的一个示例是ElasticSearch批量更新支持: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html

你可以在那里获得灵感。