用ASP.NET Core构建可检测的高可用服务--学习笔记

摘要

随着现代化微服务架构的发展,系统故障的定位与快速恢复面临着诸多挑战,构建可检测的服务,帮助线上保障团队时刻掌控应用的运行状况越来越重要。本次分享会讲解如何让 ASP .NET Core 应用与现代化云基础设施完美融合,提升服务的可检测性,保障线上系统的可用率。

技术架构进化史

  • 单体架构

  • 服务化架构(SOA)

  • 微服务架构

  • Service Mesh

架构进化带来的挑战

  • 应用越拆越多

  • 拓扑越来越复杂

  • 故障定位难上加难

哪些场景需要应用可检测

  • 故障自动隔离

  • 故障定位排查

  • 服务可用性检测

  • 服务性能测试

.NET Core 的可检测性支持

  • 日志框架(Logging)

  • 诊断框架(Diagnostics)

  • 健康检查框架(HealthChecks)

.NET Core 的日志框架 -- Microsoft.Extensions.Logging

.NET Core 的日志框架特性

.NET Core 的日志框架适用场景
  • 用户请求日志

  • 异常日志记录

  • 外部接口的调用日志

  • 复杂组件的调试警告输出

日志小技巧

.NET Core 的诊断框架 -- System.Diagnostics

主要类:

System.Diagnostics.DiagnosticListener

System.Diagnostics.DiagnosticSource

.NET Core 的诊断框架特性
  • 事件发布订阅的设计模型

  • 支持任意对象追踪

  • 支持动态开关

  • 支持监听筛选

.NET Core 的诊断框架适用场景
  • 日志组件无法满足需求时

  • 期望对组件内部执行过程跟踪时

  • 期望特定事件发生时,在外部修改组件对象

.NET Core 的诊断框架的应用案例
  • HttpClient

  • MySql.Data

  • CAP 组件

  • SkyWalking .NET

ASP .NET Core 的健康检查框架 -- Microsoft.AspNetCore.Diagnostics.HealthChecks

ASP .NET Core 的健康检查框架特性

ASP .NET Core 的健康检查框架应用场景
  • 检查应用端口是否可访问

  • 检查应用依赖服务是否可访问

  • 检查应用内组件是否正常工作

与云服务融合实现故障隔离
  • 负载均衡的健康检查

  • K8S 的 LivenessProbe

与监控系统打通
  • 监控系统探针访问健康检查接口

  • 主动推送健康检查结果到监控系统

愿景

持续提高开发者的幸福感

视频链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值