看书读感-《U型思考》
序 本质思考力决定未来 人遇到问题的时候,一般有2种思考方式: 直线思考,在现象层面直接寻求解决方案 U型思考,不是在现象层面求解,而是挖掘问题背后的本质,在本质层面找到根本性解决法,最终再回到现实解决问题 第一章 U型思考为什么 未知的未知、未知之墙、元思维、跨越未知之墙 第一节 未知三模型 已知的已知、已知的未知、未知的未知 第二节...
RocketMQ-优雅启停
经常使用RocketMQ,在Spring项目中使用Consumer时候,一般在bean初始化的时候,就执行Consumer.start,导致项目中其他bean还没初始化完成就消费MQ消息,存在后续bean初始化失败后,消费处理失败丢失的情况,如何做到优雅启停呢,可以参考RocketMQ-springboot-starter的实现。 如下DefaultRocketMQListenerContainer实现了多个接口: public class DefaultRocketMQListenerContainer implements InitializingBean, RocketMQListenerContainer, SmartLifecycle, ApplicationContextAware...
看书读感-《成事的时间管理》
第一章 成事有道:达成目标的时间管理 成事目标:没有目标,则不用学时间管理。我有目标,我想赚更多钱,想实现财富自由,但这不是目标,是“念想”,每个人都有无数“念想”。 成事动机:只有改变,人生才有更多的可能。只有改变,才能改变当前和过去的情况,未来才能变化 成事智慧:均衡的人生,应该有五个维度的目标:工作事业、婚姻家庭、个人财富、生活健康、学习成长 第二章 理解时间:管理过去 、现在和未来 回击过去:如果不改变过去的自己,绝不可能扭转现状 干预现在:你的未来已来,不过不是你想要的样子,把控现在的变化趋势才能达成未来的自己 活在未来:弱者活在过去,强者活在未来。努力过好现在是一种痛苦的幸福 第三章...
Redis-bitmap源码分析
Redis源码5.0版本 Redis的bitmap用于存储位图数据。它可以表示大量的位(bit)并对位进行操作,具有高效的存储和计算性能,可以用在用户在线状态跟踪(离线在线)、消息推送和通知、用户活跃度统计、布隆过滤器等场景。 来分析下setbit、getbit、bitcount命令是操作bitmap的,源码解析如下。 setbit命令下标值设置0或者1,其返回值是旧值,bitmap中值只能是0或1 getbit获取下标值是0还是1 bitcount是下标为1的个数 还有其他命令,bitop:对多个位数组进行按位与、或、异或运算 #设置100000下标对应的为1 127.0.0.1:6379> setbit mybitmap 100000...
分布式-Apollo配置中心高可用
Apollo配置中心,有Portal、Admin Service、Config Service三个服务,其中Admin Service、Config Service是多实例的,且客户端发现这些节点(IP+Port)清单是通过Eureka获取的 高可用架构 如下,IDC1和IDC2俩个机房 每个机房内部署Portal、Admin Service、Config Service,单机房内,Portal访问同机房Admin Service进行查询、修改、发布操作,服务实例从同机房Config...