首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    防水墙实地探访线下店,揭秘零售业刷单百态

    引子 新冠疫情期间,线下门店销售受挫,各大传统商超都在转型线上智慧零售,发放大量优惠吸引客户。而身边朋友表示每次优惠都很难抢到,这些优惠是真的惠及了普通百姓,还是落入少数人的口袋?防水墙带你一探究竟。 一、情报指向M商超 智慧零售方面的黑灰产动态一直是小强关注的重点,通过报单平台发布众包任务,找人帮忙下单并给予奖励,是较为流行的一种线上刷单方式。 3月以来随着疫情后复工,小强发现多个报单平台刷单订单开始多了起来,而这些订单地址很多指向M商超深圳宝安某门店。正好此门店离家不远,小强便赶往此门店,以了解事件

    02

    “人肉流量”制造业:300万真人堆砌起的流量迷局

    楔子:剧场里的矮子 入夜,城中一个剧场里,观众依次落座,安静地观看演出。 看到中场,一位个头稍矮的观众为了看得更清楚,突然站了起来。周围人劝他坐下,他置若罔闻。而剧场管理员恰巧不在。 为了能看到演出,后排的人只好跟着站起来。渐渐,所有观众都站了起来,甚至有人开始踩上椅子。于是,一个空前的奇观出现了——全场观众都踩在了椅子上看戏。 看的还是同一出戏,观影体验却变差了,所有人也都更累了。尽管如此,再也没有人坐下来看戏。因为,谁选择坐下,谁就会被剧场中一个个踩踏规则的高位者所湮没。 中国的流量造假市场,就是这

    02

    记一次协程环境下类成员变量污染的问题

    我维护的项目采用的技术框架是php中基于swoole的一个web框架叫做swoft。该框架是协程环境,并且是模仿springboot的一个注解式的php框架。我做的一个需求,发生了协程环境下的类成员变量污染的问题。事故是这样的:发起一次rpc请求,返回的结果存在一个类的成员变量,但是发现请求的参数跟结果对不上,我先是排查了错误日志,没发现异常,然后排查请求执行日志,发现日志数量丢失了。于是我仔细看了代码,我通过职责链模式将结果传递到了每一个类的成员变量中,而BeanFactory::getBean这个方法默认是获取单例的类,于是类的成员变量在没有保护的情况下被其他协程污染了。知道这个问题后,我通过修改注解,将职责链的每一个类都修改成多例模式。在本地使用Jmeter压测时结果是正确的,但是又发现了一个新的问题就是执行日志丢失的问题。后面仔细查看了swoft中log包的实现,发现框架开发组也犯了一个跟我一样的错误。他这里的思路是:将日志存放在类的成员变量messages中,这是一个数组,当这个数组中元素大于刷盘数量时,将该数组中的日志记录刷入文件中。但是却没有线程同步的代码块保护,于是在并发的情况下就可以复现日志被覆盖导致缺失的问题了。我在想框架的开发组不应该会犯这样的错误。于是翻了一下github的swoft框架的issue,发现在20年的时候就已经有人提出过这个问题,但是一直没有得到修复。后面我翻看了一下源码,发现他的log这个bean是单例模式,所以才有messages成员变量被污染的问题,我通过创建一个新的newLogger类并将其设置在框架启动时的日志处理类,该并发污染的问题就被解决了。

    08
    领券