标签:开发 分布 cli 分布式 思维 共享服务 注册 update 应该
做服务端开发也有7年的时间了,从开发-高级开发-技术经理-高级开发-?。重新做回程序员,尽管心里上难免有些不甘心,但是按照欲进先退的理念,我确定我的下一个方向是架构师。
今天谈谈对接口安全的浅略认识:
接口安全从两个方面分析下:
古人教导我们未雨绸缪,居安思危。做服务端开发更是如此,在以前传统的开发领域我们可能只会关心数据安全,不会考虑性能问题。但是在目前分布式、soa、微服务、高并发等互联网思维下,我们开始对我们的服务进行拆!拆!拆!拆的原因有很多:
总体来说,就是高内聚,低耦合。
但是服务拆分后会产生一系列的问题等待解决,比如分布式事务问题。
性能安全:
出于各种原因,你的服务可能遇到性能问题,异常的网络攻击,人为的接口盗链、广告灌水,批量刷注册用户等!
所以从性能安全上可以有以下考虑:
什么是幂等性:我理解就是进行多次调用/执行,不影响结果的正确性。
那是不是所有的接口都要考虑幂等性,听起来好像和麻烦很可怕,那我们具体分析下:
查询类服务:不用考虑幂等性,因为查询本身就是幂等的
删除类服务:不用考虑幂等性,因为多次删除的结果一样
更新累服务:update a="xxx"不需要,update a = a+1需要
增加累服务:多次add要考虑幂等性
组合操作服务:一个服务需要删除+增加,需要考虑
如何避免不幂等带来的问题?
标签:开发 分布 cli 分布式 思维 共享服务 注册 update 应该
原文地址:http://www.cnblogs.com/losemyselft/p/6237748.html