接口的重要性不用我多说,相信大家基本能达成共识。
接口是实现多态的一种方法,能够让编程更灵活。接口最大的好处就是解耦,当你在设计一些松散耦合的模块的时候,接口可以帮助你不去强制使用某一个特定的类,大大提高程序的扩展性。
接口高可用设计对开发人员来说,是一个都需要了解的横跨开发语言的公共问题。不管是单体还是微服务架构,接口高可用都能够发挥巨大价值。
接口高可用具体来看,既简单也复杂。
现在的业务场景越来越复杂,接口作为项目里面的最小粒度单元,早已经不是只要命名好,联调通了,上线能调用就 OK 了。
一个普遍的共性问题是,高可用设计方案大家或多或少都听过一些,但是具体怎么分析没有头绪,不知道具体场景下该选用什么方案。
接口设计要考虑哪些方面? 请求太多的情况要怎么处理? 如果接口粒度较细,则一个功能页面会调用多个接口来完成展示,怎么优化? 接口服务降级,人工降级还是自动降级?熔断机制如何优雅地引入?
不同项目不同接口,出现的问题会大相径庭,掌握清晰的系统的方法论,能够举一反三,作用于自己的项目才是王道。