公司:政采云
数据仓库模型重构实践
数仓建模,实际上就是构建一种数据存储模型,用于结构化的方式存储我们业务系统有价值的数据,目标让我们用更低的存储成本,更清晰的数据结构存储组织数据,更快更高效高质量的支撑业务分析满足客户需求。
从源码看Lucene的两阶段提交
二阶段提交协议(Two-phase Commit Protocol,简称 2PC )是分布式事务的核心协议。
uni-app 黑魔法探秘 (一)——重写内置标签
在 uni-app 项目的开发过程中,我和小伙伴们不断为 uni-app 中一些写法感到好奇。譬如如何重写内置标签、类似 c++ 中预处理器指令的条件编译、为什么 vue 文件中我没加 scoped 也会自动加上命名空间。
ElasticSearch 文档分值 score 计算&聚合搜索案例分析
伴随整个政采云搜索业务的发展,商品总量也从千万级别快速膨胀到亿级别,伴随商品量的增长,带来的是索引体积的快速膨胀,进而导致ES 集群面临越来越严重的 io 读取瓶颈。
Kubernetes弹性扩缩容之HPA和KEDA
传统意义上说,弹性伸缩主要解决的问题是容量规划与实际负载的矛盾。而云计算为云原生中提供的优势之一就是弹性能力,从Kubernetes实战出发,不管是在业务稳定性保障还是成本治理角度,弹性扩缩容能力都是必要研究方向。
设计中的负荷理论
负荷理论从人机工程学角度归纳了人与互联网产品交互过程中的三种负荷。大多数情况下,为了创造简洁易用、清晰明了的界面,我们应该设法降低负荷。但在一些特殊场景,需要适当增加负荷来保证用户交互的安全性。
从 线上死锁分析 到 Next-Key Lock 理解(2)
首先在碰到死锁问题的时候,需要由表及里。由业务流程剖解 深入到 SQL 执行上锁 ,返璞归真分析上锁的过程才能根本解决死锁问题,要会用加锁规则去判断语句的加锁范围。
springboot优雅停机
本文介绍了springboot的优雅停机方式。
Redis两层数据结构简介
Redis 的性能高的原因之一是它每种数据结构都是经过专门设计的,并都有一种或多种数据结构来支持,依赖这些灵活的数据结构,来提升读取和写入的性能。
开源框架APM工具--SkyWalking原理与应用
本文简单讲了分布式链路追踪的原理、Skywalking 设计和应用。总的来说,Skywalking 架构简单、利用无侵入的字节码增强技术使用很方便,扩展性强,对 Java 程序分布式监控方案提供了很大的便利性,方便我们更快速定位问题原因。
Spock单元测试框架简介及实践
单元测试(Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。
浅谈大数据指标体系建设流程
指标体系,就是指衡量企业业务状态的指标集合。在实际的工作中,在解决一个复杂的业务问题时,需要使用多个指标从不同维度来评估业务,也就是使用指标体系。指标体系是从不同维度梳理业务,把指标有系统地组织起来。简而言之,指标体系 = 指标 + 体系。
前端 DDD 框架 Remesh 的浅析
DDD(Domain-Driven Design):领域驱动设计。首先需要了解,所谓的「领域」,其实不仅仅在于程序表现形式,更适合说是对特定业务的描述,通常由该业务的垂直协作方共同确定,比如产品需求、系统架构、程序代码,由一群“专业的”人承接,这意味着其中的每一个人,可能都是该「领域」内的专家,而「领域模型」成了他们之间的「通用语言」,或者说,「领域知识」让彼此能够坐在一起讨论问题,再换句话说,产品也可以使用此通用语言来“组织代码”。这也是 DDD 的战略意义。
初识 Turbopack
Turbopack 是 Webpack 的作者 Tobias Koppers 使用 Rust 语言开发一个前端模块化的工具,按作者构想 Turbopack 的目标是取代 Webpack。
sharding-jdbc分享
Sharding-JDBC 是当当应用框架 ddframe 中,从关系型数据库模块 dd-rdb 中分离出来的数据库水平分片框架,实现透明化数据库分库分表访问。
浅谈柯里化
在计算机科学中,柯里化(英语:Currying ),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数,而且返回结果的新函数的技术。这个技术由克里斯托弗·斯特雷奇以逻辑学家哈斯凯尔·加里命名的,尽管它是 Moses Schönfinkel 和戈特洛布·弗雷格发明的。柯里化其实也是函数式编程的思想。