拥有0000-未整理-等待研究标签的文章

有赞埋点实践

一、前言====大数据应用一般会有采集、加工、存储、计算及可视化这几个环节。其中采集做为源头,在确保全面、准确、及时的前提下,最终加工出来的指标结果才是有价值的。而埋点作为一种重要的采集手段,可以将用户行为信息转化为数据资产,为产品分析、业务决策、广告推荐等提供可靠的流量数据支持。在业务需求少的情况下,可以运用一些简单的方法快速采集用户行为。但如果业务线、终端众多,数据需求多样,就...
阅读全文

埋点质量保障

常见问题====我们收集日志,目的还是为了分析用户行为,挖掘潜在价值,最终能优化产品体验。因此,“高质量”是最基本要求,这是保证分析效果准确性的基石。那么,常见的质量问题有哪些呢? 事件重复&丢失。重复是由于SDK自身或者前端开发疏忽的问题,导致相同事件重复发送;丢失可能是设备、网络原因,或者是开发者漏埋导致。 事件参数错误。常见的情况有:”必传而未传“、”非空而为空“、”值类...
阅读全文

打印日志时 Logback 内部都做了些什么

引言==Logback 是一个优秀的开源日志框架,我们很多项目都使用它来记录日志。实际使用时,通常仅需要一行语句即可记录相应的日志信息,如`logger.info("Hello world.");`那么,看似简单的语句背后都有哪些故事,打印日志时 Logback 内部都做了些什么?本文以输出日志内容到文件为例,阐述 Logback 打印日志的工作流程。Logback 设计=...
阅读全文

有赞服务回归验证平台 - 对比引擎

一、对比引擎产生背景==========有赞作为一家SaaS公司,除了传统的微商城,还提供了零售、美业等产品解决方案。随着公司业务的快速发展,各业务系统也不断的进行着功能迭代或系统重构,如何保证这个过程中系统功能的正确性和服务的稳定性,是公司测试和开发人员需要面对的一个重要挑战。目前有赞内部已经有一套机制来保证业务系统的质量,包括一些常规的自动化测试工具和人工测试。但常规的自动化测试工具...
阅读全文

Dubbo 压测插件 2.0 —— 基于普通 API 调用

插件已开源,详见 上一篇中,我们介绍了基于 Dubbo 泛化调用实现的 Gatling Dubbo 压测插件,使用泛化调用发起 Dubbo 压测请求,consumer 端不需要拿到 provider 端的 API 包,使用上很便利,但是众所周知,Dubbo 泛化调用的性能不如普通 API 调用,虽然可以优化并使之达到与普通 API 调用相近的性能,但仍存在一些局限性。生产中除了网关等特殊应用...
阅读全文

有赞Flutter插件开发与发布

一、Flutter插件简介 一种专用的Dart包,其中包含用Dart代码编写的API,以及针对Android(使用Java或Kotlin)和针对iOS(使用OC或Swift)平台的特定实现(另外也可以包含Native的组件代码),也就是说插件包括原生代码与Dart代码。插件开发完成后,将上传到dart插件管理服务仓库,类似于maven、pod库,然后在flutter开发过程中可以通过pubs...
阅读全文

有赞 Flutter 混编方案

背景目前准备试水 Flutter,但是多数native开发是不了解Flutter,因此需要设计一种比较“舒服”的集成方式。混编方案 方案考量1. 如果直接采用 Flutter 工程结构来作为日常开发,那这部分 Native 开发也需要配置Flutter环境, 相当程度的了解 Flutter 一些技术,成本比较大。 2. 同时如果工程耦合,对于开发过程也是很难受的...
阅读全文

有赞NSQ多集群多机房设计

Overview从有赞双机房开始到金融云架构,针对业务方在多机房的应该部署以及消息发送订阅需求,需要NSQ针对双机房以及多机房部署提供消息发送与订阅服务。本文主要介绍了NSQ双机房以及多机房设计以及经验总结。场景和需求下图1是一个机房内基本的NSQ消息生产和消费的部署。一个机房内生产者往NSQ集群发消息,多个消费者订阅消息。 双机房场景下,业务的生产和消费在两个机房都有部署,也...
阅读全文

有赞零售 App 离线切换技术方案

一、离线模式的价值=========有赞零售客户端的用户是需要经营线下门店的商家,在商家的经营时间内,如果软件不能保证正常使用会导致经营效率下降,甚至客户流失。因此除了不断优化软件性能,降低崩溃率,还要做好异常情况的降级处理,比如遇到网络故障和服务器故障等情况时,软件要保证核心功能的可用性,此时软件的工作模式被称为离线模式。在离线模式下,客户端不能和服务端进行正常的数据通信,所有的数据存...
阅读全文

工作流引擎在有赞 DevOps 中的实践

一、 背景=====随着有赞规模的增长, 运维的事务也日益复杂, 如何能更加高效的协调好开发, 运维, 工具与流程之间的关系, 把运维人员从低效率, 高强度, 易犯错的人工操作中彻底解放出来,让他们的能力与精力有更大程度的发挥, 是一个很大的挑战.有赞 DevOps 平台的工作流引擎 Opsflow 经过两年时间的演进, 从最开始的仅支持简易的固定顺序加定制脚本的系统, 慢慢演化到可以通...
阅读全文