Consumer-Driven Contracts
How to use Consumer-Driven Contracts and the Pact framework to develop RESTful service contracts
Like many tech companies, at my employer we have a spider’s web of internal services communicating over HTTP. Services call other services. The website calls services. Our iOS and Android apps use these services. The services are owned by a number of different teams, and the apps are owned by entirely separate teams.
Consumer-driven contracts is a pattern that seeks to reduce the risk of maintaining services by explicitly documenting and testing the dependencies between them. We adopted consumer-driven contracts around a year ago, after the technique appeared on the ThoughtWorks Technology Radar.
I’ve posted about our experience on our engineering blog.