摘要
随着现代化微服务架构的发展, 系统故障的定位与快速恢复面临着诸多挑战, 构建可检测的服务, 帮助线上保障团队时刻掌控应用的运行状况越来越重要. 本次分享会讲解如何让 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 构建可检测的高可用服务 https://v.qq.com/x/page/c3036vnz8ly.html
本作品采用知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议 https://creativecommons.org/licenses/by-nc-sa/4.0/ 进行许可.
来源: http://www.bubuko.com/infodetail-3343905.html