有赞风控规则引擎实践

引言 作为一家SaaS公司,有赞向商家提供强大的微商城系统和完整的移动电商解决方案。伴随着公司产品受众不断增长的同时,灰黑产业也慢慢伸出了触角,妄图利用有赞便捷的支付、传播等能力获取非法的利益,因此如何高效的遏制灰黑产业的侵蚀,是我们面临的一个重要挑战。总的来说,目前有赞面临的主要风险类型包括: 盗卡。例:盗用用户银行卡,在有赞店铺上消费 欺诈。例:通过发布低价商品,诱骗消费者购买 套现。例:在自己创建的店铺里进行虚假交易用以套现信用卡 垃圾信息。例:发布虚假消息、…

Read More

有赞支付微服务实践

有赞技术发展历程 2014年公司所有业务(交易,商品,ump,支付等等)都在一个单体应用中完成,使用php开发,满足了公司快速发展(我们姑且称为v1.0)。 2015年到2016期间,随着业务流量增长,现有架构模式遇到了挑战,公司开始朝着业务拆分和服务化方向迈进。开始采用java作为开发语言,服务化框架使用公司改进过的dubbox,支持跨语言服务调用的nova框架(v2.0)。 2017年在服务化的基础上我们更近一步,向微服务架构渐变。拥抱社区提供的丰富组件(v3.0)…

Read More

有赞客户行为收集与实时处理系统设计

背景 有赞会员系统主要承载着有赞的客户经营领域,致力于给商家提供全渠道客户经营的能力。随着社交网络的普及,其社会化、多元化和创新化特质让商家与消费者之间的联系方式更加丰富,互动更加频繁,相应的运营需求也大大增加。除了传统的会员经营手段之外,会员系统需要提供能力,来帮助商家定义客户的生命周期,构建精准的消费画像:商家可以由此全面、及时地了解客户的喜好、行为轨迹、消费能力等属性,定义进而进行差异化的客户经营。我们需要构建一套实时的客户行为收集处理系统,来满足上述业务需求。本文就简单聊聊客户行为收集系统的设计。 行为模型 我们把客户行为事件定义为客户与业务系统间的交互,客户行为事件模型则描述了客户在业务系统中的轨迹。它记录了某个业务场景下一类或多类的客户行为事件,并能够反映事件的先后顺序。…

Read More

Redis集群实现原理探讨

Redis集群是一个distribute、fault-tolerant的Redis实现,主要设计目标是达到线性可扩展性、可用性、数据一致性。 线性拓展 官方推荐最大的节点数量为1000,由于Cluster架构中无Proxy层,Master与Slave之间使用异步replication。 数据一致性 客户端容忍一定程度的数据丢失,集群尽可能保存Client write操作的数据,保证数据一致性。 可用性 Redis集群通过partition来提供一定程度的可用性,当集群中的一部分节点失效或者无法进行通讯时,集群仍可以继续提供服务。这里有两点补充: 只要集群中大多数Master可达、且失效的Master至少有一个Slave可达,即集群非Fail状态,…

Read More

深入理解PHP opcode优化

1.概述 PHP(本文所述案例PHP版本均为7.1.3)作为一门动态脚本语言,其在zend虚拟机执行过程为:读入脚本程序字符串,经由词法分析器将其转换为单词符号,接着语法分析器从中发现语法结构后生成抽象语法树,再经静态编译器生成opcode,最后经解释器模拟机器指令来执行每一条opcode。 在上述整个环节中,生成的opcode可以应用编译优化技术如死代码删除、条件常量传播、函数内联等各种优化来精简opcode,达到提高代码的执行性能的目的。 PHP扩展opcache,针对生成的opcode基于共享内存支持了缓存优化。在此基础上又加入了opcode的静态编译优化。这里所述优化通常采用优化器(Optimizer)来管理,编译原理中,…

Read More