Col*_*ald 2 api backend apigee
很快我的方案就是:我正处于为初创公司规划/实施API的早期阶段.所述API是我们战略的基础和所有这些.好极了!
我希望使用Apigee(或类似的)来处理所有脏的细节(安全性,限制等等),所以我不需要自己实现所有这些.
我无法找到的是我的后端API服务器应该使用此策略应该做的事情(更重要的是,不应该这样做)的推荐列表.
还有一些技术细节:我打算在我的后端使用Nginx/FastCGI/Qt/C++,可能不相关.对此后端的调用将完全通过代理(Apigee).我将拥有自己的客户网站和使用API作为dogfood的内部应用程序.
我正在寻找的是在使用像Apigee这样的整体战略的基本组成部分时实施我的API方面的最佳实践指南.我不想重新发明任何轮子(或者用脚射击自己)!
这甚至是正确的方法吗?
谢谢你们 !!
小智 9
在流程中放置功能的位置通常是上下文的,但每个代理中都有一些简单的东西:
1)密钥管理:使用Apigee来管理你的API密钥和薄荷你的访问令牌给你一些东西; 未经授权的应用程序的第一道防线和关于开发人员正在做什么的自动分析(从一个应用程序获得高错误率?联系他们并帮助他们主动解决他们的问题).
2)基本安全策略:一旦您知道允许应用程序访问您的API,就应该在Apigee层上运行一些简单的安全策略.有效负载实施(JSON和XML威胁防护,正则表达式,用于阻止SQL注入或其他侵入性代码).您还可以根据API密钥设置配额(不同的开发人员根据与其密钥关联的产品获得不同级别的访问权限).您还希望设置尖峰逮捕,以防止您的API流量压倒您的目标服务器.
3)响应管理:确保删除与API契约无关的不必要的响应头(cookie,服务器版本等).无需告诉应用程序开发人员您的目标体系结构,但有时很难从应用程序服务器中删除这些标头.您可能还希望规则阻止来自目标服务器的意外响应(例如,可能包含堆栈跟踪的500个错误).
4)缓存:在Apigee中缓存响应的能力驱动了很多其他"在哪里做"的问题.但是能够从Apigee返回缓存响应可以将延迟减少数百毫秒,从而提高每秒的事务数和开发人员/消费者的满意度.现在的问题是,无需转到目标服务器即可获得缓存响应的精细程度.
除此之外,它变成了"执行任务最简单,最有效的地方?" 例如,JSON到XML之类的东西在Apigee中很容易,但在其他可能在后端服务器上运行的平台上也很容易.
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |