1. 搜索算法总体架构 在上篇文章(工程篇)中, 我们介绍了有赞搜索引擎的基本框架. 搜索引擎主要3个部件构成. 第一, hadoop集群, 用于生成大规模搜索和实时索引; 第二, ElasticSearch集群, 提供…
分类:有赞技术团队
有赞APP IM SDK 组件架构设计
本文主要以Android客户端为例,记录了有赞旗下 App 中使用自研 IM SDK 设计思路,由有赞移动开发组 IM SDK 团队共同讨论完成。 背景 设计目标 整体结构 设计要点 Socket长连接的创建与维护 消息…
有赞延迟队列设计
延迟队列,顾名思义它是一种带有延迟功能的消息队列。 那么,是在什么场景下我才需要这样的队列呢? 背景 我们先看看以下业务场景: 当订单一直处于未支付状态时,如何及时的关闭订单,并退还库存? 如何定期检查处于退款状态的订单…
有赞搜索引擎实践(工程篇)
随着互联网数据规模的爆炸式增长, 如何从海量的历史, 实时数据中快速获取有用的信息, 变得越来越有挑战性. 一个中等的电商平台, 每天都要产生百万条原始数据, 上亿条用户行为数据. 一般来说, 电商数据一般有3种主要类型…
Tiny-loader 好用的资源加载器
Tiny-Loader 项目已经在github上开源,具体可看: Tiny-Loader 概述 在前端性能优化中,我们会压缩静态文件,懒加载图片,合并请求,来加快页面打开速度。当这些都做完以后,前端性能优化仿佛进入了一个…
【MySQL】关于 unauthenticated user的哲学思考
一、现象 在生产环境中我们偶尔会遇到show processlist;显示host为 unauthenticated user 这样的连接,同时伴有数据库服务器层面的load,sys cpu较高,或者thread run…
如何利用TestNG监听器优化测试报告
今年四月底我花了一天时间简单搭建了php接口测试工程,maven + TestNG + jenkins,从0开始到现在510个用例(持续增长中),逐渐开始提高了测试回归效率并发现一些线上bug,这期间遇到过不少问题,这次…
在有赞的四个月
回顾四个月前,还在百度上研每天写着重复的代码,每天的日子也只是简单的重复,平淡如水。时间久了,就会觉得无聊了,继续呆下去,也不过是升T,然后继续每天写着重复的代码。走之前经理也以各种涨工资、教育资源、医疗资源来劝说,但内…
预加载系列一:DNS Prefetching 的正确使用姿势
发现 很多人都知道现代浏览器都支持 DNS 的预解析,学名:DNS Prefetching。用法也很简单,就是在html代码里加入这样的 link 标签 <link rel="dns-prefetch" href=…
分布式系统中负载均衡算法在高可用场景下的分析
在分布式系统中,负载均衡是非常重要的环节,通过负载均衡将请求派发到网络中的一个或多个节点上进行处理。通常来说,负载均衡分为硬件负载均衡及软件负载均衡。硬件负载均衡,顾名思义,在服务器节点之间安装专门的硬件进行负载均衡的工…
2015 SegmentFault 杭州黑客马拉松赛后回顾
编者按:西瓜同学是有赞的数据团队的工程师。在10月24日这个特殊的日子,他参加黑客马拉松,和小伙伴们愉快地 hack 了一把,来看看他的回顾吧。 上个周末,也就是10月24、25号,参加了人生中第一次黑客马拉松(hack…
用 Git Subtree 在多个 Git 项目间双向同步子项目,附简明使用手册
什么时候需要 Subtree ? 1、当多个项目共用同一坨代码,而这坨代码跟着项目在快速更新的时候 2、把一部分代码迁移出去独立为一个新的 git 仓库,但又希望能够保留这部分代码的历史提交记录。 背景 有赞微商城曾经是…