摘要:
前言 本文的素材来源与某次和朋友技术交流,当时朋友就跟我吐槽说apollo不如nacos好用,而且他们还因为apollo发生过一次线上事故。 故事的背景大概是如下 前阵子朋友部门的数据库发生宕机,导致业务无法正常操作,当时朋友他们数据库信息是配置在apollo上,朋友的想法是当数据库宕机时,可以通过 阅读全文
摘要:
前言 部门有个项目涉及到邮件发送,发送功能在本地测试可以成功发送,但是打包部署到docker环境中,却出现 No appropriate protocol (protocol is disabled or cipher suites are inappropriate) 后面在网上搜索了一下,查到了 阅读全文
摘要:
前言 先前写过一篇文章聊聊如何利用redis实现多级缓存同步,里面讲到业务部门因数据库宕机,有技术提出当数据库宕机,切换到redis,今天我们就来聊聊如何触发这个切换动作? 1、方案一:利用异常机制 伪代码如下: 首先这个方案是不可行的,因为每次请求,还是先走到数据库逻辑,然后等抛出异常,这个时间会 阅读全文
摘要:
前言 前阵子参加业务部门的技术方案评审,故事的背景是这样:业务部门上线一个专为公司高管使用的系统。这个系统技术架构形如下图 按理来说这个系统因为受众很小,可以说基本上没并发,业务也没很复杂,但就是这么一个系统,连续2次出现数据库宕机,而导致系统无法正常运行。因为这几次事故,业务部门负责人组织这次技术 阅读全文
摘要:
前言 何为sentry sentry是一个基于Django构建的现代化开源的实时错误追踪系统,可以帮助开发者发现问题、追踪问题 sentry官方文档 https://docs.sentry.io/ sentry安装 我们可以使用官方提供的https://github.com/getsentry/on 阅读全文
摘要:
前言 本文素材来源于业务部门技术负责人某次线上事故复盘分享。故事的背景是这样,该业务部门招了一个技术挺不错的小伙子小张,由于小张技术能力在该部门比较突出,在入职不久后,他便成为这个部门某个项目组的team leader,同时也拥有review 该项目的权利。(注: 该项目为微服务项目),在某次小张r 阅读全文
摘要:
前言 之前我们的文章记一次springboot项目自定义HandlerMethodArgumentResolver不生效原因与解法末尾留了一个思考题:在我们项目中如何优雅修改或者填充请求参数,本期就来揭晓这个谜底 方法一:自定义HandlerMethodArgumentResolver 执行步骤: 阅读全文
摘要:
前言 本文素材的来源自业务部门技术负责人一次代码走查引发的故事,技术负责人在某次走查成员的代码时,发现他们的业务控制层大量充斥着如下的代码 @PostMapping("add") public User add(@RequestBody User user, HttpServletRequest r 阅读全文
摘要:
前言 用过spring cache的朋友应该会知道,Spring Cache默认是不支持在@Cacheable上添加过期时间的,虽然可以通过配置缓存容器时统一指定。形如 @Bean public CacheManager cacheManager( @SuppressWarnings("rawtyp 阅读全文
摘要:
前言 为了简化开发,我部门经常会封装一些通用的类库给业务研发使用,因为业务方的根包路径很经常和我们部门项目的根包是不一样的,因此我们会让业务方在使用我们封装的包时,扫描一下我们的根包,形如下 @ComponentScan(basePackages = {"com.aaa","com.bbb"}) 不 阅读全文