
学习
文章平均质量分 59
血空不吊坎
这个作者很懒,什么都没留下…
展开
-
互联网架构三高之高可用
一、前言 高可用(High availability,即 HA)的主要目的是为了保障「业务的连续性」,即在用户眼里,业务永远是正常(或者说基本正常)对外提供服务的。高可用主要是针对架构而言,那么要做好高可用,就要首先设计好架构,第一步我们一般会采用分层的思想将一个庞大的 IT 系统拆分成为应用层,中间件,数据存储层等独立的层,每一层再拆分成为更细粒度的组件,第二步就是让每个组件对外提供服务,毕竟每个组件都不是孤立存在的,都需要互相协作,对外提供服务才有意义。 要保证架构的高可用,就要保证架构中所有组件以及其转载 2022-02-09 11:13:51 · 1796 阅读 · 0 评论 -
使用stream转list为map报错java.lang.IllegalStateException: Duplicate key
一.背景 在很多场景下,需要将List的数据转化为Map的键值对的场景,方便快速查询数据。例如:需要根据工号查询出对应的人名名称明细场景。有两种实现场景,第一种通过每个工号查询一次数据库循环查询,明显这种方式不合理,因为对DB压力以及连接不利。第二种将工号集合(需要考虑数据量的场景,Oracle支持最大一千条,mysql虽然无上线,但是考虑性能以及内存占用情况需要考虑上限建议1000以下),接下来是以第二种方式进行展开。 二.开发实践 List<User> userList = new A原创 2022-01-28 15:23:44 · 2225 阅读 · 0 评论 -
Java日志打印规范
1.日志级别 log.error() 适用于出现系统异常、重要错误的场景 log.warn() 适用于不影响业务场景的异常场景,但是存在告警信息 log.info() 适用于业务重要的信息,便于信息查询跟踪定位排查等。(例如调用重要接口,便于与对方系统进行问题排查) log.debug() 适用于开发调试阶段,快速问题定位,信息查询等。 如果日志不分级别或级别不合理,则定位问题时就无法快速有效地屏蔽大量低级别信息,给快速定位带来难度。 2.异常日志规范 使用slf4j日志组件时,logger原创 2022-01-27 20:37:17 · 1753 阅读 · 0 评论