得物 Zookeeper SLA 也可以 99.99% | 得物技术
在 2023 年,部分业务使用了自建的 ZooKeeper(ZK)集群,然后使用过程中 ZK 出现了几次波动,随后得物 SRE 开始接管部分自建集群,并进行了几轮稳定性加固的尝试。接管过程中我们发现ZooKeeper在运行一段时间后,内存占用率会不断增加,容易导致内存耗尽(OOM)的问题。我们对这一现象非常好奇,因此也参与了解决这个问题的探索过程。
大厂的OLAP架构啥样的?
推广应用 Druid、Clickhouse、Doris 等不同引擎,进一步完善各 OLAP 引擎监控管理平台,优化和完善引擎能力 实现多个 OLAP 引擎的智能路由,能够根据数据量、查询特征(例如 QPS 等)之间做自动/半自动的迁移和路由 与 Adhoc 平台实现融合,对一些频率高查询慢的查询可以路由到 OLAP 平台上 进一步完善和优化实时指标支持,目前实时指标只是基本上把整个流程走通了,引入多种 OLAP 引擎后将进一步考虑如何更好的支持实时指标
开放平台 - 互动玩法演进之路
随着直播业务和用户规模日益壮大,如何丰富直播间内容、增强直播间内用户互动效果,提升营收数据变得更加关键。为此,直播互动玩法应运而生。通过弹幕、礼物、点赞、大航海等方式,用户可以参与主播的直播内容。B站还通过开放平台,为第三方厂商和开发者提供了强大的技术支持,让直播互动玩法更加便捷、稳定和高效,为用户和主播创造了更多的乐趣和价值。
Monkey自动化工具结合B端组件可行性探索 | 得物技术
日常的迭代或者技术改造之后,系统常常会出现一些功能丢失、新增接口权限和页面白屏等问题。尽管事后可以依靠监控大盘查看监控数据来定位问题,但是这些手段是滞后的,无法提前发现系统已有问题。 为了保障系统的稳定性和强壮性,常见的方案包括代码层面覆盖单元测试,保证已有代码的强壮性,如前端平台商家组已经推行单元测试用例覆盖,但是也存在以下问题:
得物App灰度&全量发布效率提升实践
目录 一、背景 二、量化数据 1.版本报告 2.季度报告 三、优化方向 四、调整发布节奏 五、双端提升发布系统自动化能力 1.自动创建发布计划 2.打包/灰度/全量前卡口 3.App打包前置依赖提醒 4.自动打包 5.测试回归催收 6.事件订阅 7.Android应用市场上架监控 8.iOS定制化苹果商店 六、总结
公司新来一个架构师, 将消费金融系统重构了
1、背景 1.2 业务重组与合并 1.2 解决技术债务 1.3 影响开发效率 1.4 监控体系不够完善 2、重构目标 3、设计 3.1 调研 3.2 规划 3.3 修缮者模式 3.4 领域设计(横向拆分) 3.5 模块设计(纵向拆分) 3.6 代码设计 4、上线过程 5、监控 6、总结
自研流媒体协议探索与实践
自从我站从2020年逐步灰度自研P2P开始, 在直播下行带宽方面取得巨大的成功,带宽成本每年节省数亿。与此同时, 由于直播下行同时存在FLV和HLS两种直播协议,在回源带宽上也产生了双份费用,在2022年整个行业也处在下行阶段,为了进一步降本增效, 我们从回源成本出发,设计了一套新的流媒体协议,以应对当前多种下行协议分发的难题。
远程热部署的落地与思考-动态编译篇
1、背景 1.1 、真实工作场景 1.2、项目背景 2、预期目标 3、选讲问题分析 4、方案选择 5、探索实践 6、总结与展望
商家可视化埋点探索和实践|得物技术
目录 一、项目背景 二、可视化埋点方案 1. 产品定位 2. 需求埋点整体流程图 3. 埋点操作流程 三、商家可视化埋点的实践 1. 技术实现流程 2. 埋点定位&圈选方案 3. 数据采集 SDK 容器 4. 埋点验证更新 四、总结&规划
B站自研色彩空间转换引擎
我们实现了一套HDR转SDR的算法,但是当下并没有一个好的算法可以准确评估HDR转SDR的效果,像HDR-VDP(一种客观的图像质量评估方法),它只能评估亮度、对比度、细节上的质量,并无法评估两张图像在色度上的差异。色差公式CIEDE2000可以比较两个像素在亮度、色度、饱和度上的差异,但是由于HDR和SDR之间存在巨大的亮度范围差异,仅仅使用CIEDE2000公式计算的色差值无法准确反映HDR转SDR后的差异。在实际应用中,评估HDR转SDR的效果通常需要结合其他指标和方法,如亮部细节、暗部细节、色相差异等。结合这些指标可以更全面地衡量HDR与SDR之间的差异,以便更好地评估转换后的图像质量和观看体验。
得物布局构建耗时优化方案实践
目录 一、背景 二、现有方案 1. 掌阅 X2C 2. AsyncLayoutInflater 3. ViewCompiler 三、得物自研 X2C 框架实践 1. View 构建流程解析 2. 插件选型: APT or Gradle Plugin ? 3. 预加载 4. 构建线程优先级调优 5. 多线程构建探索 四、线上性能收益 五、框架对比 六、结语
再见了Kafka,MQ新王Pulsar大厂实践!
本文介绍公司选择 Apache Pulsar 的原因,使用 Apache Pulsar 的场景,Apache Pulsar 实践应用中遇到的问题及使用 Apache Pulsar 的未来规划。
B站画质补完计划(2):视频超分让像素细腻生动
为了给用户提供更清晰的画质体验,B站自研的超分辨率算法已经在站内广泛应用,支持了如《赛马娘》、《流浪地球2》、《权力的游戏》、英雄联盟S赛赛事直播等知名番剧、电影电视剧以及重要游戏赛事直播的 4K 视频流生产。
云成本优化的新武器-ZingJDK|得物技术
目录 一、背景 二、什么是 ZingJDK 三、Zing 的特性 1. ReadyNow® 预热 1.1 什么是“ReadyNow”? 1.2 什么是热身? 1.3 ReadyNow 如何运作? 1.4 Ready Now Orchestrator 2. Falcon JIT 编译器 3. Azul C4 垃圾收集器 3.1 C4 算法的 3 个阶段 4. 云原生编译器 四、总结 1. ZingJDK 的优势 2. ZingJDK 的缺点
FFmpeg前端视频合成实践
本文介绍的是一种基于FFmpeg + WebAssembly开发的视频合成能力,与社区既有的方案相比,此方案通过JSON来描述视频合成过程,可提高业务侧使用的便利性和灵活性,对应更多视频合成业务场景。 2023年上半年,基于AI进行内容创作的AIGC趋势来袭。笔者所在的团队负责B站的创作、投稿等业务,也在此期间参与了相关的AIGC创作工具类项目,并负责项目中的Web前端视频合成能力的开发。
大文件上传原理及实现方案
在网络应用中,大文件上传是一个技术挑战。本文详细解析了大文件上传的核心原理,并探讨了多种实现方案。从基本的文件分割、断点续传到复杂的并行上传,文章涵盖了一系列技术细节和最佳实践,包括如何处理网络波动、提高数据传输效率等关键问题。此外,还介绍了相关的前端和后端技术支持。无论是开发者还是架构师,这篇文章都将提供有力的技术指导和实战参考,帮助读者高效解决大文件上传问题。
前端monorepo大仓共享复杂业务组件最佳实践|得物技术
目录 一、背景 二、大仓下组件共享方式 1. 源码引入组件 2. MF 远程组件 三、最佳实践 1. 业务权限控制 2. 埋点上报 3. 降级方式 四、源码依赖结合 MF 模式 1. 先源码引入后 MF 2. 先MF后源码引入 五、未来&总结 1. 未来 2. 总结
JVM STW 和 Dubbo 线程池耗尽的相关性|得物技术
目录 一、背景 二、Thread pool is EXHAUSTED介绍 三、玄学Thread pool is EXHAUSTED 四、为什么不消费socket recv buffer 五、怎么追溯JVM进程STW 六、总结
WebGL高质量实时角色渲染
随着图形图像渲染技术的快速发展,如何在移动端呈现出高质量的数字人渲染效果,是实时渲染领域最主流的技术研究方向之一。对于B站移动端App而言,如果使用主流的实时渲染引擎如Unreal/Unity等,都会带来100-130M左右的安装包体积增量,进而增加应用安装和版本更新的成本。
DBA 降本增效之路——去哪儿网 Redis 自动化运维体系
目录 背景介绍 Redis使用现状 面临的挑战和问题 去哪儿网Redis自动化运维体系 资源管理 集群部署 自动化迁移 总结与展望