如何设计出高可用、高性能的接口

作者/分享人:LY
向 Ta 提问
我是LY,多年互联网开发经验,曾任职于TRAVELSKY、YY、Meizu等知名互联网公司。在任职公司负责项目架构设计及其核心功能开发,对项目架构设计有较深的认识和见解。专注于分布式服务、分布式存储以及架构高可用、高性能等,致力于移动应用架构研发,以提升产品体验和研发效率。

设计接口是一件容易的事,也是件困难的事。设计接口每个人都会,每个人都能设计,也由此产生了各种各样的理念的接口。工作这么多年,我也很有感悟。很多人会说,设计接口多么简单,只要命名好,然后联调通了,上线可以调用就行了。特别是非互联网行业的人,这里没有歧视的意思。因为互联网行业和传统行业太多不一致性决定了这种思想的产生。

接口是项目里面的最小粒度的单元,接口设计需要注意点很多,需要的考虑方方面面,很多人也不重视,而且设计接口需要的技术栈也需要很多,能充分考察到技术人的知识的广度以及深度。下面介绍的是我工作中的一些感悟,希望能与诸位共同交流,探讨。本场 Chat 主要包含以下三个方面:

  1. 接口设计需要考虑哪些方面
  2. 接口设计原则
  3. 如何保证接口的高可用、高性能

实录提要:

  • 如果接口粒度比较细,则一个功能页面会调用很多个接口来完成展示。如何优化?
  • 能否用一个开发过程中简单的实例来分析一下如何设计和清晰地开发出一个接口?
  • 接口的访问权限和登录信息验证,从耦合度方面一般如何处理?
  • 关于接口的数据缓存,是怎么做的?
  • 目前使用 Nginx 对 get 请求做数据缓存,还有别的好方式吗?
  • 接口服务降级,人工降级还是自动降级?熔断机制如何优雅地引入?
已有256人预订
预订达标
文章出炉
交流日期
     
17.11.09
17.11.23
17.11.30 20:30
查看文章评论/提问
张精神
请对得起付费两个字。。。
大熊
还有一个疑问,在开发接口的时候调用方添加缓存来避免接口的调用次数,接口提供方也有缓存,这样造成了缓存的混乱,缓存失效时间不一致。这种问题作者遇见过吗?
糊涂
能否在交流时,用一个开发过程中简单的实例来分析一下如何设计和清晰的开发出一个接口,文章内容过于书面化和笼统了!谢谢作者分享
Cherish
您好我想请问一下,文章就这些了?没有了?
LY: 涉及太多点,不好展开,写的也很一般,如果你对其中哪一点感兴趣,我可以对这个点聊聊我的想法。
Sunny.Zhang
您好我想请问一下,文章就这些了?没有了?
LY: 讲的点铺的太开,收的太蛇尾。我们可以交流交流你感兴趣的小点
Sunny.Zhang
选这个chat,还是抱很大期望的。能够看出来,作者还是很牛逼的,如果能多举一点例子,多来点干货就好了
web
干货太少
Bing
666666
Cherish
您好我有一个问题您可不可以,写一个简单接口的案例啊!让我们理解更加透彻一点啊老师?可否
Cherish
老师我特想让您给我们这一个接口的小案例,然后带着我们一步一步的深入了解。更加透彻一点。跪谢
滕俊杰
还是希望老师能举几个例子,让我们看看什么是好的借口。
大熊
如果接口粒度比较细,那么一个功能页面会调用很多个接口来完成展示。这种情况有什么办法优化吗?
你可能还喜欢
哪些算法和数据结构是需要程序员必须掌握的?
zhen.guo
ACT 敏捷教练培养体系
Chat 三人行
Spring Cloud Consul 从入门到精通
如梦技术 dreamlu
技术部门 Leader 与团队那些事
Eason
Spring Data JPA 晋级提升篇:复杂场景实战用法与优化
张振华
高并发、高性能 Web 架构解决方案
Array老师
微信扫描登录