随笔分类 -  解决方案

摘要:先看效果 appsettings.json { "Plugin1": { "Test1": "11111111" }, "Plugin2": { "Test2": "22222222" } } 为每个节点创建Option public class Service1Options { public s 阅读全文
posted @ 2021-09-28 17:05 .Neterr 阅读(83) 评论(0) 推荐(0) 编辑
摘要:模块中可以包含一下内容: Startup,可以注册模块使用的服务和中间件 静态资源 控制器、视图 模块支持Startup 要实现功能的模块化,首先模块要可以注册自己的服务和中间件,也就是每个模块要有独立的Startup 先实现一个简单的方案,将每个模块的Startup独立 源码:https://gi 阅读全文
posted @ 2021-06-14 09:08 .Neterr 阅读(177) 评论(0) 推荐(0) 编辑
摘要:概念 多租户软件架构就是在同一个系统实例上运行不同用户,能做到应用程序共享,服务自治?,并且还能做到数据互相隔离的软件架构思想。 需求 公司有多个集群需要访问配置中心项目,不同集群访问到的数据可能不同,所以每个租户一个独立的数据库,但是共用一个配置中心项目。 开始 解析租户信息 可以通过域名、URL 阅读全文
posted @ 2021-03-15 00:25 .Neterr 阅读(142) 评论(0) 推荐(0) 编辑
摘要:APP、前后端分离、后端项目之间调用都涉及接口调用,传输的时候如何防止被抓包、偷窥、伪造、超时、重放 解决方案: token授权认证,防止未授权用户获取数据 时间戳,防止超时重放 签名,防止数据篡改 HTTPS,防止数据明文传输 Token: 就是一个经过加密或签名的临时令牌,需要设置过期时间,每次 阅读全文
posted @ 2020-11-25 20:14 .Neterr 阅读(422) 评论(0) 推荐(0) 编辑
摘要:不使用表达式树,使用强类型生成where子句,好处是性能高,相比表达式树生成的sql,10倍+ 目前只支持生成where条件、查询语句,后期会增加生成Update SQL 支持生成Sqlserver、Mysql语句 where子句支持相等、比较大小、Between、Like、In操作 sql语句支持 阅读全文
posted @ 2020-06-09 19:22 .Neterr 阅读(242) 评论(0) 推荐(0) 编辑
摘要:缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决方案: 接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截; 从缓存取不到的数据,在数据库中也没有 阅读全文
posted @ 2020-04-25 20:52 .Neterr 阅读(193) 评论(0) 推荐(0) 编辑