2016-03-18 34 views
-2

我有一套API寫在JERSEY,並且所有的工作正常。 現在讓我們說API將被每秒1000萬個請求的測試用例的數百萬人所使用。增加休息API的速度

那麼如何加快整體性能並減少我的API的延遲。 考慮下面的代碼作爲例子對於大多數我的API

@GET 
    @Path("/path/{id}") 
    public Response getUserData(@PathParam("id")final long id){ 
     chechAuthencticationAndAuthorization(); 
     Userdetails userDetails = dbDao.getUserDetailsFromId(id); 
     return Response.status(200).entity(userDetails).build(); 
    } 

的我怎麼能加快數據庫的讀取和寫入,並在所有響應時間擴展到每秒百萬請求。

+1

加速這些操作的方式取決於您在做什麼,但很可能您需要多個服務器來支持每秒多個REST請求。我會看到單個服務器可以處理多少個,並且開發一個解決方案,以便您擁有N倍的吞吐量的服務器。 –

回答

1

已經回答

這裏Want to develop website like Facebook - handles millions of requests - high performance

What needs to be done to develop highly scalable web application in Java?

正如上面點了,你可以使用Java EE應用服務器,如JBoss的使用RolesAllowed和SecurityDomain中註釋的答案。或者你可以使用一個ServletFilter,無論哪種方式分離認證和授權是一個好主意。

同樣,上面的帖子指出訪問數據庫,緩存,數據庫技術(SQL,NoSQL等)以及Java持久性庫(JDBC,Hibernate,MongoDriver等)的技術可能會產生巨大的影響。性能。