响应式架构与 RxJava 在有赞零售的实践

随着有赞零售业务的快速发展,系统和业务复杂度也在不断提升。如何解决系统服务化后,多个系统之间的耦合,提升业务的响应时间与吞吐量,有效保证系统的健壮性和稳定性,是我们面临的主要问题。结合目前技术体系和业务特点的思考,我们在业务中实践了响应式架构以及RxJava框架,来解决系统与业务复杂所带来的问题。实践响应式架构响应式架构是指业务组件和功能由事件驱动,每个组件异步驱动,可以并行和分布式部署...
阅读全文

缓存抽象层Spring cache实战操作

1.前言 Spring从3.1开始定义了一系列抽象接口来统一不同的缓存技术;并支持使用JCache(JSR107)注解简化我们进行缓存开发。Spring Cache 只负责维护抽象层,具体的实现由你的技术选型来决定。将缓存处理和缓存技术解除耦合。 2.主要依赖Spring cache 抽象由springcontext相关组件实现。非Spring Boot...
阅读全文

SparkSQL在有赞的实践

前言==有赞数据平台从2017年上半年开始,逐步使用 SparkSQL 替代 Hive 执行离线任务,目前 SparkSQL 每天的运行作业数量5000个,占离线作业数目的55%,消耗的 cpu 资源占集群总资源的50%左右。本文介绍由 SparkSQL 替换 Hive 过程中碰到的问题以及处理经验和优化建议,包括以下方面的内容: 有赞数据平台的整体架构。 SparkSQL 在...
阅读全文

HBase写吞吐场景资源消耗量化分析及优化

一. 概述=====HBase 是一个基于 Google BigTable 论文设计的高可靠性、高性能、可伸缩的分布式存储系统。 网上关于 HBase 的文章很多,官方文档介绍的也比较详细,本篇文章不介绍HBase基本的细节。本文从 HBase 写链路开始分析,然后针对少量随机读和海量随机写入场景入手,全方面量化分析各种资源的开销, 从而做到以下两点:1. 在给定业务量级的情况下,...
阅读全文

透过 OKR 进行项目过程管理

项目管理是项目的管理者在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效的管理。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价, 以实现项目的目标。\在有赞,进行项目前会经过一系列的规划流程,确认资源后即启动项目进行。本文接下来会讨论的是如何透过 OKR 的方式来管理项目研发过程。一、简介 OKR========OKR(Obj...
阅读全文

CAP一致性协议及应用解析

一、一致性 1.1 CAP 理论1. C 一致性:分布式环境中,一致性是指多个副本之间,在同一时刻能否有同样的值2. A 可用性:系统提供的服务必须一直处于可用的状态。即使集群中一部分节点故障。3. P 分区容错性:系统在遇到节点故障,或者网络分区时,任然能对外提供一致性和可用性的服务。以实际效果而言,分区相当于通信的时限要求。系统如果不能在一定实现内达成数据一致性,也就意味着...
阅读全文

Druid在有赞的实践

一、Druid介绍Druid 是 MetaMarket 公司研发,专为海量数据集上的做高性能 OLAP (OnLine Analysis Processing)而设计的数据存储和分析系统,目前 已经在Apache基金会下孵化。Druid的主要特性: 交互式查询( Interactive Query ): Druid 的低延迟数据摄取架构允许事件在它们创建后毫秒内查询,因为 Druid...
阅读全文

效能改进之项目例会导入实践

众所周知,在项目管理的过程中,我们需要非常注重沟通,而每日例会作为沟通管理中的一项最佳实践,非常适配互联网项目短频快的特点。成功地在项目中建立例会制度,能带来以下好处:1)让研发人员相互之间了解各自的任务完成情况,以便于上下游及时衔接,发现进度异常和集成的风险; 2)让技术难题和业务疑点及时暴露,并根据问题的普适程度,选择在会上或会后得到支持与解答; 3)让产品经理了解研发过程,一方面...
阅读全文

为什么选择使用 OKR 进行项目过程管理

延续上次讨论的的内容,有位朋友给了反馈,但是碍于回覆的字数有限,无法说明的更多,索性将内容弄得多点,变成一篇文章 😂😂😂一、OKR=====OKR 是一个目标管理框架,可以帮助领导者将他们的团队从 A 领导到 B。OKR 的一些好处包含改善焦点、提高透明度以及团队之间更好的一致性。由英特尔的 Andrew Grove 发明,后来由谷歌推广,在硅谷科技公司中广为人知,并被世界各地的许多...
阅读全文

你不知道的Virtual DOM(二):Virtual DOM 的更新

一、前言目前最流行的两大前端框架,React 和 Vue,都不约而同的借助 Virtual DOM 技术提高页面的渲染效率。那么,什么是 Virtual DOM ?它是通过什么方式去提升页面渲染效率的呢?本系列文章会详细讲解 Virtual DOM 的创建过程,并实现一个简单的 Diff 算法来更新页面。本文的内容脱离于任何的前端框架,只讲最纯粹的 Virtual DOM 。敲单词太累了,下文...
阅读全文