摘要:
性能涉及的层面很多,但是在操作层面,主要有表结构设计优化、索引优化和查询优化 查询的生命周期大致可以分为,从客户端、到服务端、在服务器上解析、生成执行计划、执行、返回结果给客户端 sql执行流程 具体优化技巧 1.消除外连接 2.消除子查询 尽量用join代替子查询,虽说mysql查询优化器会进行优 阅读全文
摘要:
Spring-Boot中有很多Enable开头的注解,通过添加注解来开启一项功能,如 其原理是什么?如何开发自己的Enable注解? 1.原理 以@EnableScheduling为例,查看其源码,发现添加了一个@Import注解 继续查看@Import注解源码,发现其是由Spring提供的,用来导 阅读全文
摘要:
事务概念 事务可由一条sql或者一组sql组成。事务是访问并更新数据库中各种数据项的一个程序执行单元。 事务会把数据库从一种一致状态转换为另一种一致状态。在数据提交工作时,可以确保要么所有修改都已经保存了,要么所有修改都不保存。 事务需要满足ACID特性(不同厂商、mysql不同的存储引擎并非严格遵 阅读全文
摘要:
1.请求缓存 优点: 注解方式实现: 设置缓存key: 如果可以确认,对要缓存的数据的操作,主要是写操作都只在feign调用中完成且读多写少,则可以使用此方式;如果在其他地方还有对数据的写操作,则可能会导致数据不一致;如果写多读少,则不会提高性能。 2.请求合并 优点: 注解方式: 注意: 可以设置 阅读全文
摘要:
概述 如果一个对象A的行为依赖另一个对象B的状态,我们可以有两种实现方式: 一种是对象A轮询对象B的状态,根据轮询结果决定自己的行为;另一种是对象B在自身状态发生改变时,主动通知对象A。 不难看出,第二种凡是会比第一种方式效率高,观察者模式即采用第二种方式,观察者模式可以用于事件监听、通知发布等场合 阅读全文
摘要:
通过代码和代码中的详细注释,可以对Netty有个入门的了解 TimeServer(初始化服务,绑定端口,指定IO handler) TimeServerHandler(处理服务端Channel中的读写事件) TimeClient(初始化客户端SocketChannel,连接ServerSocket, 阅读全文
摘要:
flume提供fail over和load balance功能 1.添加collector配置(配置两个collector) # Name the components on this agents1.sources = r1s1.sinks = k1s1.channels = c1 # Descr 阅读全文
摘要:
角色 Source 数据来源 (exec, kafka, http…)Channel 数据通道 (memory,file,jdbc)Sink 数据目的地 (kafka,hdfs,es…) Agent 代理,负责从source中采集数据,发送给collectorCollector 收集者,收集agen 阅读全文
摘要:
阅读全文
摘要:
Kafka配置优化 https://www.jianshu.com/p/f62099d174d9 1.安装&配置 下载tar包 解压后即可使用 修改配置文件 将server.properties复制和修改为三个配置文件(为启动3个kafka服务做准备) 设置broker.id,集群中各节点的标识,要 阅读全文