自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

喵叔

主业程序员,副业写写技术文章,顺带搞搞服务器

  • 博客(842)
  • 问答 (1)
  • 收藏
  • 关注

原创 7. 【Vue实战--孢子记账--Web 版开发】-- 收支分类设置

本篇文章我们一起来实现收支分类功能。收支分类和前篇文章的主币种设置界面大体类似。我们将详细介绍如何创建和管理不同的收支分类,以便用户可以更好地组织和跟踪他们的财务状况。

2025-03-22 20:52:25 761

原创 12.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--熔断与限流

在微服务架构中,熔断与限流机制是保障系统稳定性和高可用性的关键手段。熔断机制通过监控服务健康状态,在请求失败率或超时时间超过阈值时,自动中断对故障服务的调用,防止错误扩散。熔断器有关闭(正常)、打开(拒绝请求)和半开(尝试恢复)三种状态,确保系统在故障发生时能迅速隔离问题。限流机制通过控制单位时间内的请求数量,防止因流量激增导致系统资源耗尽或服务崩溃。常见限流算法包括令牌桶、漏桶和滑动窗口。Ocelot网关通过QoSOptions配置熔断(如异常次数、熔断持续时间、超时时间)和。

2025-03-20 22:03:17 638

原创 发布调整声明

大家好!自专栏开设以来,我们一直致力于为大家提供系统、深入且实用的微服务学习内容,帮助大家掌握微服务的核心技术,提升在实际项目中的应用能力。在内容规划和发布过程中,我们希望通过系统的知识铺垫,让大家从基础概念入手,逐步深入理解微服务的设计原理、架构模式和技术实现。然而,在专栏发布的过程中,我们收到了不少同学的反馈和建议,希望能够根据不同的学习基础和需求,进一步优化内容的发布节奏。

2025-03-17 19:38:08 610

原创 11.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--整合日志

随着微服务架构和分布式系统的普及,日志数据来源日益分散且数量庞大,单个服务的日志已难以满足故障排查、性能监控和安全审计的需求。通过集中式日志系统,所有日志数据能够实时汇聚到一个中央平台,这不仅便于对历史数据进行归档和检索,更可以通过统一的查询和分析工具对全局日志进行聚合分析,从而迅速识别系统异常、瓶颈和安全隐患。目前市面上较为成熟的集中式日志解决方案主要有 ELK Stack、EFK Stack 以及 Splunk 和 Graylog 等。

2025-03-16 21:38:23 725

原创 AI落地:走入生活--引言

近年来,随着信息技术的飞速发展和数字化转型的不断深入,人工智能(AI)作为一项颠覆性技术正以前所未有的速度改变着各行各业。从智能语音、图像识别到自然语言处理、自动驾驶,AI技术已经不再局限于实验室中的概念验证,而是逐步走向了产业应用和实际落地。面对技术的迅猛进步和市场需求的爆发式增长,如何高效地把人工智能技术应用于实际业务,如何将理论与实践相结合,成为当前企业、政府和学术界共同关注的焦点。本专栏正是在这一背景下诞生的。

2025-03-09 18:41:57 211

原创 10. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--认证

JSON Web Token(JWT)是一种开放标准(RFC 7519),用于在网络环境中以紧凑、自包含的方式安全传递信息。它基于JSON格式,并通过数字签名保证数据完整性与真实性,广泛应用于身份验证和信息交换。头部(Header)、载荷(Payload)和签名(Signature),并以“.”分隔。头部包含令牌类型及签名算法,如HS256或RSA,经过Base64Url编码后形成第一部分。载荷存储标准声明(如发行者iss、过期时间exp、主题sub。

2025-03-09 17:29:33 944

原创 微软创想未来峰会

🚀 扫码即刻报名,限定席位,机不可失!🏹在这里,你将收获:• 与微软全球专家面对面交流,尽览智能技术前沿趋势与最新技术应用• 深入探索热门行业的智能技术未来,掌握企业转型的成功秘籍• 全方位接轨打造企业级智能体生态,掌握打造智能体生态圈的关键技术• 沉浸式体验丰富多样的互动现场,亲身参与精彩的实验营、挑战赛等活动⭐️ 微软创想未来峰会活动时间:4月23日 09:00-17:00活动地点:北京中关村国际创新中心名额有限,快来领取这份来自智能体世界的邀约!扫码报名,期待与你相聚,共创无限可能,不见不散!

2025-03-05 19:25:51 209

原创 9. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--请求聚合

请求聚合是微服务架构中优化客户端交互的核心技术,通过网关(如Ocelot)合并多服务调用为单一请求,减少网络开销与延迟,适配多端数据需求。Ocelot支持静态聚合(通过JSON配置默认拼接响应)与动态聚合(自定义代码实现复杂逻辑),需配置Aggregates节点关联路由,并确保路由Key唯一。静态聚合适用于简单场景,动态聚合支持数据裁剪、错误熔断等高级功能,但需权衡性能与维护成本。实践中需注意事务一致性、监控聚合耗时,并通过缓存优化高频请求,最终实现服务解耦与性能提升的平衡。

2025-02-26 18:04:02 658

原创 8. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--负载均衡

Ocelot作为API网关的核心组件,通过内置多种负载均衡策略与服务发现机制,为微服务架构提供高效的流量调度能力。其支持轮询、最小连接数、会话粘滞等算法,动态适配不同场景需求:轮询确保基础均衡,最小连接数优化长连接负载,会话粘滞保障有状态服务连续性。深度集成服务发现工具,实时感知实例状态并自动剔除故障节点,结合健康检查实现高可用容错。用户可通过JSON配置快速定义策略,或通过继承ILoadBalancer接口实现加权分发等复杂逻辑,灵活扩展负载均衡能力。

2025-02-26 16:03:14 787

原创 7. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--路由

路由是API网关的核心功能,通过定义规则将客户端请求准确地转发到相应的后端服务,确保请求的正确处理,简化了微服务架构中的服务调用逻辑。Ocelot中的路由配置包括上游路径模板和下游路径模板,并支持路径参数、可选参数、默认值、正则表达式、动态API版本控制和多语言支持等高级功能,提升了系统的灵活性和可维护性。

2025-02-26 14:13:17 624

原创 6. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--概念与简单入门

Ocelot是基于.NET Core的开源网关,旨在为微服务架构和服务导向架构提供统一的入口。作为网关,Ocelot通过提供一系列强大而灵活的功能,帮助开发者轻松管理和路由客户端请求。Ocelot的核心功能之一是路由。通过定义路由规则,Ocelot能够将客户端的请求转发至适当的后端服务。每个路由规则包括一个上游路径(客户端请求的路径)和一个下游路径(后端服务的路径)。这种映射机制使得Ocelot可以灵活地处理不同的请求,确保客户端与后端服务之间的通信顺畅。

2025-02-20 00:40:31 779

原创 5. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Nacos

Nacos 是阿里巴巴开源的一款云原生应用基础设施,它旨在简化微服务架构中服务治理和配置管理的复杂性。通过 Nacos,服务在启动时可以自动注册,而其他服务则可以通过名称来查找并访问这些注册好的实例。同时,Nacos 内置了实时健康检查机制,能够监控各个服务实例的状态,确保只有健康的服务节点能够处理请求,从而提升整个系统的可靠性和稳定性。此外,Nacos 还提供了一个集中化的配置管理平台,使得应用能够在运行时动态更新配置而无需重启,这不仅大大降低了运维成本,也避免了因硬编码或分布式文件更新而带来的各种问题。

2025-02-09 23:35:45 1365

原创 4. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务设计原则与最佳实践

微服务设计原则与最佳实践涵盖了从系统整体拆分到各个微服务具体实现的各个方面。本文详细讨论了如何基于业务功能、团队边界和数据隔离合理拆分服务;探讨了服务自治和独立部署的重要性;深入解析了数据管理策略与跨服务通信设计的方法;并介绍了配置管理、容错设计与监控实践等关键环节,辅以实际项目中的成功经验和失败教训,为构建稳定高效的微服务系统提供了全面的指导。在构建微服务架构时,遵循这些设计原则和最佳实践,不仅能提高系统的灵活性和可扩展性,还能显著降低运维和故障恢复的复杂性。

2025-02-07 21:49:53 1127

原创 3. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务的核心特性与设计理念

然而,微服务架构的实现并非没有挑战,它需要开发团队具备良好的架构设计能力、跨领域的技术知识和系统性的思维方式。通过理解微服务架构的核心特性与设计理念,开发者和企业能够更好地应用这一架构模式,实现业务与技术的双重升级,为未来的系统架构设计奠定坚实的基础。服务架构的核心特性之一是服务的独立性和自治性。此外,微服务的可独立部署的特性使得开发团队可以在不影响其他服务的情况下,对某个服务进行独立的更新和部署。通过以业务领域为中心的设计,微服务架构能够更好地适应业务需求的变化,提高系统的灵活性和可维护性。

2025-02-06 22:24:47 954

原创 2. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务概述与演变

微服务(Microservices)是一种将单一应用程序划分为一组小型、自治服务的架构风格。每个服务都围绕具体业务功能构建,可以独立部署、独立扩展,并通过轻量级的通信协议(例如HTTP REST API、gRPC、消息队列等)与其他服务进行协作。与传统的单体应用相比,微服务更加强调“分而治之”,使得每个模块都具备较高的独立性和灵活性。在微服务架构中,每个服务通常会有独立的数据存储和业务逻辑,能够由独立的开发团队负责管理和维护。

2025-02-05 21:15:34 877

原创 3. 【.NET Aspire 从入门到实战】--理论入门与环境搭建--环境搭建

通过以上步骤,你可以成功搭建 .NET Aspire 的开发环境,为后续的项目初始化和开发奠定坚实的基础。保每个步骤都正确执行,以避免在后续开发过程中遇到不必要的问题。

2025-02-05 14:34:54 1247

原创 2. 【.NET Aspire 从入门到实战】--理论入门与环境搭建--.NET Aspire 概览

NET Aspire 是一个强大而灵活的开发框架,它为开发者提供了丰富的功能来构建、部署和管理云原生应用程序。通过 .NET Aspire,开发者不仅能够高效地构建现代化的分布式应用,还能够通过一整套工具和集成功能来简化开发、测试和运维过程。从本地开发环境到云平台部署,从微服务架构到容器化支持,.NET Aspire 提供了一整套高效的解决方案,帮助开发者更轻松地构建可维护、可扩展的应用程序。无论是开发者,还是运维人员,.NET Aspire 都能够为他们提供极大的便利,提升开发效率和系统可靠性。

2025-02-04 12:33:07 1010

原创 6. 【Vue实战--孢子记账--Web 版开发】-- 主币种设置

这篇文章介绍了如何在孢子记账项目中实现主币种设置功能。首先,文章通过展示一个原型图,明确了功能需求,包括显示和设置主币种以及查看汇率信息。接着,文章详细介绍了三大组件的实现:面包屑导航、主币种显示与设置、以及汇率表。在实现主币种设置时,利用了 Element Plus 的组件实现了面包屑导航,帮助用户定位当前页面;el-form和el-select用于展示和编辑主币种,通过简单的表单和下拉框让用户进行币种选择和修改;而汇率表则通过el-table和结合使用,展示汇率数据并支持分页显示。

2025-02-03 14:22:29 1243

原创 1. 【.NET Aspire 从入门到实战】--理论入门与环境搭建--引言

总的来说,.NET Aspire 以其独特的设计理念和强大的功能集,正在为云原生应用的开发带来革命性的变革。从平台无关性、内置云原生能力,到高效的服务治理和自动化运维支持,Aspire 为分布式系统开发提供了一条全新的路径。它不仅降低了开发门槛,提升了系统稳定性和扩展性,同时也为开发者节省了大量的时间和精力,使我们能够更多地关注于核心业务逻辑和创新性功能的实现。在本专栏中,我们将从理论和实践两个层面,深入探讨 .NET Aspire 的技术细节和最佳实践。

2025-02-02 21:17:58 1003

原创 1. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--前言

在专栏的第一部分,我们将全面介绍微服务的基本概念。首先,我们将讲解什么是微服务,分析微服务与传统单体架构之间的差异,并探讨微服务架构的优势和挑战。微服务架构的核心思想是将一个大而复杂的应用程序拆分为一组小而独立的服务,每个服务都负责一个特定的业务功能,并通过轻量级的通信协议与其他服务进行交互。与传统的单体架构相比,微服务架构具有更好的可扩展性、灵活性和可维护性,同时能够更好地支持持续集成、持续交付和自动化部署。然而,微服务架构并非没有挑战。

2025-02-02 12:39:41 835

原创 5. 【Vue实战--孢子记账--Web 版开发】-- 主页UI

在本节中,我们通过使用 Element Plus 的组件来实现个人中心的主页 UI。首先,原型图包括了左侧菜单和顶部 Header,菜单包含多个功能模块如首页、账本、报表等,Header 则包含了 Logo 和个人头像。为实现这个布局,我们使用了布局组件,并配合el-headerel-aside和el-main来实现响应式页面结构。同时,我们采用el-menu组件来构建左侧菜单和顶部导航栏,菜单项通过和el-submenu组件实现,支持嵌套和功能操作。

2025-02-01 13:34:10 1054

原创 28. 【.NET 8 实战--孢子记账--从单体到微服务】--简易报表--报表定时器与报表数据修正

在这篇文章中,我们介绍了如何在.NET 8环境下实现定时生成财务报表的功能。首先,分析了需求,确定了报表数据统计的时间和更新策略。然后,通过使用Quartz库创建了定时器类,该类实现了IJob接口,并在其Execute方法中实现了报表数据的生成和更新逻辑。在实现过程中,通过依赖注入获取必要的服务实例,查询用户的收入和支出记录,生成季度、年度和月度报表,并将这些报表和日志条目保存到数据库中,实现了报表数据的定期更新和持久化存储。此外,还展示了如何在新增支出记录时更新报表数据,确保报表数据的实时性和准确性。

2025-01-27 20:55:49 1891 2

原创 29. 【.NET 8 实战--孢子记账--从单体到微服务】--项目发布

本文是本专栏的最后一篇文章,聚焦于服务发布的关键步骤,而非详细的服务器配置。本篇内容从服务器配置到项目发布,再到服务自启动配置,帮助大家完整掌握发布流程。在服务器配置方面,推荐选择4U8G配置或本地虚拟机,运行环境则需要安装、MySQL 8 和 RabbitMQ。在项目发布部分,我们通过解决方案管理器设置发布参数(如部署模式和目标运行时),并重点分析了框架依赖与独立部署两种模式的区别及适用场景。

2025-01-27 17:05:53 1284

原创 27. 【.NET 8 实战--孢子记账--从单体到微服务】--简易报表--报表服务

本文介绍了记账应用中的报表功能实现,作为单体应用开发的最后环节,其核心是提供一个接口供客户端查询报表数据。本功能实现以清晰的需求分析为起点,逐步完成了模型设计、服务接口定义、接口实现以及控制器编写。需求方面,报表查询需支持按报表类型(包括月报、季报、年报)和时间维度(年份、月份)进行查询,其中月份参数为可选。功能设计中,视图模型定义了报表类型、年份和月份的基本字段,并通过校验属性确保必填字段的正确性。

2025-01-25 01:52:47 1497

原创 4. 【Vue实战--孢子记账--Web 版开发】--个人中心功能集

在这一片文章中我们开始开发个人中心功能集,它包含:重置密码、安全设置、修改用户名、注销账户和退出功能。其中前三个功能我们使用弹出窗的形式实现,后两个功能由于没有需要输入的功能,因此只有一个简单的链接。要实现的功能前面已经说了,在这一小节我们来看一下原型。这个原型功能很简单,鼠标移动到右上角的用户头像上时会显示下拉菜单,菜单上的功能就是我们要实现的,三个弹窗对应了三个需要交互的功能。我们根据前面所说的功能,分析出三个数据模型:ResetPassword(重置密码)、SecuritySetting(安全设置

2025-01-19 15:48:03 1061

原创 26. 【.NET 8 实战--孢子记账--从单体到微服务】--需求更新--用户注销、修改用户名、安全设置

这篇文章模拟了项目需求新增的情况,展示了如何根据新需求增加功能接口。项目经理提出的新增功能包括重置密码、安全设置、修改用户名和注销账户,要求各功能独立实现。文章详细列出了每个功能的需求说明,并以注销账户为例进行了代码示例。通过添加LogoutUser方法,处理用户注销请求,验证用户是否可删除,并根据情况返回相应的状态和消息。整个过程展示了如何应对需求变更,确保功能扩展的可行性和独立性。

2025-01-19 11:16:21 597

原创 25. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--预算金额的币种转换

这篇文章的代码与第22篇文章中的代码基本相同,主要目的是在主币种切换时,支持预算金额的重新计算。首先介绍了中的Update方法如何在用户配置更新时,通过RabbitMQ发布消息,触发预算金额的重新计算。然后,文章讲解了在中新增的代码,如何通过方法订阅该消息并处理主币种变化后的预算更新。处理逻辑包括获取用户的所有预算、查询新旧币种及其汇率、将预算金额从旧币种转换为新币种,并最终更新预算数据。

2025-01-17 00:46:07 743

原创 24. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--预算扣除、退回、补充

文章介绍了预算管理中复杂功能的实现,包括预算扣除、退回和补充。预算回退涉及三种情况:修改后的支出金额小于修改前的金额、删除支出记录、记录类型从支出改为收入;预算补充包括记录类型从收入改为支出以及修改后的支出金额大于修改前的金额。文章详细描述了如何在新增、删除和修改收支记录时,使用 EF Core 事务机制确保操作的原子性和数据一致性。具体实现方法包括调整预算金额、根据收支记录类型动态更新预算、处理异常并回滚事务,以保证数据库的完整性和正确性。文章通过实际代码示例清晰地阐述了这些操作的细节。

2025-01-14 01:01:27 1062

原创 2.【Vue实战--孢子记账--Web 版开发】--项目配置

项目配置就这些,大家跟着一起配置即可,没什么技术含量。

2025-01-11 14:33:30 192

原创 3. 【Vue实战--孢子记账--Web 版开发】--登录大模块

这篇文章是Web版开发的第一篇文章,因此讲解的比较详细,但是在后续的文章中将只会讲解核心代码和重要代码。完整代码大家可以在github上下载,但是我建议大家先自己实现代码,然后再对比github上的代码。

2025-01-11 13:54:07 1092

原创 23. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--预算

这篇文章我们一起编写的预算服务的新增功能,剩余的功能大家自己动手实现,然后下载我的代码来对比一下哪里不一样。下一篇文章,我们将结合预算和记账功能来完成一个稍微复杂的业务:预算的回退和扣除。

2025-01-04 22:00:30 1024

原创 1. 【Vue实战--孢子记账--Web 版开发】--特别说明

主分支中的代码是可用于发布的稳定代码,Dev分支是开发分支。系列专栏的Web客户端开发专栏。

2025-01-04 17:00:11 264

原创 重构代码之分布修改

分布修改的问题在于分散和低内聚性,重构时应通过集中逻辑、移除重复来优化代码设计,使得修改点尽可能单一化(Single Responsibility Principle)。分析功能的变更范围。将相关代码移到单独的类或模块。使用设计模式改善代码结构。

2025-01-01 00:32:30 396

原创 22. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--切换主币种

通过主币种切换的业务场景,探讨了如何在用户更改主币种配置后重新计算历史收支记录的转换金额。这一功能的实现基于两个核心需求:统一币种便于统计数据,以及方便用户按照本地币种查看收支信息。实现过程中,首先修改主币种配置,当用户设置新的主币种后,系统通过消息队列发送变更通知。相关处理逻辑通过订阅该通知,触发重新计算金额的操作。具体流程包括:查询当前用户的所有收支记录,获取新的主币种和原币种之间的汇率,并根据汇率计算每条记录的转换金额,最后更新数据库中的记录。

2025-01-01 00:22:35 850

原创 21. 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--补充--自动添加角色可访问接口

本文通过类实现了动态分配角色与接口路径的功能。代码利用反射获取控制器及其方法,解析Authorize和Route特性,提取路径和角色信息,生成映射关系并存储到数据库中。此方法减少了手动配置的繁琐,提高了权限管理的自动化和灵活性,为系统提供了高效的权限初始化方案。

2024-12-30 23:43:44 713 2

原创 20. 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--补充--自动添加接口地址

在开发过程中,针对每次新增接口需要手动添加到接口表的问题,设计并实现了一个自动化解决方案:利用反射动态生成 API 路径并自动存储到数据库中。具体实现通过新增一个名为AddPath的静态类完成。此类通过反射扫描当前程序集的控制器及其操作方法(Action),提取路由信息,动态生成完整的 API 路径,并检查路径是否已存在于数据库中。如果不存在,则将路径及相关元数据保存到数据库中,从而实现接口的自动注册。实现过程中,AddPath类的核心逻辑包括反射获取控制器及其Route特性,替换路由模板中的占位符(如和。

2024-12-29 22:24:35 873

原创 速学yolo:YOLO 与其他目标检测算法对比

YOLO、Faster R-CNN 和 SSD 是目标检测领域的经典算法,各自代表了不同的技术路线和设计思路。

2024-12-23 20:00:00 675

原创 速学yolo:YOLO 的核心思想

相比之下,YOLO 在一个神经网络中同时完成分类和定位任务,避免了中间的候选区域生成过程,极大地提升了检测速度。未来,随着深度学习技术的不断发展,YOLO 仍有进一步提升的潜力,如改进对小目标的检测性能、引入更强大的特征提取网络等。综上,YOLO 的单阶段检测策略不仅提升了速度,还简化了模型结构,同时增强了对全局信息的捕捉能力,这些优势使其成为目标检测领域的重要工具。YOLO 的每个网格预测多个边界框和对应的置信度,同时预测每个类别的概率分布。YOLO 作为单阶段检测的代表,展现了其独特的优势。

2024-12-23 15:51:54 118

原创 速学yolo:什么是yolo

YOLO 是的缩写,是一种用于目标检测的深度学习算法。它以其实时性能和高效率在计算机视觉领域中广受欢迎。YOLO 的核心思想是将目标检测问题视为单一的回归问题,直接从图像中预测目标的类别和位置。

2024-12-23 15:43:36 3940

原创 指数退避算法

指数退避调度算法是一种简单但有效的重试策略,广泛应用于网络请求、任务调度和冲突检测中。它通过。

2024-12-23 09:53:04 1286

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除