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

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

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

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

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

实录提要:

  • 如果接口粒度比较细,则一个功能页面会调用很多个接口来完成展示。如何优化?
  • 能否用一个开发过程中简单的实例来分析一下如何设计和清晰地开发出一个接口?
  • 接口的访问权限和登录信息验证,从耦合度方面一般如何处理?
  • 关于接口的数据缓存,是怎么做的?
  • 目前使用 Nginx 对 get 请求做数据缓存,还有别的好方式吗?
  • 接口服务降级,人工降级还是自动降级?熔断机制如何优雅地引入?
已有195人预订
预订达标
文章出炉
交流日期
     
17.11.09
17.11.23
17.11.30 20:30
查看文章评论/提问
Cherish
您好我想请问一下,文章就这些了?没有了?
LY: 涉及太多点,不好展开,写的也很一般,如果你对其中哪一点感兴趣,我可以对这个点聊聊我的想法。
Sunny.Zhang
您好我想请问一下,文章就这些了?没有了?
LY: 讲的点铺的太开,收的太蛇尾。我们可以交流交流你感兴趣的小点
Sunny.Zhang
选这个chat,还是抱很大期望的。能够看出来,作者还是很牛逼的,如果能多举一点例子,多来点干货就好了
web
干货太少
Bing
666666
Cherish
您好我有一个问题您可不可以,写一个简单接口的案例啊!让我们理解更加透彻一点啊老师?可否
Cherish
老师我特想让您给我们这一个接口的小案例,然后带着我们一步一步的深入了解。更加透彻一点。跪谢
滕俊杰
还是希望老师能举几个例子,让我们看看什么是好的借口。
大熊
如果接口粒度比较细,那么一个功能页面会调用很多个接口来完成展示。这种情况有什么办法优化吗?
大熊
还有一个疑问,在开发接口的时候调用方添加缓存来避免接口的调用次数,接口提供方也有缓存,这样造成了缓存的混乱,缓存失效时间不一致。这种问题作者遇见过吗?
糊涂
能否在交流时,用一个开发过程中简单的实例来分析一下如何设计和清晰的开发出一个接口,文章内容过于书面化和笼统了!谢谢作者分享
张精神
请对得起付费两个字。。。
你可能还喜欢
聊聊 CSS 中的布局模式
大漠_w3cplus.com
软技能:程序员如何在职场上少走弯路
墨雪卿
如何用 Python 爬取网页制作电子书
孙亖
Spring Boot 2.0 的快速入门(图文教程)
泥瓦匠 @ bysocket.com
如何在网上下载自己需要的资源
曹某某
GitChat 被恶意攻击引发的技术性思考:拒绝服务攻击
肖志华
微信扫描登录