事故为宣传新品,我们开发了一个小程序,按照之前评估的访问量,这次活动预计参与用户量 30W+,TPS(每秒事务处理量)最高 3000 左右。这个结果来自我对接口做的微基准性能测试。我习惯使用 ab 工具(通过 yum -y install httpd-tools 可以快速安装)在另一台机器上对 http 请求接口进行测试。设置 -n 请求数 /-c 并发用户数来模拟线上的峰值请求,再通过 TPS、
0 前言开始Java编程性能优化。从String优化讲起。String 对象是我们使用最频繁的一个对象类型,但它的性能问题却是最容易被忽略的。String 对象作为 Java 语言中重要的数据类型,是内存中占据空间最大的一个对象。高效地使用字符串,可以提升系统的整体性能。两个对象是否相等?代码如下:String str1= "abc"; String str2= new String("abc"
0 前言面对日渐复杂的系统,制定合理的性能测试,可以提前发现性能瓶颈,然后有针对性地制定调优策略。即“测试 - 分析 - 调优”。咋制定系统的性能调优策略呢?1 性能测试攻略性能测试是提前发现性能瓶颈,保障系统性能稳定的必要措施。下面我先给你介绍两种常用的测试方法,帮助你从点到面地测试系统性能。1.1 微基准性能测试微基准性能测试可精准定位到某模块或某方法的性能问题,适合做一个功能模块或一个方法在
0 前言如今,软件服务可以由多个微服务组成,共同维护系统的 "状态"。在分布式软件设计中,最常见的挑战之一就是保持一致性。当构成整体服务的不同服务与系统状态不一致时,不一致的系统会引发各种问题。1 示例试想一下,在一个电子商务网站中,当客户下订单时,我们必须更新订单表以记录下的订单,更新奖励表以记录获得的奖励积分。在上述单体架构中,这很简单。启动一个事务,更新必要的表,然后提交事务。如果出现任何问
5 工作流程5.1 用户引导工作流程从前端到后端前端向 API 网关发送 POST /users/register 请求API 网关会将请求转发给用户服务用户服务到 KYC 服务用户服务向 KYC 服务发送 POST /kyc/verify 请求,以验证用户身份KYC 服务处理申请并在其数据库中更新状态事件发布用户注册成功后,用户服务会向 Kafka 发布 user.created 事件。事件消费
本文已收录在Github,关注我,紧跟本系列专栏文章,咱们下篇再续!作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。负责:中央/分销预订系统性能优化活动&券等营销中台建设交易平台及数据中台等架构和开发设计车联网核心平台-物联网连接平台、大数据平
基于微服务的支付钱包架构设计:专栏重点仅限于理解这些不同系统架构的架构、数据和控制流,欢迎加我好友一起交流学习。1 聚焦架构:基于微服务的架构基于微服务的架构具有模块性、可扩展性和灵活性,非常适合设计像 Google Pay 这样的支付钱包。对于支付钱包系统,微服务架构可无缝处理大量交易、与第三方系统集成并持续部署更新。2 支付钱包的主要功能像 Google Pay 这样的支付钱包通常支持用户引导
0 o1 System Card更新后的OpenAI o1 System Card在以往的安全工作基础上进一步优化,重点介绍了稳健性评估、红队测试见解以及安全性改进。https://openai.com/index/openai-o1-system-card/1 Introducing ChatGPT Pro拓展前沿人工智能的应用01和01 Pro模式发布:OpenAI发布01模型的完整版本,智能
0 导言缓存是一种强大的技术,广泛应用于计算机系统的各个方面,从缓存等硬件到操作系统、网络浏览器,尤其是后端开发。对于 Meta 这样的公司来说,缓存是非常重要的,因为它可以帮助他们减少延迟、扩展繁重的工作负载并节省资金。由于他们的用例非常依赖缓存,这就给他们带来了另一系列问题,那就是缓存失效。多年来,Meta 已将缓存一致性从 99.9999(6 个 9)提高到 99.99999999(10 个
0 前言你在 LinkedIn 上收到一位老同事请求推荐的信息。你还在996,所以只是快速确认了信息,却忘记保存他们发的简历。几天后想起这段聊天,但又懒得滚动,于是直接输入关键词搜索:这简单操作正是 LinkedIn 消息搜索系统的全部功能。但为何这么流畅?幕后原理是啥?本文深入了解 LinkedIn 搜索架构及。1 搜索服务搜索信息的一个核心理念:每条信息的搜索都仅限于用户,即用户只能在自己的收
0 前言过去一年中,我们与不同行业中开发大语言模型 (LLM) 智能体的多个团队进行了合作。我们发现,最成功的实现并非依赖复杂的框架或专业化的库,而是通过简单、可组合的模式构建。本文分享从客户合作及自身开发智能体的过程中所学到的经验,并为开发者提供构建高效智能体的实用建议。1 啥是智能体?“智能体”有多种定义:一些客户将智能体定义为完全自主的系统,这些系统能够独立运行较长时间,利用各种工具完成复杂
0 问题背景PC本地已安装了 MySQL 服务,默认暴露 3306 端口。现有一个 docker-compose 部署的服务,想通过 docker-desktop 在 PC 本地完成部署,观察效果。docker-compose 配置文件已经移除 MySQL 相关配置,而是直接使用 PC 即容器宿主机上的 MySQL 服务:version: '3.8' services: task-app:
1 导言在 Netflix,我们每月管理着上千个全球内容发布项目,每年的投资额高达数十亿美元。确保每部影片在我们平台上的成功和可发现性是我们的首要任务,因为我们的目标是将每个故事与合适的受众联系起来,让我们的会员满意。为了实现这一目标,我们致力于建立强大的系统,提供全面的可观察性,使我们能够对我们服务中的每个标题负全责。2 可观测性的挑战作为工程师,我们习惯于跟踪错误率、延迟和 CPU 利用率等
0 前言K-Means是一种非监督学习,解决聚类问题。K代表K类,Means代表中心,本质是确定K类的中心点,当你找到了这些中心点,也就完成聚类。问题:咋确定K类的中心点?咋将其他点划分到K类中?咋区分K-Means与KNN?如果理解了上面这3个问题,那么对K-Means的原理掌握得也就差不多了。有20支亚洲足球队,想按成绩划分3等,咋分?工作原理亚洲球队水平,你也有自己判断。如一流的伊朗或韩国;
0 前言关联规则挖掘在生活场景:商品捆绑销售挑选演员决策,也能通过关联规则挖掘看出来某导演选择演员的倾向Apriori算法实战掌握:熟悉概念:支持度、置信度和提升度;熟悉与掌握Apriori工具包的使用;在实际问题中,灵活运用,如数据集准备1 咋用Apriori工具包Apriori虽是十大算法之一,sklearn工具包没它,也没有FP-Growth算法。选择Python中可用的工具包,可通过 ht
Serverless解决方案正逐渐回归到服务器上。我最近在《Serverless悼词》(A Eulogy For Serverless)一文中讨论了这个问题。这篇文章的最初想法是我对另一篇关于微服务的文章的更新。但后来我开始写这篇文章时,就有了一些创意。最终的结果就是这篇观点多于事实的文章。我还以为这没什么。我的意思是,每个人都知道Serverless是个骗局,对吗?看来不是。所以我收到了很多负面
0 前言AdaBoost不仅可用于分类问题,还可以用于回归分析。啥是分类,啥是回归?分类和回归本质一样,对未知事物预测。不同在于输出结果类型:分类输出的是一个离散值,因为物体的分类数有限的回归输出的是连续值,也就是在一个区间范围内任何取值都有可能目标:用AdaBoost预测房价,这是回归问题。掌握:AdaBoost工具的使用,包括使用AdaBoost进行分类,以及回归分析使用其他的回归工具,比如决
前言数据挖掘核心问题:各种分类器,到底选啥分类算法:SVM,决策树,还是KNN?咋优化分类器的参数,以便得到更好的分类准确率?还要掌握数据探索和数据可视化的方式,还需要对数据的完整性和质量做评估。本文目标创建各种分类器,包括已经掌握的SVM、决策树、KNN分类器,以及随机森林分类器;掌握GridSearchCV工具,优化算法模型的参数;使用Pipeline管道机制进行流水线作业。因为在做分类之前,
0 目标了解逻辑回归分类及咋在sklearn中用信用卡欺诈属二分类问题,欺诈交易在所有交易中的比例很小,这种数据不平衡,用啥模型评估标准更准确完成信用卡欺诈分析的实战项目,并可视化对数据探索和模型结果评估进一步加强1 构建逻辑回归分类器逻辑回归,也叫logistic回归,但是分类方法,主要解决二分类问题,也可解决多分类。逻辑回归用了Logistic函数,也称Sigmoid函数:函数图类似S状:1.
0 前言机器学习算法和深度学习啥关联?数据挖掘、机器学习和深度学习的区别是什么?这些概念都代表什么?我们通过深度学习让机器具备人的能力,甚至某些技能的水平超过人类,比如图像识别、下棋对弈等。那么深度学习的大脑是如何工作的?深度学习是基于神经网络构建的,都有哪些常用的网络模型?深度学习有三个重要的应用领域,这三个应用领域分别是什么?1 数据挖掘 V.S 机器学习 V.S 深度学习数据挖掘和机器学习很
前言用Keras深度学习框架做识别手写数字。KNN算法讲过Mnist手写数字识别这数据集,当时采用mini版手写数字数据集。完整版Mnist共60000个训练样本和10000个测试样本,这么庞大的数据量更适合用深度学习框架完成训练。学习目标进一步了解CNN网络N网络在深度学习网络中应用很广,很多网络都是基于CNN网络构建的,你有必要进一步了解CNN的网络层次,尤其是关于卷积的原理。初步了解L
0 引言在 2020 年 11 月,我们在博客文章 通过优先级负载丢弃保持 Netflix 的可靠性 中引入了在 API 网关层进行优先级负载丢弃的概念。本文探讨如何将这一策略扩展到单个服务层,特别是在视频流控制平面和数据平面中,以进一步提升用户体验和系统弹性。1 Netflix 负载丢弃的演进最初的优先级负载丢弃方法是在 Zuul API 网关层实现的。该系统能够有效管理不同类型的网络流量,确保
在重构订单系统后,实现新老逻辑的无损切换是一个复杂但至关重要的任务。为了确保新增下单流量不受影响,各大互联网公司通常会采用一系列策略和方法来实现平滑过渡。以下是一些常见的实际方案:1. 灰度发布(A/B测试)逐步切换流量:将新老系统并行运行,通过灰度发布逐步将流量从老系统切换到新系统。例如,先让一部分用户使用新系统,观察其表现,再逐步扩大范围。流量切分:可以根据用户ID、时间段或其他维度来切分流量
1 Redis的执行模型执行模型,即Redis运行时使用的进程、子进程和线程的个数,以及它们各自负责的工作任务。你肯定听过“Redis是单线程”、“Redis的主I/O线程”、“Redis包含多线程”,众说纷纭。于是你开始好奇了,Redis到底是不是一个单线程程序?若Redis就是单线程程序,则需避免所有容易引起线程阻塞的操作若Redis不只是单线程,还有其他线程在工作,则需要了解多线程各自负责什
3.3 Claude 3.5 sonet构建单页应用在 Claude 描述需求,快速创建单页应用的代码,直接通过 Claude Artifact 面板预览,也可发布上线,获得一个可公开访问链接。点击右下角即可发布:★ Claude,尤其是 sonnet 代码生成能力一直强项,很适合实现单页应用或组件。不支持项目级多层级文件能力。”3.4 v0.dev 生成组件类似3.3的应用场景,还可用 v0.d
0 大纲作为骨灰级程序员,咋用 AI flow 提高编码效率零代码基础,如何使用 AI 辅助编程工具实现自己的想法盘点常用的 AI 辅助编程工具和使用场景如何选择适合自己的 AI 辅助编程工具如今的 AI flow 系列软件包括:Cursor、Bolt、Windsurf、v0、通义灵码......1 编码咋提效?AI flow已和我日常工作学习和创作无缝融合,使用 AI flow 写代码,体验非常
1 部署官方文档指引1.1 client每个业务数据库都要新建 undo_log 表。对 springboot 应用,执行 client - MySQL - AT,切tag=1.5.2:://github./seata/seata/blob/v1.5.2/script/client/at/db/mysql.sql1.2 server新建 seata-for-hire 数据库,执行
0 前言IntelliJ IDEA 2024.3 引入了一系列可以提升您的开发体验的强大新功能。 IDE 现在提供代码逻辑结构的表示,简化了 Kubernetes 应用程序的调试体验,引入了集群范围的 Kubernetes 日志访问。1 关键亮点1.1 Structure工具窗口中的 Logical代码结构不仅可查看类、方法和字段,还可查看项目中组件之间的链接和交互。 例如,在 Spring Bo
0 前文上一文针对 ShardingSphere 支持强一致性事务的 XAShardingTransactionManager 部分内容展开,本文继续:讲解该类介绍支持柔性事务的 SeataATShardingTransactionManagersharding-transaction-xa-core中关于 XAShardingTransactionManager,本文研究 XATransacti
0 前言随着企业级应用的不断复杂化,事务管理在保障数据一致性和完整性方面的重要性愈加突出。Java Transaction API(JTA)作为 Java EE 规范的一部分,早在 JDK 1.2 时便已引入,并持续更新,以适应分布式应用对事务管理的需求。JTA 的更新使其在 JDK 23 中获得了进一步的优化和改进。本文将深入了解 JTA 的核心概念、关键组件以及在 JDK 23 中的重要更
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号