ASP.NET Core 微服务准备知识


基础

  • Swagger接口文档
  • 自带验证(两种) 和 第三方的FluentValidation
  • 自定义中间件
  • 5种过滤器
  • JWT 授权认证(JWT滑动刷新、强制过期)
  • 单元测试 xUnit
  • Ids4
  • Restful
  • Nginx
  • 任务调度 QuartNet
  • 仓储概念(泛型仓促、工作单元)
  • 日志(Log4Net、Serilog(推荐)、NLog(不建议)等,全局异常日志记录等(Serilog的自动删除过期日志,代码的简洁、扩展功能都比 NLog 强太多了)
  • HttpContext获取用户信息
  • Dto,对象映射的三方包:AutoMapper
  • 缓存(内存缓存、Redis缓存)
  • 跨域 CORS(跨域限制、同源策略和解决的几种方案)
  • IP限流
  • 了解IoC、运用过微软自带DI、第三方Autofac
  • MinProfile 性能分析
  • 重试策略/Qos
  • IConfigurate 配置
  • 前后端分离部署
  • SinalR 双工通讯
  • WebSockets
  • QuartzNet 任务调度
  • 数据部门权限、基于角色策略的授权(基于数据库的复杂策略授权等)
  • Feign 或 HttpClient
  • DDD领域驱动设计(各种概念如:充血模型、聚合、实体和值对象等)/切面编程AOP(动态代理、静态代理,包含:日志、性能分析、)
  • 常规部署(包括:熟悉Linux、Docker基本命令、了解k8s)
  • 前端基础(html+css+js、h5+css3、jquery、vue、webpack、ts、es6以及各种包如Axios等)

进阶

  • 中间件:Redis 缓存/消息队列、RabbitMQ 消息队列、Kafka 消息队列 并配合实现 EventBus
  • 事件总线 EventBus
  • 分布式锁、主从备份、数据一致性
  • Redis、MySQL、RabbitMQ 的分布式锁、主从复制、集群设置、分库分表(如水平、垂直拆分)、数据一致性问题、双写、队列重试、死信队列等
  • 鉴权授权中心 SSO
  • 网关Gateway组件包括:Kong、zuul、spring cloud gateway、bumblebee、Ocelot(主推)/Apisix(很火)、yarp(微软新秀)
  • 故障处理库:Polly,是.NET 中弹性和瞬态故障处理库,允许开发人员以 Fluent 和线程安全的方式来实现重试、断路、超时、隔离和回退策略。
  • 服务注册与发现中心:zookeeper、Eureka、Nacos、Consul(似乎放弃了)、Dapr
  • 配置中心:Configmap 或 Apllo阿波罗、Nacos、AgileConfig(国人开发)
  • 分布式链路追踪:Zipkin、SkyWalking APM、轻量级的有 HttpReports
  • 分布式日志聚合:ELK(常用) 、.Net 这边常用的Exceptionless、Seq(小众,但是不错)、loki+grafana
  • 监控分析:Prometheus + Grafana
  • Docker + K8s
  • 分布式全文搜索:ES(ElasticSearch)
  • 持续性部署:Jenkins+git、AzureDevops一站式服务
  • Dapr

 .