nginx 499错误处理及nginx的配置参数 近期响应集团降本增效,节省ci,stg机器,我们项目开始容器化,在改造过程中,链路的访问发生了变化,导致出现了499,解决方如下访问链路: 域名—> ELB (内网访问) —> openrestry (stg环境,支持自定义lua脚本) —> ELB(提供服务固定ip) —> (容器集群)POd。
db脚本持续集成: flyway创建、管理和版本化数据库 Flyway 是一种开源的数据库迁移工具,可以帮助开发者将数据库的版本管理集成到应用程序中。它使用简单的 SQL 脚本来管理数据库的版本和升级。Flyway 支持多种主流的数据库(如 MySQL、PostgreSQL、Oracle、SQL Server 等),使得在不同数据库之间进行迁移变得更加容易和灵活。Flyway 是基于约定优于配置的原则,提供了一系列命名规范和组织结构,使得创建、管理和版本化数据库变得更加可预期和可重复。
redis热key的发现管理淘汰 本地–> nginx —> web服务 ----DB —> dfs —> 网络代理npm的tgz包请求特点: 高并发、热点包、读多写少需要发现热点包,缓存到本地,减少web服务和db、dfs的交互,减少网络链路。直接从本地ssd下载文件。
HTTP缓存机制 HTTP有两种缓存机制:强制缓存和协商缓存,强制缓存cache-control比expires的语义丰富的多;协商缓存:Last-Modified比etag生成性能好,但是只能秒级。技术方案没有最好,只有最适合当前场景的解决方案,技术也是一直发展的,我们也需要与时俱进,脑中存储各个场景在具体能拿到最大资源下的最合适的方案。
令牌桶限流通过信号量实现 由于是我们限制自己的发起请求,对方限制我们的结果,因此根据对方给的限制每分钟300个请求的限制,使用令牌桶,来控制我们的请求。非上面限流算法,既然对方限流我们,那我们只要一直请求,请求结果如果是限制请求,那么我们sleep一段时间,再继续发起请求。场景2服务方对我们限流,为了能正确获得服务结果,我们也需要对我们的请求进行限流发起。1.为了防止第三方无节制的调用打垮我们的系统,需要对重要的请求进行限流。计数限流、固定窗口、滑动窗口、漏桶算法、令牌桶。2.服务方对我们调用的接口有每分钟限流。
logback输出日志区分所属线程:方便运维排查问题 生成每次请求的唯一标识/*** @description logback拦截器} }1.preHandle:在业务处理器请求之前被调用。预处理可以可以进行编码控制、安全控制、权限校验等2.postHandle:在业务处理器处理请求完成之后,在生成视图之前执行。3.afterCompletion:在DispatcherServlet完全处理完请求后被调用,可用于清理资源等。
ehcache使用及缓存不生效处理方法 ehcache是一个纯java的进程内的缓存框架, 具有快速,精干等特点。java中最应用广泛的一款缓存框架(java’s most widely-used cache)ehcache是一个基于标准、开源的高性能缓存,扩展简单。因为它健壮、经过验证、功能齐全、方便的和第三方框架与库集成。Ehcache 从进程内缓存一直扩展到具有 TB 大小缓存的进程内/进程外混合部署。
我是如何进行日常时间管理的 运用四象限工具对任务分为: 紧急重要、紧急不重要、不紧急重要、不紧急不重要。帕金森定律: 你有多少时间完成工作,工作就会自动变成需要那么多时间。不紧急不重要: 杂事,合理授权给相应的人。紧急重要: 最高优先级任务。紧急不重要: 救火类的任务。不紧急重要:长远有益时间。
拥抱TDD吧,节省30%开发时间 TDD:test-driven-development即测试驱动开发,是指在实际开发逻辑代码前,先写好测试用例。整个TDD开发流程:开发(定义顶层抽象)-> 编写用例 -> 准备数据 ->跑用例->失败->开发->跑用例->成功->交付非TDD开发开发->手工测试->失败->开发->手工测试->成功->交付。
maven的pom没有指定包的版本 输出依赖树包有具体的版本parent有定义版本https://stackoverflow.com/questions/12315746/what-will-the-version-be-when-i-dont-specify-it-in-the-mavens-pom-xml/12316462#12316462https://blog.csdn.net/kang389110772/article/details/106497338
npm ERR! code EINTEGRITY处理 方法三: 打开你项目的package-lock.json 用上面的sha512搜索,找到对应的包,替换integrity的值(原因:已发布包unplish后再次publish,导致sha512的值改变了)表示某个包的当前下载sha512与之前记录的不一致,这种可能情况是:本地下载过某个包,然后对应的被unpublish后再次publish导致文件的sha512发生了变化。方法四: (如是自研仓库): 进入自研仓库库,如是远程下载的包,选择指定版本,删除包,从官网重新拉取包。