twitter-archive / diffy

Find potential bugs in your services with Diffy
https://twitter.com/diffyproject
Apache License 2.0
3.83k stars 368 forks source link

Should the deployments be only localhost #53

Closed bozouser closed 7 years ago

bozouser commented 7 years ago

Hi, We are planning on using diffy for regression testing of our production services.

From the readme doc, the script for the diffy -

java -jar diffy-server.jar \ -candidate=localhost:9992 \ -master.primary=localhost:9990 \ -master.secondary=localhost:9991 \ -service.protocol=http \ -serviceName=My-Service \ -proxy.port=:31900 \ -admin.port=:31159 \ -http.port=:31149 \ -rootUrl='localhost:31149'

I was wondering if the candidate, primary & secondary can be deployed on different machines? and can we also configure different ports? so the end script would endup looking something like this.

-candidate=http://candidate:9001 \
-master.primary=http://primary:9001 \
-master.secondary=http://secondary:9991 \

Thanks!

puneetkhanduri commented 7 years ago

The deployments need not be on localhost.

Your final script would look like:

-candidate=candidate:9001 \
-master.primary=primary:9001 \
-master.secondary=secondary:9991 \
bozouser commented 7 years ago

thx!

bozouser commented 7 years ago

@puneetkhanduri can we get by not using the secondary ?

Diffy measures how often primary and secondary disagree with each other vs. how often primary and candidate disagree with each other. If these measurements are roughly the same, then Diffy determines that there is nothing wrong and that the error can be ignored.

In our case dont see much use of it, so the question and whether it would lead to any issues.

puneetkhanduri commented 7 years ago

@bozouser you can do that by passing the same target as both primary and secondary. e.g.

-candidate=candidate:9001 \
-master.primary=primary:9001 \
-master.secondary=primary:9991 \