弹性伸缩:高可用架构利器(架构+算法+思维)

1 介绍 云计算资源弹性伸缩是一种根据业务需求动态调整计算资源规模的技术。它可以根据系统的性能指标(如CPU使用率、内存占用率、磁盘IO、网卡读写率、请求响应时间等)或者预定义的规则(如时间周期、业务事件等),自动增加或减少计算资源的数量,以满足业务负载的变化。这种技术可以确保系统在高峰时期拥有足够

如何使用csproj构建C#源代码组件NuGet包?

一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。 至于打包和分发C#源代码文件的做法,比较少见。 那么这种打包源代码文件的做法,有什么优点和缺点呢? 优点: 方便阅读源代码。 方便断点调试。 减少 Assembly 程序集模块加载个数。 更利于发布期间的剪裁(PublishTrimm

MyBatis 的缓存机制

1. MyBatis 的缓存机制 @目录1. MyBatis 的缓存机制2. 准备工作3. MyBatis 的一级缓存3.1 一级缓存失效情况/条件4. MyBatis 的二级缓存5. MyBatis 集成 EhCache 第三方缓存6. 总结:7. 最后: 缓存(Cache) 缓存的作用:通过减少

内存优化:Boxing

dotMemory 如今,许多开发人员都熟悉性能分析的工作流程:在分析器下运行应用程序,测量方法的执行时间,识别占用时间较多的方法,并致力于优化它们。然而,这种情况并没有涵盖到一个重要的性能指标:应用程序多次GC所分配的时间。当然,你可以评估GC所需的总时间,但是它从哪里来,如何减少呢? “普通”性

面试官:说说Netty对象池的实现原理?

Netty 作为一个高性能的网络通讯框架,它内置了很多恰夺天工的设计,目的都是为了将网络通讯的性能做到极致,其中「对象池技术」也是实现这一目标的重要技术。 1.什么是对象池技术? 对象池技术是一种重用对象以减少对象创建和销毁带来的开销的方法。在对象池中,只有第一次访问时会创建对象,并将其维护在内存中

鸿蒙HarmonyOS实战-ArkTS语言基础类库(概述)

一、概述 1.什么是语言基础类库 语言基础类库,也称为标准库或核心库,是编程语言提供的一组内置的基础功能和常用工具的集合。它通常包含了各种数据结构、算法、输入输出处理、字符串处理、日期时间处理、文件操作、网络通信等功能,为开发者提供了便捷的编程接口,以减少开发工作量并提高代码的可读性和可维护

微服务下认证授权框架的探讨

前言 市面上关于认证授权的框架已经比较丰富了,大都是关于单体应用的认证授权,在分布式架构下,使用比较多的方案是--<应用网关>,网关里集中认证,将认证通过的请求再转发给代理的服务,这种中心化的方式并不适用于微服务,这里讨论另一种方案--<认证中心>,利用jwt去中心化的特性,减轻认证中心的压力,有理

ASP.NET Core Web中使用AutoMapper进行对象映射

前言 在日常开发中,我们常常需要将一个对象映射到另一个对象,这个过程中可能需要编写大量的重复性代码,如果每次都手动编写,不仅会影响开发效率,而且当项目越来越复杂、庞大的时候还容易出现错误。为了解决这个问题,对象映射库就随之而出了,这些库可以自动完成对象之间的映射,从而减少大量的开发工作量,提高开发工

Visual Studio中的四款代码格式化工具

前言 今天大姚给大家分享四款Visual Studio中的代码格式化工具、扩展插件。大家可以在Visual Studio中的管理扩展或者插件市场下载安装。 代码格式化工具的作用 自动调整代码的布局和风格,以确保代码具有统一的格式,提高可读性并减少潜在的错误。 Visual Studio中的管理扩展

一篇文章掌握Python中多种表达式的使用:算术表达式、字符串表达式、列表推导式、字典推导式、_集合推导式、_生成器表达式、逻辑表达式、函数调用表达式

Python 中的表达式可以包含各种元素,如变量、常量、运算符、函数调用等。以下是 Python 表达式的一些分类及其详细例子: 1. 算术表达式 算术表达式涉及基本的数学运算,如加、减、乘、除等。 # 加法表达式 sum = 3 + 5 # 结果为 8 # 乘法表达式 product = 4 *

Docker 必知必会----初识

什么是Docker?Docker 是一个开源的容器管理引擎。开发者可以通过Docker直接管理应用程序所需要的容器。它的logo如下: 为什么需要Docker使用Docker主要有两个原因,1、屏蔽不同环境的硬件差异,减轻开发人员在不同环境上,为了适配环境差异所需要做的工作。如各项系统配置、环境变量

大模型高效微调详解-从Adpter、PrefixTuning到LoRA

一、背景 目前NLP主流范式是在大量通用数据上进行预训练语言模型训练,然后再针对特定下游任务进行微调,达到领域适应(迁移学习)的目的。 指令微调是预训练语言模型微调的主流范式 其目的是尽量让下游任务的形式尽量接近预训练任务,从而减少下游任务和预训练任务之间的Gap, 实现预训练语言模型适应下游任务,

Web Audio API 第6章 高级主题

高级主题 这一章涵盖了非常重要的主题,但比本书的其他部分稍微复杂一些。 我们会深入对声音添加音效,完全不通过任何音频缓冲来计算合成音效, 模拟不同声音环境的效果,还有关于空 3D 空间音频。 重要理论:双二阶滤波器 一个滤波可以增强或减弱声音频谱的某些部分。 直观地,在频域上它可以被表示为一个图表被

在鼠标右键菜单中新增新建Markdown文件选项(VSCode)

引言 正常情况下,我们新建md文件有两种方式:一是通过Markdown编辑器新建,二是新建txt文件再修改后缀。 但是在Windows系统中,我们可以通过修改注册表来新增右键菜单选项。这里我们可以通过修改注册表来新增新建Markdown文件选项,这样可以减少新建文件的繁琐操作。 下面就来演示在Win

【Android 逆向】【ARM汇编】 堆栈

arm 四种栈 1 空栈 栈指针指向空位,每次存入时可以直接存入然后栈指针移动一格;而取出时需要先移动一格才能取出 2 满栈 栈指针指向栈中最后一格数据。每次存入时需要先移动栈指针一格再存入。取出时可以直接取出,然后再移动栈指针 3 增栈 栈指针移动时向地址增加的方向移动的栈 4 减栈 栈指针移动时

Python单元测试之道:从入门到精通的全面指南

**在这篇文章中,我们会深入探讨Python单元测试的各个方面,包括它的基本概念、基础知识、实践方法、高级话题,如何在实际项目中进行单元测试,单元测试的最佳实践,以及一些有用的工具和资源** ## 一、单元测试重要性 测试是软件开发中不可或缺的一部分,它能够帮助我们保证代码的质量,减少bug,提高系

华为云使用总结

华为云相关服务 登录与注册地址为: https://auth.huaweicloud.com/ 注意1 需要实名才可以进行购买和使用. 登录之后就可以直接进入控制台. 注意2 需要选择区域,比如我这次选的是华南-广州区域. 建议所有的都在这个区域进行购买, 减少网络延迟. 华为云的服务很多 常用分类

验证功能访问Redis的次数和命令

背景 公司内部在进行性能调优, 调优有多个方法. 应用Redis方面主要的调优有: 1. 进行redis键值对大小的处理. 2. 进行redis键值对过期时间的处理. 3. 减少连接数,减少网络带宽. 4. 优化方法.尽量使用O(1)命令代替复杂命令. 5. 严格禁止使用复杂指令,比如flushal

buildkit ctr 与 k3s的简单学习

摘要 前面一部分学习了 buildkit的简单搭建 也学习会了如果build images的简单处理 但是搭建镜像只是万里长征第一步. 如何进行微服务部署,才是关键的第二步. 公司最近使用基于K3S的K8S发行版 基于此 准备进行下一步的学习 简单结论 Buildkit 能够极大的减少镜像的大小 并

[转帖]挂载文件系统选项nodiratime、noatime

默认的方式下linux会把文件访问的时间atime做记录,文件系统在文件被访问、创建、修改等的时候记录下了文件的一些时间戳,比如:文件创建时间、最近一次修改时间和最近一次访问时间;这在绝大部分的场合都是没有必要的。 因为系统运行的时候要访问大量文件,如果能减少一些动作(比如减少时间戳的记录次数等)将