本文整理自 Pulsar Summit Asia 2022 腾讯云高级研发工程师冉小龙的演讲《Deep Dive into Apache Pulsar Lifecycle》。Apache Pulsar 中抽象了 Topic 来承载用户发送的消息,一条消息发送到 Topic 中之后会经过 Broker 的计算存储到 Bookie 中。本文将详细阐述消息是如何发送到 Broker 并经过 Broker 的计算以及元数据处理最终存储到 Bookie 中,然后会进一步阐述 Bookie 如何利用垃圾回收机制回收 Topic 中的数据,以及 Broker 中的 TTL 和 Retention 策略如何作用到 Bookie Client 来触发垃圾回收的机制。
Visual Studio Code「VSCode」是 Microsoft 在2015年推出的、针对于编写现代 Web 和云应用的跨平台源代码编辑器,受到广大开发者热捧。腾讯文档向 VSCode 贡献了一些核心代码,主要涉及到 VSCode 配置化的部分,为其显著增强了配置化和插件化能力。作者希望将其中积累的经验分享出来,贡献给开源社区,为广大开发爱好者提供参考。本文详细解读源代码。欢迎阅读!
总部位于苏州的这家国际物流SaaS公司,已经借助云原生能力,实现了技术架构的全面升级。 海管家,这家创立于2015年的年轻科技公司,不到8年时间,将服务的客户数量做到超百万级,遍布全球各地,成长速度让人咂舌。 得益于公司在AI、大数据、云计算等技术领域的超前布局,海管家率先在物流领域推出多个变革性产品,为港口、船公司、货代企业、船代企业提供领先的系统解决方案和数据对接服务,在无纸化码头系统领域有丰富的项目经验。 目前,海管家的产品矩阵涵盖了可视化、电子单证发送、SaaS货代操作系统、跨境业务系统、获客和IM工具为主的综合性SaaS服务,并提供在线报关、线上代订舱(E-BOOKING)等公共物流服务。 那么,海管家又是如何通过云原生,在物流 SaaS领域实现业务创新,为客户提供更加稳定、可靠的服务的,并进一步帮助企业优化资源和人力成本的呢?带着这些疑问,我们深入带你了解这家企业的技术变革历程。
在系统的开发过程中,很多开发者都为了实现系统的高可用性而发愁。本文从研发规范层面、应用服务层面、存储层面、产品层面、运维部署层面、异常应急层面这六大层面去剖析一个高可用系统的架构设计需要有哪些关键的设计和考虑。希望腾讯的经验方法,能够给广大开发者提供参考。内容较长,您可以收藏后持续阅读。
这两年 AI 关键词频频热搜,从 2022 年 4 月初代码自动补全神器Copilot点燃程序员圈,到 10 月中旬的 AI 绘画Stable Diffcusion 1.0震惊绘画圈,最后到如今的ChatGPT引爆全网各领域。AI 人工智能时代已然到来。在 2023 年,AI 绘画技术和应用的发展已经非常迅速。目前,AI 绘画技术已经能够生成逼真的图像、视频和音频,同时还能够模仿艺术家的风格,创造出令人惊叹的艺术作品。 但是这些早期的 AI 绘画模型要么被大公司长久把持(例如OpenAI公司,他们早在 2021 年就推出了Dall-E1AI绘画模型,并未开源。直到Stability AI公司于 2022 年 8 月份发布并开源了Stable DiffusionAI 绘画模型,这才彻底让 AI 绘画热潮爆发! 自从Stable Diffusion 1.0模型发布以来,"AI 文本图片生成"真正的变成普通人也能使用的技术。同时各种国内外 AI 绘图软件,也不断频繁更新,像比较出名的文心一格、盗梦师、6pen 等生成工具,生成的图片已经达到了以假乱真的地步。
本文分享了微信游戏推荐系统从调研、设计、搭建到运维的整个流程。这套系统在微信游戏业务上得到广泛应用,服务着几亿微信游戏玩家;它也服务腾讯知名app类游戏分发、游戏相关内容推荐和几万款小游戏分发,并且取得不错的业务效果。如果你对相关内容感兴趣,欢迎阅读和分享。
相信大家对布隆过滤器(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 的理论带入设计实践。
客户端开发想要在多种生态中生存,必须熟练使用各种平台的环境和语言。许多开发者的职业生涯,涉及多个平台生态以及对应的原生编程语言。本文作者李杨不拘泥于某个语言或者特性,从语言的发展和历史的角度聊聊编程语言的发展。各个编程语言之前有何关联?编程语言界谁能笑到最后?欢迎阅读本文并进行探讨。