伴鱼技术团队

Technology changes the world

伴鱼开放平台 上线了! 源于实践的解决方案,助力企业成就未来!

背景

伴鱼后端服务采用微服务架构部署,目前在服的服务有 800+。在 2019 年,公司就引入 Jaeger
搭建自己的调用链追踪系统,目前每天写入的数据接近 100 GB / 天。但系统在实际生产使用中,依然不甚满意,主要症结在于:

  • 系统采用头部连贯采样(head-based coherent sampling)的 Rate Limiting
    限流采样策略,即在 trace 的第一个 span 产生时,就根据限流策略:每个进程每秒最多采 1 条 trace,来决定该 trace 是否会被采集。
    这就会导致小流量接口的调用数据被采集到的概率较低,叠加服务出错本身就是小概率事件,因此错误调用的 trace 数据被采集到的概率就更低。
  • 即使错误调用 trace 数据有幸被系统捕捉到,但 trace 上只能看到本次请求的整体调用链关系和时延分布,除非本次错误是由某个服务接口超时导致的,
    否则仅凭 trace 数据,很难定位到本次问题的 root cause。
  • 就算 trace 数据中能明显看到某个服务接口超时,但引发超时的并不一定是该接口本身,可能是该服务(或数据库、缓存等三方资源)被其他异常请求耗尽
    资源,而导致本次请求超时。

本文将从「数据基础建设」、「深入挖掘分析」和「效果展示」三个方面,来介绍伴鱼是如何解决以上难题,并沉淀和固化自己的最佳实践。

...

阅读全文 »

背景

伴鱼智能陪练系统是伴鱼推出的基于 AI 技术的大规模销售人员培训工具,通过配置常见工作场景的工作流,让销售人员与虚拟机器人对话,对话完毕后测评对话的准确性,达到销售新人快速上手的效果,目前通过 SaaS 形式对外提供服务,详情可点击这里

伴鱼智能陪练系统在使用过程中最大的痛点是语音识别及对话测评过程过慢,导致每次流程流转过程中用户需要等待较长时间,非常影响用户体验。下面主要介绍在语音识别及对话测评方面的技术演进。

...

阅读全文 »

伴鱼早期,整个大数据仓库下的数据基本处于裸奔状态,没有做任何的权限校验与审计,用户可以对数据为所欲为,这个阶段主要考虑效率优先。随着业务的发展,数据安全的重要性愈发突显,大数据权限系统因运而生,本文将向大家介绍伴鱼大数据权限系统的设计与实现。

...

阅读全文 »

背景

伴鱼绘本发布至今已有 5 年,作为一款主要面向儿童的 App,其包含大量游戏化场景和多媒体资源来保证内容的趣味性、丰富性。我们的产品面向海内外用户,统计发现 iOS 设备中约 3 成是已发布 5 年以上的旧设备。旧的设备意味着 CPU 运算能力差、内存小,同时国外网络环境相较于国内要差。所以在保证产品趣味性和丰富性的同时,我们要让程序维持优秀的用户体验,在各种不同性能的设备上流畅运行。

...

阅读全文 »

背景

产品被多个国家使用,产品方希望产品拥有更好的多语言使用体验,所以设计师提供多种字体来适配指定的语言。基于以上背景,客户端需要快速给出解决方案并且上线。

字体包的多语言适配和实践

需求分析

首先,在了解产品需求和设计方案之后,结合业务研发人员的痛点,整理出以下需求。

...

阅读全文 »

前言

在伴鱼,我们在多个在线场景使用机器学习提升用户的使用体验。例如,在伴鱼绘本中,我们根据用户的帖子浏览记录,为用户推荐他们感兴趣的帖子。

在线预测是机器学习模型发挥作用的临门一脚,重要性不言而喻。在伴鱼,我们搭建了机器学习预测服务(以下简称预测服务),统一地处理所有的预测请求。本文主要介绍预测服务的演进过程。

...

阅读全文 »

数据仓库有四个基本的特征:面向主题的、集成的、相对稳定的、反映历史变化的。其中数据集成是数据仓库构建的首要前提,指将多个分散的、异构的数据源整合在一起以便于后续的数据分析。将数据集成过程平台化,将极大提升数据开发人员的效率,本文将向大家介绍伴鱼基于 Flink 构建的「数据集成平台」的设计与实现。

A data warehouse is a subject-oriented, integrated, nonvolatile, and time-variant collection of data in support of management’s decisions.—— Bill Inmon

...

阅读全文 »

1. 背景

在伴鱼,我们努力了解我们的用户,旨在为用户提供更好的服务。APP 内容推荐,需要根据用户特征来决定推送内容;促销活动,需要针对不同的用户群体设计不同的活动方案;线上产品售卖,也需要了解用户喜好,才能更好地把产品卖给用户。

为此,我们搭建了用户画像平台。本文将首先探讨平台的功能需求、标签体系定位,随后介绍平台的架构和具体功能实现。

...

阅读全文 »

在伴鱼,我们使用 Seldon Core 部署机器学习模型,本文将一步步地带着大家使用 Seldon Core 这个开源的机器学习模型部署方案,部署 LightGBM 模型。

首先,让我们了解几个有关 Seldon Core 的核心概念。

...

阅读全文 »

前言

在伴鱼,我们在多个在线场景使用机器学习提高用户的使用体验,例如:在伴鱼绘本中,我们根据用户的帖子浏览记录,为用户推荐他们感兴趣的帖子;在转化后台里,我们根据用户的绘本购买记录,为用户推荐他们可能感兴趣的课程;等等。

特征是机器学习模型的输入。如何高效地将特征从数据源加工出来,让它能够被在线服务高效地访问,决定了我们能否在生产环境可靠地使用机器学习。为此,我们搭建了特征系统,系统性地解决这一问题。目前,伴鱼的机器学习特征系统运行了接近 100 个特征,支持了多个业务线的模型对在线获取特征的需求。

下面,我们将介绍特征系统在伴鱼的演进过程,以及其中的权衡考量。

...

阅读全文 »