- 领域模型:这个是微服务的基础,可以说是基础模型;
- GateWay:实现服务的认证和授权,可以实现服务的聚合;
代表项目:Ocelot;
使用:添加Ocelot包,添加Ocelot配置,添加配置读取代码,注册Ocelot服务,注册Ocelot中间件;
- JWT的认证和授权;
JWT有三部分组成:Header(令牌类型和加密类型等信息),Payload(支持自定义部分),Signature(Header和Payload和私有密钥计算出来的签名),
要同时部署到gateway和微服务;
- 服务熔断,服务降级,服务重试,服务限流;
代表项目:Polly;
使用:添加Polly包,服务注册以及使用Polly API配置;
- 内部服务间通讯--GRPC
优势:默认使用Protocol Buffers序列化,性能相对于Restful Json好很多;基于Http/2;支持双向流式的请求和响应,对批量处理和低延时场景友好。
- CQRS:实现领域事件和领域事件处理程序隔离,让服务层独立出来实现服务的认证和授权,以及一些与基础服务相关的业务;
代表项目:MediatR;
- 缓存(普通缓存,分布式缓存)
普通缓存:ResponseCache,MemoryCahce;分布式缓存:Redis,EasyCachce;
- 安全
反跨站请求伪造;防开放重定向攻击;防跨站脚本;跨域请求设置;