- 博客(29)
- 收藏
- 关注
原创 MySQL优化sql
1、使用慢查询工具 pt-query-digest2、使用explain分析sql执行情况explain select * from table;COUNT MAX 优化max 优化:对比较字段创建索引count优化:子查询的优化group by优化limit 优化b避免过多的扫描索引的优化离散程度可以参考count ,像男女这种离散程度低。非主键...
2019-11-17 17:16:25
245
原创 Protostuff序列化和反序列化
ProtostuffProtostuff在序列化和反序列化的速度上是非常快的,在要求速度简洁快速可以使用此框架,相比protobuffer使用起来简单方便Protostuff工具类public class SerializationUtil { private static Map<Class<?>, Schema<?>> cachedSchem...
2019-11-05 10:41:14
443
原创 Redis 哨兵集群实现高可用
Redis 哨兵集群实现高可用哨兵的介绍sentinel,中文名是哨兵。哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能:集群监控:负责监控 redis master 和 slave 进程是否正常工作。消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。故障转移:如果 master node 挂掉了,会自动转移到 slave node ...
2019-08-26 22:00:48
507
原创 如何保证消息队列的高可用?
面试题如何保证消息队列的高可用?面试官心理分析如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做...
2019-08-24 21:46:56
473
原创 Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?
面试题为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?面试官心理分析其实面试官主要是想看看:第一,你知不知道你们系统里为什么要用消息队列这个东西?不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架...
2019-08-24 21:45:29
552
原创 Java把一个对象转换成xml数据
使用jdk自带注解在一个实体类上添加注解@XmlRootElement(name="AppAccountList")public class AppAccountListVO { private List<AppAccountEntity> appAccountList; public AppAccountListVO() {} public App...
2019-08-23 15:13:43
10035
原创 Springcloud之Hystrix
简介Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时,异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性;"断路器"本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的,可处理的备选响应(FallBack...
2019-08-20 21:04:18
2676
原创 Springcloud之Feign
简单介绍Feign 是一个声明式的 Web Service 客户端。它的出现使开发 Web Service 客户端变得很简单。使用 Feign 只需要创建一个接口加上对应的注解,比如:@FeignClient 注解。 Feign 有可插拔的注解,包括 Feign 注解和 AX-RS 注解。Feign 也支持编码器和解码器,Spring Cloud Open Feign 对 Feign 进行增强支...
2019-08-11 12:08:36
5052
原创 Spring boot之Actuator
简介Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得。Actuator同时还可以与外部应用监控系统整合,比如 Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等。这些系统提供了非...
2019-08-11 10:44:14
5313
原创 Ribbon自定义负载均衡策略
搭建注册中心和服务参考:搭建注册中心`服务提供者创建Ribbon消费者服务创建自定义负载均衡在ribbon项目配置文件类RibbonConfig简单修改即可:1 创建类MyRule 实现接口 IRule 实现方法public class MyRule implements IRule { ILoadBalancer balancer = new BaseLoadBalance...
2019-08-10 17:38:51
5371
原创 springcloud之Ribbon组件
简介Ribbon简介分布式系统中,各个微服务会部署多个实例,如何将服务消费者均匀分摊到多个服务提供者实例上,就要使用到负载均衡器Ribbon 是负载均衡器 ,它提供了很多负载均衡算法,例如轮询、随即等,在配置服务提供者地址后,可以将服务消费者请求均匀的分发搭建注册中心参考:搭建注册中心搭建服务提供者第一步:在demo1(搭建服务提供者)基础上编写一个controller简单模拟一下...
2019-08-10 17:26:44
5658
2
原创 springcloud注册服务到Eureka
第一步 搭建注册中心搭建注册中心参考:搭建注册中心第二部 搭建服务并注册到注册中心springboot创建一个微服务demo配置文件yml,配置文件有多种配置方式,我这里演示其中一种,这种方式可以直接用一个application.yml配置文件代替。1 application-demo配置文件:server: port: 8090spring: application: ...
2019-08-10 16:55:21
5025
原创 springcloud之搭建Eureka注册中心
简介Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了。功能类似于dubbo的注册中心,比如Zookeeper。搭建springcloud注册中心idea...
2019-08-10 16:33:32
5010
原创 微服务注册中心理解
当下最火热微服务框架之一SpringCloud, 使用它可以轻松地构建分布式服务,它核心组件少不了注册中心,它提供了服务注册于发现功能。常见的注册中心框架有zookeeper、Eureka、consul、etcd 等。zk保证一致性,eureka保证可用性…CAP理论#################让我自己实现一个简单的注册中心,直接上一个Mysql数据库吧。客户端注册向数据库保存一条记录...
2019-07-30 22:20:20
6254
原创 Zookeeper实现分布式锁
介绍实现分布式锁的方式很多,zookeeper是其中一种。企业生产中一般选择Redis,业务简单可以选择基于表的分布式锁,这篇文章介绍zookeeper。zookeeper实现分布式锁原理:基于临时顺序节点: 1.客户端调用create()方法创建名为“locknode/guid-lock-”的节点,需要注意的是,这里节点的创建类型需要设置为EPHEMERAL_SEQUENTIAL。 ...
2019-07-27 20:11:14
5487
转载 Java IO 之BIO讲解
nio介绍Java BIO是java1.4之前唯一的IO逻辑,在客户端通过socket向服务端传输数据,服务端监听端口,由于传统io读数据的时候,如果数据没有传达,IO会一直等待输入传入,当有请求过来的时候,新起一条线程对数据进行等待,处理.导致每一个链接都对应着服务器的一个线程。在1.4之后出现了NIO,但是不是很稳定,到jdk1.8官方说明已经稳定了,在这一章节主要讲BIO,下面博客会讲解N...
2019-07-27 18:09:55
5764
原创 Kafka程序例子
Kafka安装安装Kafka前需要安装Zookeeper,因为Kafka需要Zookeeper做协调(Zookeeper不会参考Linux安装Zookeeper,我是安装在windows环境下,步骤差不多)安装好了之后安装Kafka Kafka下载地址安装完成后:1、启动zookeeper2、启动Kafka cmd命令进入Kafka安装目录 ,目录位置如下进入这个目录之后 输入启动...
2019-07-27 12:08:01
5812
原创 Kafka流处理平台
什么是Kafka kafka在未进入Apache的时候,是LinkedIn开源。LinkedIn是非常出名的一个开源平台,它为我们带来了非常多的开源产品:分布式数据同步框架Databus 、高性能计算引擎Cubert、 Java异步处理框架 ParSeq等。 kafka官方是这么解释的:  public...
2019-07-14 11:40:30
6981
原创 Springboot轻松整合Mybatis
在springboot没有出现之前,spring整合mybatis是相当麻烦,各种bean配置,现在我们来感受一下Springboot整合Mybatis是有多么方便先来看看效果添加用户:查询用户:开始动手第一步创建springboot项目到这里项目就创建完成了,我们可以看看pom文件:<dependencies> <dependency&...
2019-07-14 00:33:10
6871
1
原创 一条sql语句为何执行这么慢
mysql是大多数场景下都可以使用的数据库,大厂阿里很多都有用到,大家有没有遇到一条sql语句执行速度很慢的情况呢,下面就我自己掌握的技能未大家分析分析,不足请补充指教。 是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。它是一个开源的消息代理和队列服务器,通过Erlang语言实现,有延迟低等好处,基于AMQP协议。可以与Spri...
2018-09-08 13:49:54
6919
原创 HashSet数据结构原理
hashSet数据结构原理从源码中发现HashSet源码内部维护一个HashMap变量,来看看add方法: add添加的元素存放在HashMap中,其他方法结合源码分析,参考HashMap HashMap数据结构分析链接:特性HashSet为什么不能存放相同元素: 在HashMap的put API中,在存入一个元素时,会调用其hashcode方法计算hashcode值...
2018-09-06 00:26:08
16271
原创 LinkedList数据结构图解
LinkedList集合具体细节请结合源码自己分析哦:数据结构图解add方法详解特性数据结构add方法特性1.采用链表结构 适合插入和删除操作 只用改变一下前后节点引用 2.LinkedList 继承自 AbstractSequentialList 接口,同时了还实现了 Deque, Queue 接口,可以用来模拟堆栈,队列,双端队列结构...
2018-09-01 15:42:01
15123
2
原创 HashMap原理图解分析
欢迎使用Markdown编辑器写博客简洁的表达HashMap数据结构原理与API,具体细节请结合源码分析 :- HashMap数据结构- HashMap API- 类结构快捷键Eclipse : crtl + O Idea : alt + 7...
2018-08-31 00:59:23
7301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人