• 用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

    与监控系统打通

    • 监控系统探针访问健康检查接口
    • 主动推送健康检查结果到监控系统

    愿景

    持续提高开发者的幸福感

    视频链接

    用ASP.NET Core构建可检测的高可用服务

    知识共享许可协议

    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

    欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。

  • 相关阅读:
    端口转发工具ngr0k
    深入理解JavaScript系列(2):揭秘命名函数表达式(转)
    SQL Server DATEDIFF() 函数
    em(倍)与px的区别
    左右页面布局
    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点(转)
    《JavaScript高级程序设计》(第二版)
    autocomplete 之 ASP.NET
    JQuery 优缺点略谈
    几个常见CSS错误和解决办法
  • 原文地址:https://www.cnblogs.com/MingsonZheng/p/12078812.html
Copyright © 2020-2023  润新知