公司:58同城
58同城(NYSE:WUBA),简称58,是一家位于中国北京市的生活服务及分类信息网站,以在地服务为主,举凡租房、招聘、交友、水电、二手交易等等,由北京五八信息技术有限公司拥有,创始人是姚劲波,成立于2005年12月12日。该网站是中文最大的生活信息网站,该网站的口号是“一个神奇的网站”。
Feed流设计数据实验搭建实践
自我是流动的,设计也是流动的。
转转实时OLAP分析场景技术选型与应用实践
OLAP,On-Line Analytical Processing,在线分析处理,主要用于支持企业决策管理分析。区别于OLTP,On-Line Transaction Processing,联机事务处理。
转转用户画像平台实践
本文主要从标签的构建,标签的生产加工,存储设计, 用户洞察,用户分群以及ID-MAPPING等几个方面阐述转转用户画像平台的建设和实践。
体验设计师必知的“时间戳”控件设计
“时间戳”即时间信息的展示方式,它是一个在UX设计中经常出现,又容易被忽视的元素。本文将结合58相关产品的实践向读者阐述时间戳控件的设计方法。
CRM工作台设计录-以世界杯的精神做设计
在做任何设计之前,我们都需要对自身进行提问:这个项目的目标是什么?解决什么问题?我的用户是谁?
ClickHouse在自助行为分析场景的实践应用
为了支撑业务精细化运营场景下实时多维分析能力,本文将为大家带来主流MPP架构数据库ClickHouse在自助分析场景中的探索及实践。
快速跨业务测试经验分享
当业务任务多且人力资源不充足的情况下,不同业务的同学可能需要去不同的业务进行临时支援,可能在时间方面可能有长有短,但是如何迈出第一步是很多人需要关心的一件事。
本文以实际跨业务测试经验(订单业务测试人员如何测试售后业务),讲述在两周内如何快速的上手售后业务并进行测试需求,写下此篇文章作为经验分享。
Node 系统中定时任务的演化
北斗前端监控系统是 58 内部的一个线上质量监控排查解决方案,用于帮助用户大幅提升定位问题和优化项目的效率。系统共分为数据收集(SDK)、数据处理(Java)、数据存储(Druid、……)、数据分析(Node.js)、数据展示(React) 5 层模型。Node.js 作为系统中的数据分析层,提供各种数据分析和应用的方式。
在一期之后,系统的基础功能已经完备。平台可以收集 5 种类型、30 多种指标的数据,已经具备了很强的数据收集能力,数据应用的方式却很匮乏。
所以在二期开发时,我们计划在 Node 端加入多种数据应用的方式。实时告警,就是其中之一。
简单分析需求,服务端需要以一定的频次(例如每分钟)监测不同项目中用户配置关注的指标数值。当数值出现异常时,给用户发送邮件、短信等告警信息用于警示。
而其中的重点,就是如何在 Node.js 中设计并实现定时任务系统?
安全业务全链路数据仓库在58的实践与应用
“全链路”指的是全业务、全场景、全方向,那么全链路数据仓库指的是这个数仓中的数据是包罗万象的数据,因为在信息安全业务领域,会有大量的特征、策略、用户行为需要进行数据分析和验证,因此挖掘数据关系的关联性俨然成为了一个趋势,这些数据的链路关系是面向全方位的,两点之间的数据也可以存在多条链路关系,安全业务全链路数据即数据网格化应用, 网格越密集,那么数据就越完善,集成度更高。只有构建高度集成化的数据链路才能让数据成为安全生产力,让安全业务变得更主动。
在58信安承担着全集团各个业务线安全治理治理工作,信安业务系统会生产人工审核、机器检测、举报、申诉、维权、处罚、处理、取证等一些列风控系统的数据,但是安全治理工作除了使用到这些风控侧数据之外还需要使用业务侧数据,那么这些业务侧数据的生产维护散落在各个业务线,各个业务线对数据的管理维护标准也会有很大的差异,因此会有各种结构化、半结构化、非结构化数据,同时账号、帖子id等体系不统一,那么如何能够以一个低成本的方式进行数据分析,如何快速有效的组织和转化数据与黑产对抗,是整个风控环节面临的巨大挑战,因此信息安全需要构建各个业务场景数据与风控系统数据之间的串接,让这些数据有统一的标准、相同的规范、一致的规则存储在安全数仓中。
行星工单系统部分实现(1)-流程控制
工单系统是一种网络软件系统,根据不同组织,部门和外部客户的需求,来由针对的管理,维护和追踪一系列的问题和请求。大多用于记录、处理、跟踪一项工作的完成情况。 为使客服同学有序、协同处理客户问题,客服技术团队打造了多渠道整合的,可灵活配置的,便于流转的行星工单系统。
WLock:分布式锁平滑迁移实践
WLock是一套基于58已开源的一致性算法组件WPaxos实现的分布式锁服务,具有丰富的锁类型、灵活的锁操作、高可靠性、高吞吐、多租户和易用性等特点。可应用于分布式环境下协调多进程/线程对共享资源的访问控制、多节点Master选主等业务场景。
基于AOP思想构造RocketMQ组件
HunterConsumer和HunterProducer组件主要是利用AOP思想实现,它使开发人员在编写业务逻辑时可以专心于核心业务,而不用过多的关注于一些非业务的重复代码,这不但提高了开发效率,而且增强了代码的可维护性。
基于Sentry高效治理前端异常
本文介绍前端异常治理的重要性,并基于开源平台Sentry高效发现前端异常以及高效解决前端异常。
前端异常监控 Sentry 的部署和升级
Sentry 为一套开源的应用监控和错误追踪的解决方案。这套解决方案由对应各种语言的 SDK 和一套庞大的数据后台服务组成。应用需要通过与之绑定的 token 接入 Sentry SDK 完成数据上报的配置。通过 Sentry SDK 的配置,还可以上报错误关联的版本信息、发布环境。同时 Sentry SDK 会自动捕捉异常发生前的相关操作,便于后续异常追踪。异常数据上报到数据服务之后,会通过过滤、关键信息提取、归纳展示在数据后台的 Web 界面中。
转转使用 Sentry 监控前端错误已经有好几年了。我们在 SDK 端封装的统一的 @zz-common/sentry 库。从而实现了 vue、react、小程序、node、ssr 的统一接入和错误分级管理。可以参考文章:转转商业前端错误监控系统(Sentry)策略升级。之前我们使用的 Sentry 是源码安装的老版本。后来客户端需要接入 Sentry 并上传 mapping 文件。但是老版本的 Sentry 总是上传失败。所以我们就准备升级一下 Sentry。本文就是用来记录 Sentry 升级部署和遇到的问题。
公众号运营设计全套秘籍
本文梳理了公众号设计过程的每个流程、方法和细节,一次性看个够,干货满满。
jvm-sandbox初体验
目前转转的辅助测试平台有JVM注入、流量回放,前者通过修改指定服务、类、方法返回值,Mock超时、异常等难以测试覆盖场景,提高测试效率;后者通过在稳定环境采集流量,动态环境自动回放用例,根据diff同一用例稳态和动态环境返回结果来检验程序是否存在问题,降低代码变动对整体系统带来的风险,这些平台均用到了jvm-sandbox技术,最近学习了相关知识,记录下初次体验心得。