服务市场大数据应用实战

肖依云,2017年加入京东,目前就职于京东商城京麦平台组,从事京东商家开放平台的相关开发工作。

在2018年,服务市场经过多次技术架构升级,完成了服务化治理工作,打造出一个前台轻量化、多中心赋能、为更多平台提供核心交易能力的服务交易平台。在服务市场不断升级改造的同时,也渴求能够通过大量的数据分析、数据的可视化展示来见证系统的发展。

于此同时,随着服务市场的技术架构升级、交易能力提升、流量增大,我们也需要有更多的大数据技术接入,提高服务市场的数据处理能力。就此,我们做了大量的准备,具体如下。

数据的可视化处理

举一个简单的例子,服务市场有很多中心系统会对其他部门提供大量的JSF接口。在原先,大家只能够通过JSF平台来查看某一个接口的使用情况,很难对整体的接口提供量、日调用量、调用方情况做系统的分析,难以维护。

为了能够更有效地维护对外接口情况,我们在系统的对外接口层做了AOP切面的埋点,通过Kafka将每个接口的调用信息实时传到Hbase中,通过定时任务,将每天的对外接口调用量上从Hbase抽取到京东数据集市,在集市中,我们对这些数据进行分析,并将最终的结果通过图表的形式直观的展现出来。这样,开发人员就能随时关注每个对外接口的使用情况了。

服务市场大数据应用实战

此外,我们在完成某个项目需求后,也可以通过这种形式获取各类数据进行分析来展现我们的开发成果。比如在前段时间我们将评价评分功能从用户体验和技术架构两个维度做了提升和改造,通过数据的可视化处理,可以很容易的看到评价量的大幅度增长。

对外提供数据分析资源

在日常工作中,运营、业务方、数据部门和团队内部都需要对服务市场的各项数据(比如PV/UV、订单、订购、服务等)进行数据分析。以往,我们都是直接对外提供JSF接口,让他们直接调用接口从数据库/缓存中查询数据。这样做风险是很大的,因为通常这些部门都需要全表查询数据,如果在没有缓存保护的情况下,直接从数据库抽取数据,容易影响数据稳定性。

针对这个问题,我们按照表维度,将服务市场的数据定时同步到京东数据集市上,再从数据集市将这些数据推送给其他部门使用,这样一来,不但我们可以减小风险,对于业务方来说,他们也能更方便的从集市获取数据,减少了开发成本,达到了双赢的效果。

服务市场大数据应用实战

大数据技术的接入

在我们的系统中有很多需要对数据进行同步、计算、分析的功能点,以往这些功能点都是糅合在各个项目中的。这些功能都需要对大量数据进行操作,为此,我们考虑将这些功能从项目中剥离出来,接入像Flink、Storm之类的流式计算来处理。像前文提到的对外接口切面,就是通过Storm消费Kafka传入的AOP切面信息进行处理,存入HBase中。对于Flink,我们也通过同步订购缓存数据这个小功能点对其进行了实验性的接入。目前,我们正在使用Flink优化服务评价评分方面的功能。

总结

利用京东大数据平台,服务市场可以很好的对系统的各项数据进行全面的、多维度的分析,为服务市场的发展提供有力的数据支撑,让服务市场的数据分析变得自动化、多样化。大数据技术的接入,丰富了服务市场的技术栈,让开发人员触碰到更多的技术领域,在提高业务能力的同时学习到更多的技术。服务市场团队正逐步向既懂业务又会技术的综合性技术团队发展。

自己在接触数据分析这块业务的过程中,在为团队提供数据支持的同时,也让自己对大数据技术有了更为全面的学习和实践。