Skip to content

kellabyte/frenzy

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
cmd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  _____                                     
_/ ____\______   ____   ____ ___________.__.
\   __\\_  __ \_/ __ \ /    \\___   <   |  |
 |  |   |  | \/\  ___/|   |  \/    / \___  |
 |__|   |__|    \___  >___|  /_____ \/ ____|
                    \/     \/      \/\/     

A Postgres wire protocol aware mirroring proxy.

Getting started

Frenzy is an experimental Postgres mirroring proxy that allows mirroring production traffic to shadow instances. Frenzy allows you to service production traffic from a primary while measuring one or more mirror shadow instances.

Frenzy takes 1 primary connection string that will be used to respond to production requests and multiple mirror connection strings that will receive the duplicated traffic from the primary.

Building

To compile the bin/frenzy binary run the following.

make

Using

Provide 1 primary Postgres connection string and one or many mirror Postgres connection strings.

./bin/frenzy --listen :5432 \
    --primary postgresql://postgres:password@localhost:5441/postgres \
    --mirror postgresql://postgres:password@localhost:5442/postgres

Supported Queries

Right now I am testing with a simple hello world query.

PGPASSWORD=password psql -U postgres -h localhost -p 5432 -c "SELECT version();"

Surprisingly I've seen more complicated queries work already! \l in the psql console also dispatches a more complicated query that seems to work!

About

Postgres wire protocol aware mirroring proxy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published