ASP.NET Core 微服务准备知识

基础

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

进阶

  • 中间件:Redis 缓存/消息队列、RabbitMQ 消息队列、Kafka 消息队列 并配合实现 EventBus
    • Redis:单/多线程、多路复用;6大淘汰算法、主从复制备份、集群分片、AOF/RDB持久化、事务、缓存预热/穿透/击穿/雪崩、Lua扩展
    • RabbitMq:4种exchange,队列优先级/延迟队列 原理、消息确认机制、消息事务和持久化、集群&镜像集群
    • Kafka:
    • RocketMQ:
    • Elasticsearch:分词、复杂查询、集群分片
  • 事件总线 EventBus
  • 分布式锁、主从备份、数据一致性
  • sqlserver分布式锁、redis分布式锁、consul分布式锁
  • 分布式事务:CAP&Base 分布式演化、2PC/3PC 分布式事务、TCC分布式事务、本地消息分布式事务、Saga
  • Redis、MySQL、RabbitMQ 的分布式锁、主从复制、集群设置、分库分表(如水平、垂直拆分)、数据一致性问题、双写、队列重试、死信队列等
  • web api(resful)/ rpc(grpc、thrift)
  • 鉴权授权中心 SSO
  • 网关Gateway组件包括:Kong(集合体)、zuul、spring cloud gateway、bumblebee、Ocelot/Apisix(很火)yarp(微软新秀)
  • 故障处理库:Polly,是.NET 中弹性和瞬态故障处理库,允许开发人员以 Fluent 和线程安全的方式来实现重试、断路、超时、隔离和回退策略。
  • 服务注册与发现中心:zookeeper、Eureka、NacosConsulconsuldot
  • 配置中心:Configmap 或 Apllo.net阿波罗NacosAgileConfig(国人开发)
  • 分布式链路追踪:Zipkin(有点复杂)SkyWalking APM-dotnet、轻量级的有 HttpReports
  • 分布式日志聚合:ELK(Kibana+ES+LogStash)、.Net 这边常用的Exceptionless、Seq(小众,但是不错)、loki+grafana
  • 监控分析与警告:Prometheus + Grafana / Altermanager
  • 分布式全文搜索:ES(ElasticSearch)
  • 持续性部署:Docker+Jenkins+git+K8s、AzureDevops一站式服务

  • abp Next
  • Dapr(未来微服务集成框架,让开发微服务只专注于业务)
  • istio
  • k8s
  • traefik
posted @ 2022-04-13 10:30  醉马踏千秋  阅读(343)  评论(0编辑  收藏  举报