随笔分类 -  呕心沥血

摘要:写在前面 聊一聊MyBatis的核心概念、Spring相关的核心内容,主要结合源码理解Spring是如何整合MyBatis的。(结合右侧目录了解吧) MyBatis相关核心概念粗略回顾 SqlSessionFactory 创建SqlSession的工厂 SqlSession sql请求的会话,通过S 阅读全文
posted @ 2021-07-29 22:56 瓶子coder 阅读(1552) 评论(0) 推荐(3) 编辑
摘要:写在前面 聊一聊MyBatis是如何使用装饰者模式的,顺便回顾下缓存的相关知识,可以看看右侧目录一览内容概述。 装饰者模式 这里就不聊它的概念了,总结下就是套娃。利用组合的方式将装饰器组合进来,增强共同的抽象方法(与代理很类似但是又更灵活) MyBatis缓存 回忆下传统手艺 <!-- 先进先出,6 阅读全文
posted @ 2021-07-26 13:51 瓶子coder 阅读(292) 评论(0) 推荐(0) 编辑
摘要:概述 本文描述下Spring的实例化、初始化、销毁,整个SpringBean生命周期,聊一聊BeanPostProcessor的回调时机、Aware方法的回调时机、初始化方法的回调及其顺序、销毁方法的回调及其顺序、重要的BeanPostProcessor的介绍。 开头是一张我画的调用流转图,然后就是 阅读全文
posted @ 2021-05-18 11:53 瓶子coder 阅读(609) 评论(0) 推荐(2) 编辑
摘要:概述 本文沉淀Elasticsearch性能优化方式,包含写入、搜索优化。 推荐结合《Elasticsearch必备原理理解》一起食用~ 一、写入速度优化 在Elasticsearch的默认设置下,是综合考虑数据可靠性、搜索实时性、写入速度等因素的。当离开默认设置、追求极致的写入速度时,很多是以牺牲 阅读全文
posted @ 2021-03-22 16:00 瓶子coder 阅读(819) 评论(0) 推荐(0) 编辑
摘要:概述 ApolloPortal创建灰度后都做了什么呢?Apollo是如何维护主版本与灰度版本关系的呢? 其实创建灰度非常简单,可以看到下图中“Cluster”表结构中的“ParentClusterId”字段。这个就是维护灰度关系的核心。 在创建灰度的时候,Apollo会根据当前Cluster、Nam 阅读全文
posted @ 2021-03-22 14:17 瓶子coder 阅读(569) 评论(0) 推荐(0) 编辑
摘要:入口 ApolloApplicationContextInitializer (它实现了 ApplicationContextInitializer接口,并重写了initialize方法)。 ApplicationContextInitializer简单介绍: ApplicationContextI 阅读全文
posted @ 2021-03-22 14:10 瓶子coder 阅读(6208) 评论(0) 推荐(0) 编辑
摘要:前两篇内容 《深入理解Apollo核心机制之配置读取——前言》 《深入理解Apollo核心机制之配置读取——ConfigService定时扫描》 概述 读取配置除了默认5分钟间隔去轮询接口拉取配置,还有客户端主动长轮询ConfigService,等待通知后主动拉取配置。本文就看看客户端是如何开始客户 阅读全文
posted @ 2021-03-22 13:59 瓶子coder 阅读(818) 评论(0) 推荐(0) 编辑
摘要:#概述 之前我们了解了,客户端会每秒(默认)长轮询Config Service,等待通知,然后去主动拉取配置文件。本文主要跟进Config Service主动轮询ReleaseMessage表,并通知对应监听器的源码,最终终止客户端长轮询的源码。附上之前的链接《深入理解Apollo核心机制之配置读取 阅读全文
posted @ 2021-03-22 13:50 瓶子coder 阅读(821) 评论(0) 推荐(0) 编辑
摘要:#前言 Apollo是当下较为火热的配置中心,顾名思义自然是管理配置的,那么它是如何获取配置的呢?本文会简单介绍相关机制,很多东西自然解释得不到位,后续会有单独章节深追源码看具体实现的。 #配置获取方式 Apollo有两种方式获取配置: 1)客户端定时请求Config Service的配置读取接口; 阅读全文
posted @ 2021-03-22 13:43 瓶子coder 阅读(1487) 评论(0) 推荐(0) 编辑
摘要:#RocketMQ基本API使用 基于原生客户端 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.2.0</version> </depen 阅读全文
posted @ 2021-03-17 16:05 瓶子coder 阅读(511) 评论(0) 推荐(0) 编辑
摘要:RocketMQ基本原理 基础概念 消息模型 RocketMQ主要由Producer、Broker、Consumer三部分组成,其中Producer负责生产消息,Consumer负责消费消息,Broker负责存储消息。Broker在实际部署过程中对应一台服务器,每个Broker可以存储多个Topic 阅读全文
posted @ 2021-03-15 20:47 瓶子coder 阅读(601) 评论(0) 推荐(0) 编辑
摘要:Elasticsearch读写原理 心得: 主分片、副本分片的存在类似各大组件的”主从结构“,需要注意的是,Elasticsearch的写入是针对主分片,而读操作是主分片、副本分片都可以(采用随机轮询策略)。所以——适当增加”副本分片数“将会减缓对主分片的查询压力**,需要注意的是将会消耗同样的内存 阅读全文
posted @ 2021-03-13 16:33 瓶子coder 阅读(307) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示