首页 文章 精选 留言 我的

精选列表

搜索[VMware替代],共10000篇文章
优秀的个人博客,低调大师

《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一1.3 云计算与虚拟化的关系

1.3 云计算与虚拟化的关系 云计算和虚拟化没有任何必然关系,实现云计算可以不需要虚拟化,但是要提高资源利用率和方便管理,云计算还是需要用虚拟化来实现的。虚拟化技术只是实现云计算的一种方式而已。本书虽然不是一本介绍如何建立云计算的书,但是书中也涉及了一些如何实现云计算的内容,后边章节提到时再详细介绍。我们有理由相信,随着时间的推移,虚拟化技术将成为大多数IT基础架构当中的一个关键部分。

优秀的个人博客,低调大师

Mac本地部署大模型完全指南:三款工具实测对比,零成本替代付费API

在Mac上本地部署大模型,是指将开源大语言模型下载到自己的Mac电脑上,利用M系列芯片的GPU直接在本地运行推理,完全不依赖云端API。2026年以来,智谱GLM年内连涨三次累计超过80%、腾讯混元API价格单次暴涨463%、MiniMax上调30%到50%、阿里云百炼砍掉低价版变相涨价五倍——大模型API正在经历一轮全面涨价潮。中国日均Token调用量已突破140万亿,是2024年初的1400倍。本文将解决普通用户"装什么工具、怎么选模型、配Agent干活"三大问题。读完你将掌握三款主流工具的优缺点对比和零成本本地部署方案。一句话结论: Mac本地部署大模型,追求安装体验简单选LM Studio,需要丰富模型生态选Ollama,M系列芯片追求极致速度选oMLX。三款工具均免费,一次部署后无任何订阅费用。

优秀的个人博客,低调大师

Shopify 用 MySQL 替代 Redis 实现库存预留水平扩展:SKIP LOCKED 与复合主键的工程实践

在电商系统中,库存预留是一个看似简单却极其关键的操作。当买家点击"完成购买"时,系统必须在极短时间内保证所购商品仍然可用——如果出错,要么两个买家买到同一件最后的库存(商家不得不取消订单、发送道歉邮件并承担客服成本),要么告诉买家有货但实际无货(商家损失一笔本可完成的销售)。 在Shopify的规模下,任何一种错误都会快速放大。2025年黑色星期五,平台商家创下了每分钟500万美元销售额的纪录。每一次交易都涉及库存操作。 长期以来,Shopify的超卖保护系统(oversell protection)依赖Redis运行。当公司转向统一的数据库战略时,团队面临一个艰难的问题:MySQL能扛住同样的规模吗? Redis模型的局限 原有的Redis系统中,每件商品有一个quantity key,预约库存意味着执行DECR命令,释放则执行INCR。Redis处理并发没问题,但预约和库存账本分别存在于两个不同的系统。支付成功后需要更新MySQL同时清理Redis,而这两个操作无法包装在单一的原子步骤中——可能导致超卖(商品售出但账本未扣减)或欠卖(账本已扣减但仍标记为已预约)。 此外,Redis模型不支持多仓库库存感知,且增加了单独维护一个集群的运营成本。将预约系统移入MySQL数据库,与账本保持一致,意味着可以用ACID事务包装一切,彻底消除这些失败模式。 解决方案:SKIP LOCKED 核心设计思路是"每件库存一行记录"——而非传统的"每种商品一行记录加quantity列"。以10件库存的商品为例,新设计会有10行记录。预约3件意味着在单个事务中选取并移动3行。通过将预约和库存账本保持在同一数据库,获得了跨reserve和claim的ACID保证。 MySQL 8.0的SKIP LOCKED特性是实现可扩展性的关键:当一个事务锁定了某些行时,MySQL会跳过这些行并返回其他可用行,不会产生等待。这意味着在高频预约场景下,不同事务之间不会相互阻塞。 但仅靠一行一条记录不足以支撑超大规模场景——一件商品跨10个仓库、共5万件库存,意味着50万行记录,预约查询扫描这些行会明显变慢。解决方案是维护一个有限容量的可用行池,每种商品/仓库组合最多1000行。预约从池中消耗行;补充进程从库存账本向池中补充。 真正的瓶颈:连接数而非CPU 在生产环境进行负载测试时,团队遇到了一个意想不到的问题:吞吐量远低于目标,但预约延迟(P90)可以接受,CPU也没有满。查询已经优化过,那问题在哪? 通过在应用层为每个SQL语句添加注释标签(如 /* conn_tag:checkout_completion */),并在ProxySQL层解析这些标签,团队终于看清了真相:其他业务逻辑(如购物车更新、支付处理)持有连接的时间比必要时间更长。这些长时间持有连接的操作消耗了连接池,当系统高吞吐时,预约成了"压垮骆驼的最后一根稻草"——不是因为预约本身慢,而是因为连接池早已接近耗尽。 清理Checkout路径后,主数据库的读取减少了50%,事务减少了33%。同时重新评估了MySQL配置——InnoDB线程并发数多年前设置得过于保守,从未重新评估。增加线程并发配置后,移除了一个从未在连接数和CPU指标并列分析前发现的瓶颈。 切换策略 团队没有从Redis到MySQL"开关式"切换,而是采用"影子模式"并行运行:每次预约同时写入Redis和MySQL,Redis保持为数据源。这样可以并排比较两个系统,验证MySQL产生了正确的业务结果且满足性能要求。一旦对正确性和性能满意,再将数据源切换为MySQL。整个切换过程逐步进行,从低流量Pod开始,逐步扩展到最高容量商家。 Shopify的实践证明:MySQL现在可以处理曾被认为需要专门基础设施的工作负载。如果你在考虑为高吞吐互斥场景使用Redis、Kafka或自定义协调层,你现有的数据库可能已经足够。瓶颈往往不在你预期的地方——优化查询和锁花了数周时间,真正的限制却来自那些根本没在看的代码。 来源:Shopify Engineering Blog (https://shopify.engineering/scaling-inventory-reservations)

优秀的个人博客,低调大师

MyBatis 的替代者,融合 JPA 和极致 SQL 编写模式的 sqltoy-orm 5.2.58 发版

开源地址: github:https://github.com/sagframe/sagacity-sqltoy gitee:https://gitee.com/sagacity/sagacity-sqltoy idea 插件 (可直接在 idea 中检索安装):https://github.com/threefish/sqltoy-idea-plugins sqltoy脚手架项目:https://gitee.com/momoljw/sss-rbac-admin sqltoy lambda项目:https://gitee.com/gzghde/sqltoy-plus 更新内容 1、存更新检测增加空缓存校验,避免内部异常(不影响实际功能)2、增加部分异常堆栈输出,便于一些异常原因分析 sqltoy 的关键优势: //------------------了解 sqltoy的关键优势: -------------------------------------------------------------------------------------------*/ //1、最简最直观的sql编写方式(不仅仅是查询语句),采用条件参数前置处理规整法,让sql语句部分跟客户端保持高度一致 //2、sql中支持注释(规避了对hint特性的影响,知道hint吗?搜oracle hint),和动态更新加载,便于开发和后期维护整个过程的管理 //3、支持缓存翻译和反向缓存条件检索(通过缓存将名称匹配成精确的key),实现sql简化和性能大幅提升 //4、支持快速分页和分页优化功能,实现分页最高级别的优化,同时还考虑到了cte多个with as情况下的优化支持 //5、支持并行查询 //6、根本杜绝sql注入问题 //7、支持行列转换、分组汇总求平均、同比环比计算,在于用算法解决复杂sql,同时也解决了sql跨数据库问题 //8、支持保留字自动适配 //9、支持跨数据库函数自适配,从而非常有利于一套代码适应多种数据库便于产品化,比如oracle的nvl,当sql在mysql环境执行时自动替换为ifnull //10、支持分库分表 //11、提供了取top、取random记录、树形表结构构造和递归查询支持、updateFetch单次交互完成修改和查询等实用的功能 //12、sqltoy的update、save、saveAll、load 等crud操作规避了jpa的缺陷,参见update(entity,String...forceUpdateProps)和updateFetch //13、提供了极为人性化的条件处理:排它性条件、日期条件加减和提取月末月初处理等 //14、提供了查询结果日期、数字格式化、安全脱敏处理,让复杂的事情变得简单,大幅简化sql或结果的二次处理工作 //-----------------------------------------------------------------------------------*/ sqltoy 特点介绍: sqltoy 的核心构建思想 sqltoy 的对比 mybatis (plus) 的核心点:查询语句编写、可阅读性、可维护性 对象化 crud 是基础,但 sqltoy 有针对性的改进:update、updateSaveFetch、updateFetch 等 sqltoy 的缓存翻译,大幅减少表关联简化 sql,让你的查询性能成几何级提升 极致的分页,同样帮助你实现查询的性能大幅提升 快速分页:@fast () 实现先取单页数据然后再关联查询,极大提升速度 分页优化器:page-optimize 让分页查询由两次变成 1.3~1.5 次 (用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询 sqltoy 的分页取总记录的过程不是简单的 select count (1) from (原始 sql);而是智能判断是否变成:select count (1) from 'from 后语句 ', 并自动剔除最外层的 order by sqltoy 支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能 便利的跨数据库统计计算:数据旋转 便利的跨数据库统计计算:无限极分组统计 (含汇总求平均) 便利的跨数据库统计计算:同比环比 5、树形表排序汇总 6、扩展集成

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册