用好中间件是每一个开发人员的基本功,一个专业的开发人员,追求的不仅是中间件的日常使用,还要探究这背后的设计初衷和底层逻辑,进而保证我们的系统运行更加稳定,让开发工作更加高效。 结合这一主题,本文从一次线上告警问题出发,通过第一时间定位问题的根本原因,进而引出yu(美团内部自研)这类分布式链路追踪系统的设计思想和实现途径,再回到问题本质深入@Async的源码分析底层的异步逻辑和实现特点,并给出MTrace跨线程传递失效的原因和解决方案,最后梳理目前主流的分布式跟踪系统的现状,并结合开发人员日常使用中间件的场景提出一些思考和总结。
58营销平台从58主战网站或其他来源收集到的联系过58的企业,可能联系58的服务付费的企业用户,对于这样的企业信息在营销平台中称为商机。一个商机通过一系列过滤补充及数仓计算后入到营销的数仓中。其中商机包含很多对应属性,类似于:商机名称、企业所在行业、企业规模、企业地址、商机最后联系时间、商机近7天/30天/60天/90天联系次数。 平台相关运营依据自定义配置规则,条件组合选出所需商机,对所选出的商机完成所需操作。类似于:商机打标签(商机增加标签标识,销售人员依据标签选出商机做对应跟进)、商机入沉寂(业务系统中数据状态转为沉寂,减少跟进)、商机回流(将沉寂库商机转入公共库使销售人员持续跟进)......等等类似操作。 针对以上需求及场景,开发数据应用平台基于数仓的商机表输出的es索引,配置自定义数据圈选规则,并对圈选出的指定商机创建数据应用任务。数据应用任务根据场景配置调用时间窗口等规则定时调用,处理后的数据应用至各个业务场景。
在 Redis 的实际使用过程中,我们经常会面对以下的场景: 在 Redis 上执行同样的命令,为什么有时响应很快,有时却很慢; 为什么 Redis 执行 GET、SET、DEL 命令耗时也很久; 为什么我的 Redis 突然慢了一波,之后又恢复正常了; 为什么我的 Redis 稳定运行了很久,突然从某个时间点开始变慢了。 这时我们还是需要一个全面的排障流程,不能无厘头地进行优化;全面的排障流程可以帮助我们找到真正的根因和性能瓶颈,以及实施正确高效的优化方案。 这篇文章我们就从可能导致 Redis 延迟的方方面面开始,逐步深入排障深水区,以提供一个「全面」的 Redis 延迟问题排查思路。
近段时间,一直在参与国内金融行业的分布式数据库选型测试工作,围绕银行内部的实际业务场景进行验证。遇到了一个比较有意思的案例。 前期在联机业务场景测试中,各大数据库厂商在事务测试上都比较顺利,在功能和性能角度都很好的满足了业务要求。但在跑批业务场景的测试中,个别数据库厂商就遇到了分布式事务的一致性问题(会读到分布式事务中间状态的数据),而该厂商通过了行业的各项事务测评认证,因此展开了如何有效评测国产数据库事务一致性的话题,需要大家辩证的思考下。 本文是系列文章的第一篇,介绍第一个重要话题:“数据库的分布式事务”,这也是目前普通用户面对分布式数据库产品介绍问的最多的一个内容,如何有效评测分布式事务也是一个非常重要的能力。致敬同行,我们将PolarDB-X事务架构设计上的一些思考和测试方式,做了整理和梳理,期望能对大家更好的理解分布式事务的测试有所帮助。 这些所谓观点并无谁对谁错之分,仅仅代表我们的思考。如果你有任何想说的,也欢迎在评论区与我讨论。
KMM, 即Kotlin Multiplatform Mobile,是由Kotlin发布的移动端跨平台框架。相比于其他跨平台框架,KMM是原生UI+逻辑共享的理念,共享重复逻辑性的工作来提升开发效率的同时,保持原生执行效率与UI特性。所以KMM并不会替代Android和iOS的原生开发, 而是提倡将共有的逻辑部分抽出,由KMM封装成Android(Kotlin/JVM)的aar和iOS(Kotlin/Native)的framework,再提供给View层进行调用,从而节约一部分的工作量。
随着Chrome在107版本支持H.265的硬解,以及Web平台上H.265软解技术的成熟,在Web平台上规模化部署H.265视频的时机已经成熟。本文将为大家分享H.265部署过程中的一些经验和思考。