Monorepo 是一种项目代码管理方式,指单个仓库中管理多个项目,有助于简化代码共享、版本控制、构建和部署等方面的复杂性,并提供更好的可重用性和协作性。
在当今的软件开发领域,性能问题是一个永不过时的挑战。为了解决这一挑战,开发人员需要深入了解他们的应用程序运行时的性能,并快速定位高耗时问题。线程剖析是一种强大的工具,通过采集和计算运行时线程栈,可以帮助开发人员更好地理解和解决性能问题。本文将深入探讨线程剖析的基本思想和实现思路,以及客户端和服务端的设计。
Higress 开源一年时间,一共发布了 18 个 release 版本,收获了 40 多位社区贡献者和 1800+ star,上图是这一年过来达成的一些关键的里程碑。 前面半年通过集成开源生态,打磨开源版本稳定性,并在发布 1.0 GA 版本后,社区又马不停蹄发布了 1.1 和 1.2 两个重要版本,实现了非 K8s 部署,Knative 适配等核心能力。 Higress 1.3 版本已经正式发布,除了增加的新功能,已有能力也在大量社区用户反馈的过程中不断完善改进,这个版本同时标志着 1.x 进入可以大规模生产使用的状态。
本文是vivo互联网大数据团队《BI数据可视化平台建设》系列文章第2篇 -筛选器组件。 本文主要介绍了BI数据可视化平台建设中比较核心的筛选器组件, 涉及组件分类、组件库开发等升级实践经验,通过分享一些对交互和业务耦合度高的组件开发迭代的思考,希望可以给正在做组件重构解耦的读者带来启发。
本文讨论了 KubeCon 的主要议题,包括平台工程、Kubernetes 的不断发展、开发者体验的重要性、对应用开发和集成的关注、云原生通信的捆绑问题、安全问题的重要性、对可持续性的关注,以及社区的力量。文章强调了在标准化和创新之间取得平衡的重要性,并预测云原生的未来将看到更多的 AI/LLMs。
微服务一直以来是服务治理的基本盘之一,落地到云原生上,往往是每个 K8s pods 部署一个服务,独立迭代、独立运维。 但是在快速部署的时候,有时候,我们可能需要一些宏服务的优势。有没有一种方法,能够 “既要又要” 呢?本文基于 tRPC-Go 服务,提出并最终实践了一种经验证可行的方法。 本文原文发布在腾讯内网平台中,随着腾讯 tRPC 框架正式开源,笔者决定将敏感信息脱敏后发布至外网,也助力 tRPC 的推广。
罗马不是一天建成的。语聊房当前架构也是不断演进的结果。 在技术架构层面,语聊房作为搭建在直播体系上的业务,使用既有技术架构体系可以帮助我们快速搭建早期产品,但随着业务迭代,已有技术体系又成为新的技术架构的负债。 同样在业务架构层面,语聊房产品已经迭代一年,产品形态依然在快速变化,已有的业务架构又会成为新的业务架构的阻碍。 每一次产品需求的迭代,都会对已有技术架构和业务架构造成双重冲击。 本文将结合语聊房持续演进的过程,谈谈业务视角下的架构演进。以及如何构建能应对各种变化的系统,不断达到新的平衡。
2014 年,Plumgrid 的工程师们站在技术的十字路口,面对着一个巨大的挑战:如何在 SDN(软件定义网络)环境中,更加高效、创新地处理网络流量。他们不仅迎接了这个挑战,更是开创了一个新纪元,打造了一项业界瞩目的技术革新 —— 扩展的伯克利数据包过滤器,即 eBPF。这项技术的出现,不仅是一次技术的飞跃,更是一种全新的思考方式,它使得用户级别的代码得以在 Linux 内核中运行,从根本上改变了 SDN 环境下的网络流量处理模式。这些工程师们可能没想到,他们的这一举动,正在为 Linux 内核的未来铺设道路。 eBPF(扩展的伯克利数据包过滤器)是一场技术的魔法秀,它允许程序员在不触碰内核源代码的前提下,直接在操作系统的核心 —— 内核中运行自己的代码。这项技术不只是一次革命,它重新定义了开发者与内核间的互动方式。 这部官方纪录片宛如一本精彩绝伦的探险故事书,带领观众一探 eBPF 的奥秘。它讲述了 eBPF 的起源、发展历程,以及它如何崛起为当下最受关注的开源技术之一。影片中展示了 eBPF 如何巧妙地增强和拓展了内核的功能,同时保持性能和安全性不受影响。