2016-05-09 49 views
-1

我在執行批量更新和創建時遇到了問題。在Java中設計批量REST API

我有非常巨大的休息工資負載,其中包含1000個字段和10000更新一次。提交請求數據後,將使用jdbc過程保存在數據庫中。

現在我們正在面對性能問題。

我必須設計一個批量API來緩解這個性能問題。

我搜索了Salesforce和Telerik的現有批量API,但不清楚它們的實現。

如何在java中爲批量更新和創建設計我自己的批量REST API。

我應該考慮哪些設計模式?

如果任何機構可以回答我的話,這將對我有所幫助。

在此先感謝。

回答

1

REST中經常使用的術語是「收集資源」。

考慮一個存儲發票的系統。對他們來說,收集資源可以有URL

/resources 

而ID爲123一張發票可能有URL

/resources/123 

添加一個新的發票到集合會用做

POST /resources 
Content-Type: application/json 

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

服務器將存儲它併爲其分配一個ID。

要存儲一個以上的發票一個請求,這將是有意義的發佈一個數組:

POST /invoices 
Content-Type: application/json 

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

它將服務器的responsibiltity認識到,現在有一個以上的發票到店。這樣的API的

+0

謝謝你的回答,我需要一個解決方案,我一次更新1000個記錄(批量更新)。我需要設計一個API,我可以將性能考慮在內。 –

0

一個例子是ElasticSearch批量更新支持: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html

你可以採取一些啓示那裏。

+0

謝謝,我會看到它 –

+0

我試過但沒有完全理解模型或設計或實現。所以我可以在java中應用 –

+0

他們也有一個Java API,因爲他們有一個Java客戶端在內部調用他們的HTTP API,所以你可能看看那裏。 –