
# 为什么一定要定义服务契约？
企业级系统规模普遍较大，微服务组件众多，所以对服务间接口进行统一管理是企业的关键需求。微服务引擎通过契约管理满足这一需求。
管理角度：通过契约管理，企业中的接口管理者可以统一定义微服务的契约文件（符合接口描述标准的接口定义文件），从而做到规范并协调多个开发团队的接口开发，降低沟通成本且避免后期的混乱。
开发角度：在微服务开发的时候，不同团队甚至不同ISV间，可以基于统一的契约文件开发同一应用或系统，从而方便整体系统一致性的维护。具体表现在，单体应用中模块间是代码级调用，在编译期就可以解决API不兼容问题，修复成本也极低。微服务解耦后，服务间变为了远程调用，接口不一致通常发现时间较晚，会造成更大的修复成本。有了契约可以保证架构师设计契约，严格审查变更，并反向生成代码，保证兼容性。
另外，对于规模较小、统一管理要求不高的系统，产品支持从接口代码自动生成契约文件。
