Skip to content

Java based middleware for goreplay monitoring tool

License

Notifications You must be signed in to change notification settings

rajat19/Doomsday

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOOMSDAY

A java based GoReplay middleware app

The project allows you to verify if your testing server is sending (more or less) the same responses as your prod server


Steps to Run

  1. Clone the repo with

    git clone [email protected]:rajat19/Doomsday.git
    cd Doomsday
  2. Download the latest Gor binary from https://github.com/buger/gor/releases (they provide precompiled binaries for Windows, Linux x64 and Mac OS), or you can compile by yourself seeCompilation.

  3. Build the project with

    ./scripts/compile.sh
  4. Run the project with

    ./scripts/run.sh

    You can update go-replay options by editing scripts/run.sh

NOTE: If above commands show Permission Denied try running with sudo or rather use below commands

sh scripts/compile.sh
sh scripts/run.sh

What does it do?

GoReplay will send each request that was sent to the production server to your staging server. This middleware will compare the response from the acceptation server to that of the production server.

The middleware allows you to write rules that

Gor sends the requests and responses in an undefined order to the middleware, but your rule's methods will always be called with the data you need (the middleware stores data if needed and waits for the rest to arrive).

How do I use it?

At the moment you're expected to write your own rules and add the to the constructor call in Application.java if there is a need I could make it more configurable and let you specify what rules to load in the command line.