For distributed architectures

Microservices
Under Control

APIs change. Consumers break. Contracts drift. diffray maintains order in your distributed system by catching breaking changes at PR time.

The Distributed Dilemma

More services, more ways to break things

Breaking Changes

Change an API response in one service, break 5 consumers. No one knew they depended on that field.

Boundary Violations

Services bypass APIs and hit each other's databases directly. 'It was faster' becomes tech debt.

Contract Drift

API docs say one thing. Code does another. Consumers rely on undocumented behavior.

Cascade Failures

Missing error handling, no circuit breakers, retry storms. One service down, all services down.

Governance Without the Meetings

AI enforces your architecture decisions on every PR

Contract Validation

AI analyzes OpenAPI specs, GraphQL schemas, and protobufs. Catches removals, type changes, and breaking modifications.

"Removing 'email' from UserResponse will break OrderService and NotificationService."

Boundary Enforcement

Define which services can communicate and how. Flag direct database access and inappropriate coupling.

"PaymentService should not import from UserService internals. Use the public API."

Resilience Patterns

Ensure proper error handling, timeouts, retries, and circuit breakers in inter-service calls.

"This HTTP call has no timeout. Add a timeout to prevent cascade failures."

Versioning Compliance

Enforce your API versioning strategy. Ensure changes respect backward compatibility rules.

"Breaking change detected. Either increment API version or make this change additive."

Breaking Change Detection

Know before you ship

Removing a fieldBreaking
Changing field typeBreaking
Adding required fieldBreaking
Adding optional fieldSafe
Adding new endpointSafe
Deprecating fieldWarning

FAQ

Distributed Systems.
Centralized Quality.

Keep your microservices in sync.

Start Free Trial