相信大家对布隆过滤器(Bloom Filter,BF)都不陌生,就算没用过也听过。布隆过滤器是一种具有空间优势的概率数据结构,用于回答一个元素是否存在于一个集合中这样的问题,但是可能会出现误判——即一个元素不在集合但被认为在集合中。 布隆过滤器可用于避免缓存穿透、海量数据快速查询过滤之类的场景。但是,大家真的了 BF 吗?BF 有哪些参数?BF 支持删除吗?BF 的哈希函数怎么选?还有其他类型的 BF 吗?等等...... 本文将从论文着手,从 BF 的起源开始,介绍初始的 BF,介绍 BF 的概率计算过程。接着介绍几个 BF 的变种:包括可以支持删除的(Count Bloom Filter, CBF);在 CBF 的基础上能进一步节省空间的(dlCBF);支持多个集合的(Spatial Bloom Filter, SBF)和支持动态扩容的(Scalable Bloom Filter)。最后介绍一些关于 BF 的疑问,并且结合部分 Golang 组件源码分析,将 BF 的理论带入设计实践。
客户端开发想要在多种生态中生存,必须熟练使用各种平台的环境和语言。许多开发者的职业生涯,涉及多个平台生态以及对应的原生编程语言。本文作者李杨不拘泥于某个语言或者特性,从语言的发展和历史的角度聊聊编程语言的发展。各个编程语言之前有何关联?编程语言界谁能笑到最后?欢迎阅读本文并进行探讨。
在计算中,缓存是一种存储数据的硬件或软件组件,以便可以更快地满足未来对该数据的请求;存储在缓存中的数据可能是早期计算的结果或存储在其他地方的数据副本。当可以在缓存中找到请求的数据时发生缓存命中,而当找不到时发生缓存未命中。缓存命中是通过从缓存中读取数据来提供的,这比重新计算结果或从较慢的数据存储中读取要快;因此,缓存可以处理的请求越多,系统执行的速度就越快。 为了具有成本效益并能够有效地使用数据,缓存必须相对较小。尽管如此,缓存已经在许多计算领域证明了自己,因为典型的计算机应用程序访问具有高度局部引用的数据。这种访问模式表现出时间局部性,其中请求的数据最近已经请求过,而空间局部性,其中请求的数据物理上存储在已经请求的数据附近。 缓存可以说是无处不在,比如:PC电脑中的内存、CPU中有二级缓存、http协议中的缓存控制、CDN加速技术,无不都是使用了缓存的思想来解决性能问题。缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。
随着越来越多的企业将应用程序迁移到 Kubernetes 平台,它逐渐成为了资源编排和调度的重要入口。众所周知,Kubernetes 会按照应用程序申请的资源配额进行调度,因此如何合理的配置应用资源规格就成为提升集群利用率的关键。这篇文章将会分享如何基于 FinOps 开源项目 Crane 正确的配置应用资源,以及如何在企业内推进资源优化的实践。
We 分析是微信小程序官方推出的、面向小程序服务商的数据分析平台,其中画像洞察是一个非常重要的功能模块。微信开发工程师钟文波将描述 We 分析画像系统各模块是如何设计,在介绍基础标签模块之后,重点讲解用户分群模块设计。希望相关的技术实现思路,能够对你有所启发。
在已落幕的 QCon 全球软件开发大会·北京站《云原生微服务架构新趋势》专场,业界大佬们针对以基础设施和业务分离为核心目标,多运行时 /Dapr 等概念/项目被提出已有 2 年有余,它们是否真正解决了我们面临的问题?业务的反馈如何?是一个明确的新趋势吗?另一边,微服务治理标准化是否可行?Proxyless 是正确的路线吗? Java 如何适配云原生微服务架构?等问题进行了热烈讨论。腾讯云中间件团队技术专家单家骏针对以上问题也带来了精彩分享,议题是《面向异构技术栈和基础设施的服务治理标准化》。 本次分享主要从以下5个小节进行,首先从企业级服务架构入手,介绍异构技术设施和技术栈在现代企业架构所存在的必要性及对服务治理所带来的挑战,接下来介绍针对这些挑战的解决方案--服务治理标准化建设,最后分享标准化方案的生态建议。
腾讯自研搭建了业界一流的太极机器学习平台,致力于让用户更加聚焦业务 AI 问题解决和应用,一站式的解决算法工程师在 AI 应用过程中特征处理,模型训练,模型服务等工程问题。结合对用户的习惯理解和功能沉淀,太极在产品层提供数据/特征工程,模型训练,模型服务三块。闭环了用户离线训练到在线服务的应用,包含了不同场景下的数据访问诉求,不同训练模型的诉求,在线服务可靠性的诉求。算法框架&组件层提供了机器学习、深度学习核心组件。可支持 10TB 级模型训练、TB 级模型推理和分钟级模型发布上线,扩展集群规模则可支持更大的模型训练和推理,为实际业务提供大模型的情况下,同时具有很高的性能,达到行业领先水平。 太极机器学习平台采用了分布式参数服务器架构,这是业界第一梯队企业们公认的最佳选择。这种架构的特点是,存储模型参数和执行模型计算,这两种任务在分别的服务器上运行,增加更多服务器就可以支持更大、计算需求更高的模型。太极机器学习平台中的参数服务器系统 AngelPS 也是腾讯自研的成果,现在不仅可以承载 10TB 级模型的训练,对多维特征融合、复杂模型结构等更高级、更前瞻性的功能也有优秀支持。
分布式事务允许多个独立的事务资源参与到一个全局的事务中,全局事务要求所有参与的事务要么都提交,要么都不提交。XA是一套分布式事务规范,本文所说的XA事务是指基于XA协议的分布式事务。XA协议下,分布式事务通常由一个全局事务管理器,一个或多个局部资源管理器,以及一个应用程序组成: 应用程序(AP):定义事务边界,并指定构成事务的操作 资源管理器(RM):提供对共享资源的访问 事务管理器(TM):为事务分配唯一标识符,监视其进度,并负责事务的提交,回滚和故障恢复 MySQL的XA事务中,MySQL是资源管理器,事务管理器是连接MySQL的客户端。XA的协议主要描述了事务管理器与资源管理器之间的接口
2022年11月30日,OpenAI 发布了其最新的聊天机器人模型 ChatGPT。腾讯云开发者先后从其玩法体验、技术原理、上手方法和竞品洞察几个方面进行解读,并邀请腾讯前沿科技研究中心主任王强畅聊 ChatGPT 最受关注的问题(如果你对相关内容感兴趣,可点击一键跳转阅读)。然而,ChatGPT 成为现象级火爆技术之作的背后,是常年累月的技术积累和灵敏迭代。此次我们邀请腾讯 NLP 工程师张先礼深度解析 ChatGPT 进化历程——GPT 各代有何区别、如何演进?其现有能力有什么不足?未来将会有什么发展方向?欢迎各位开发者阅读、分享与交流 ChatGPT 神话的缔造之路。
本文整理自 Pulsar Summit Asia 2022 技术峰会上腾讯云中间件高级研发工程师韩明泽的分享《基于跨地域复制实现租户跨集群迁移》。本文主要介绍基于跨地域数据复制和订阅进度同步的实现及优化,以及腾讯云在跨集群迁移过程中遇到的问题及租户跨集群迁移解决方案。