用户您好!请先登录!

Archives1月 2021

CAS和AQS底层原理

CAS(Compare And Swap)原理分析

字面意思是比较和交换,先看看下面场景(A 和 B 线程同时执行下面的代码):

int i = 10;  //代码 1
i = 20;      //代码 2

场景 1:A 线程执行代码 1 和代码 2,然后 B 线程执行代码 1 和代码 2,CAS 成功。

场景 2:A 线程执行代码 1,此时 B 线程执行代码 1 和代码 2,A 线程执行代码 2,CAS 不成功,为什么呢?

阅读更多

基于SSD的Kafka应用层缓存架构设计与实现

Kafka在美团数据平台的现状

Kafka出色的I/O优化以及多处异步化设计,相比其他消息队列系统具有更高的吞吐,同时能够保证不错的延迟,十分适合应用在整个大数据生态中。

目前在美团数据平台中,Kafka承担着数据缓冲和分发的角色。如下图所示,业务日志、接入层Nginx日志或线上DB数据通过数据采集层发送到Kafka,后续数据被用户的实时作业消费、计算,或经过数仓的ODS层用作数仓生产,还有一部分则会进入公司统一日志中心,帮助工程师排查线上问题。

阅读更多

美团移动端UI一致性解决方案

1. 背景

1.1 行业现状与问题

很多技术同学都知道,移动端往往比较侧重业务开发,这会导致人员规模不断扩大,项目复杂度也会持续增长。而为了满足业务的快速上线,很难去落实统一的设计规范,在开发过程中由于UI缺乏标准导致的问题不断凸显,具体体现在以下4个层面:

  • 设计层面:由于UI缺乏标准化设计规范,在不同App及不同开发语言平台上设计风格不统一,用户体验不一致;设计资源与代码均缺乏统一管理手段,无法实现积累沉淀,无法适应新业务的开发需求。
  • 开发层面:组件代码实现碎片化,存在多次开发的情况,质量难以保证;各端代码API不统一,维护拓展成本较高,变更主题、适配Dark Mode等需求难以实现。
  • 测试层面:重复走查,频繁回归,每次发版均需验证组件质量。
  • 产品层面:版本迭代效率低,版本需求吞吐量低,不具备业务的快速拓展能力。

阅读更多