但是某个迭代开始发现,
这个Web API有一定几率在启动的时候接收到大量请求后堆积起来, 看日志显示请求进来了, 但是一直没有到逻辑代码或者数据库查询,
所有的请求看起来都是在等调度....玄学现场:又做了一些奇怪的事情
后来又发现, 每次启动的时候, 在正式流量打入之前, 尽量预热一下api实例的话, 被直接打崩的几率会变低,
整体api会比较正常启动....现总结一下当前情况
这次上线前, 数据库已经升级了配置, 整体监控上数据库没有任何的瓶颈
没有大的逻辑变动, 老的核心接口基本都异步改造完成, 新接口基本都是异步的
不存在缓存穿透问题, Redis...这次发布最大变更是IP定位, 需要处理headers中的IP数据,
使用ActionFilterAttribute在请求进入Action方法前完成IP到地区的转换....这里主要会用到Redis和MaxMind.Db, 优先从Redis查询IP地区缓存, 没有命中则直接查询MaxMind.Db数据, 查询好之后再写入到Redis中.
代码大概是这样的.