SpineEventEngine / web

Spine web server and JS client library.
https://spine.io
Apache License 2.0
1 stars 3 forks source link

Bundle keep-up requests for v1.x #170

Closed dmdashenkov closed 3 years ago

dmdashenkov commented 3 years ago

In this PR we introduce a servlet and client capabilities for batch keep-up requests.

Previously, subscription keep-up requests were sent to the server per subscription, i.e. if the client had one hundred active subscriptions, the server would receive one hundred keep-up requests.

Now, we bundle all those requests into one, so that the network overhead is smaller and the number of HTTP requests to the server is lower.

The network traffic used for such a request is marginally smaller. We still send all the same data to the server and back, but in one fat exchange instead of many small exchanges.


This is a patch to the 1.x version. The "live" 2.x version will receive a similar change but with more structural refactoring as well as a network load improvement over this version.

This PR will not be merged. When the changes are reviewed, I will publish them manually, set up Git tags for the new version, and remove both branches.

codecov[bot] commented 3 years ago

Codecov Report

Merging #170 (012ae66) into 1.x-dev (234c2f4) will decrease coverage by 0.95%. The diff coverage is 1.92%.

@@              Coverage Diff              @@
##             1.x-dev     #170      +/-   ##
=============================================
- Coverage      60.61%   59.66%   -0.96%     
  Complexity       214      214              
=============================================
  Files             93       95       +2     
  Lines           2402     2442      +40     
  Branches          45       46       +1     
=============================================
+ Hits            1456     1457       +1     
- Misses           935      974      +39     
  Partials          11       11              
dmdashenkov commented 3 years ago

@armiol, PTAL. @YegorUdovchenko, FYI.

dmdashenkov commented 3 years ago

@armiol, PTAL.

dmdashenkov commented 3 years ago

The changes have been published under the version 1.7.4.