自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 202

原创 Protostuff序列化和反序列化

ProtostuffProtostuff在序列化和反序列化的速度上是非常快的,在要求速度简洁快速可以使用此框架,相比protobuffer使用起来简单方便Protostuff工具类public class SerializationUtil { private static Map<Class<?>, Schema<?>> cachedSchem...

2019-11-05 10:41:14 395

原创 Redis 哨兵集群实现高可用

Redis 哨兵集群实现高可用哨兵的介绍sentinel,中文名是哨兵。哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能:集群监控:负责监控 redis master 和 slave 进程是否正常工作。消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。故障转移:如果 master node 挂掉了,会自动转移到 slave node ...

2019-08-26 22:00:48 470

原创 如何保证消息队列的高可用?

面试题如何保证消息队列的高可用?面试官心理分析如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做...

2019-08-24 21:46:56 440

原创 Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?

面试题为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?面试官心理分析其实面试官主要是想看看:第一,你知不知道你们系统里为什么要用消息队列这个东西?不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架...

2019-08-24 21:45:29 511

原创 Java把一个对象转换成xml数据

使用jdk自带注解在一个实体类上添加注解@XmlRootElement(name="AppAccountList")public class AppAccountListVO { private List<AppAccountEntity> appAccountList; public AppAccountListVO() {} public App...

2019-08-23 15:13:43 9964

原创 Springcloud之Hystrix

简介Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时,异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性;"断路器"本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的,可处理的备选响应(FallBack...

2019-08-20 21:04:18 2644

原创 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 4948

原创 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 5243

原创 Ribbon自定义负载均衡策略

搭建注册中心和服务参考:搭建注册中心`服务提供者创建Ribbon消费者服务创建自定义负载均衡在ribbon项目配置文件类RibbonConfig简单修改即可:1 创建类MyRule 实现接口 IRule 实现方法public class MyRule implements IRule { ILoadBalancer balancer = new BaseLoadBalance...

2019-08-10 17:38:51 5338

原创 springcloud之Ribbon组件

简介Ribbon简介分布式系统中,各个微服务会部署多个实例,如何将服务消费者均匀分摊到多个服务提供者实例上,就要使用到负载均衡器Ribbon 是负载均衡器 ,它提供了很多负载均衡算法,例如轮询、随即等,在配置服务提供者地址后,可以将服务消费者请求均匀的分发搭建注册中心参考:搭建注册中心搭建服务提供者第一步:在demo1(搭建服务提供者)基础上编写一个controller简单模拟一下...

2019-08-10 17:26:44 5570 2

原创 springcloud注册服务到Eureka

第一步 搭建注册中心搭建注册中心参考:搭建注册中心第二部 搭建服务并注册到注册中心springboot创建一个微服务demo配置文件yml,配置文件有多种配置方式,我这里演示其中一种,这种方式可以直接用一个application.yml配置文件代替。1 application-demo配置文件:server: port: 8090spring: application: ...

2019-08-10 16:55:21 4998

原创 springcloud之搭建Eureka注册中心

简介Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了。功能类似于dubbo的注册中心,比如Zookeeper。搭建springcloud注册中心idea...

2019-08-10 16:33:32 4962

原创 微服务注册中心理解

当下最火热微服务框架之一SpringCloud, 使用它可以轻松地构建分布式服务,它核心组件少不了注册中心,它提供了服务注册于发现功能。常见的注册中心框架有zookeeper、Eureka、consul、etcd 等。zk保证一致性,eureka保证可用性…CAP理论#################让我自己实现一个简单的注册中心,直接上一个Mysql数据库吧。客户端注册向数据库保存一条记录...

2019-07-30 22:20:20 6224

原创 Zookeeper实现分布式锁

介绍实现分布式锁的方式很多,zookeeper是其中一种。企业生产中一般选择Redis,业务简单可以选择基于表的分布式锁,这篇文章介绍zookeeper。zookeeper实现分布式锁原理:基于临时顺序节点:  1.客户端调用create()方法创建名为“locknode/guid-lock-”的节点,需要注意的是,这里节点的创建类型需要设置为EPHEMERAL_SEQUENTIAL。 ...

2019-07-27 20:11:14 5454

转载 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 5721

原创 Kafka程序例子

Kafka安装安装Kafka前需要安装Zookeeper,因为Kafka需要Zookeeper做协调(Zookeeper不会参考Linux安装Zookeeper,我是安装在windows环境下,步骤差不多)安装好了之后安装Kafka Kafka下载地址安装完成后:1、启动zookeeper2、启动Kafka cmd命令进入Kafka安装目录 ,目录位置如下进入这个目录之后 输入启动...

2019-07-27 12:08:01 5788

原创 Kafka流处理平台

什么是Kafka kafka在未进入Apache的时候,是LinkedIn开源。LinkedIn是非常出名的一个开源平台,它为我们带来了非常多的开源产品:分布式数据同步框架Databus 、高性能计算引擎Cubert、 Java异步处理框架 ParSeq等。 kafka官方是这么解释的: ![3个特性](https://img-blog.csdnimg.cn/2019072621372456...

2019-07-26 22:25:13 5943

原创 easyexcel导出Excel表格

easyexcel相比较poi不是一套成熟的框架,但是开发快捷方便,不耗内存,速度快,是alibaba的开源框架,用起来十分简单:整个excel表是一个workbook,下面有多个sheet,一个sheet有多行row,一行有多个cell效果第一步 引入maven依赖<dependency> <groupId>com.alibaba<...

2019-07-20 18:43:13 9655 5

原创 Springboot项目整合xxl -job 任务调度中心

当项目中含有定时任务的时候,为方便管理定时任务,这时候可以考虑整合xxl-job任务调度中心,整合十分简单。下载xxj-job源码,下载地址:码云地址github地址下载好解压,目录结构:第一步 生成基础表进入doc >> db 文件夹,运行sql文件,生成框架需要的数据库表:第二步 配置后台管理端打开项目工程,已idea为例:修改admin工程的配置文...

2019-07-16 21:26:25 8862 1

原创 Springboot轻松整合Redis

如果不会搭建springboot项目,请参考笔者上一篇博客 快速搭建Springboot并整合Mybatis配置RedisConfig在项目中新建一个config包,创建新的类RedisConfig,代码如下:@Configurationpublic class RedisConfig { @Bean @SuppressWarnings("all") public...

2019-07-14 11:40:30 6944

原创 Springboot轻松整合Mybatis

在springboot没有出现之前,spring整合mybatis是相当麻烦,各种bean配置,现在我们来感受一下Springboot整合Mybatis是有多么方便先来看看效果添加用户:查询用户:开始动手第一步创建springboot项目到这里项目就创建完成了,我们可以看看pom文件:<dependencies> <dependency&...

2019-07-14 00:33:10 6845 1

原创 一条sql语句为何执行这么慢

mysql是大多数场景下都可以使用的数据库,大厂阿里很多都有用到,大家有没有遇到一条sql语句执行速度很慢的情况呢,下面就我自己掌握的技能未大家分析分析,不足请补充指教。 ![启动mysql](https://img-blog.csdnimg.cn/20190712223258397.png?x-oss-process=image/watermark,type_ZmFuZ3poZW...

2019-07-12 23:04:22 7038 1

原创 Linux环境安装Zookeeper集群

亲自教你搭建zookeeper集群根据官网资料,zookeeper集群至少需要有三个节点,如果你的环境没有jdk环境,请配置jdk 环境:centos7 jdk1.8 ip地址(后面图片有:128,129,130#第一步官网下载zookeeper jar包 也可以通过wget命令形式我把压缩包放在/usr/local/zookeeper目录下,没有就自己创建第二步解压缩命令...

2018-12-22 11:01:47 6941

原创 RabbitMQ 发布消息,消费消息代码实现

RabbitMQ 发布消息,消费消息pom依赖生产者消费者运行生产者通过管理界面看见效果RabbitMQ 消息中间件原理 ,介绍请看上一篇博文,这里只写基本实现spring有集成rabbitmq,本文未实现spring方式pom依赖导入依赖:&lt;dependency&gt; &lt;groupId&gt;com.rabbitmq&lt;/groupId&gt;...

2018-12-01 19:25:09 8078

原创 RabbitMQ消息中间件基础核心

RabbitMQ消息简介AMQP协议RabbitMQ整体架构RabbitMQ消息简介MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。它是一个开源的消息代理和队列服务器,通过Erlang语言实现,有延迟低等好处,基于AMQP协议。可以与Spri...

2018-09-08 13:49:54 6884

原创 HashSet数据结构原理

hashSet数据结构原理从源码中发现HashSet源码内部维护一个HashMap变量,来看看add方法: add添加的元素存放在HashMap中,其他方法结合源码分析,参考HashMap HashMap数据结构分析链接:特性HashSet为什么不能存放相同元素: 在HashMap的put API中,在存入一个元素时,会调用其hashcode方法计算hashcode值...

2018-09-06 00:26:08 16211

原创 LinkedList数据结构图解

LinkedList集合具体细节请结合源码自己分析哦:数据结构图解add方法详解特性数据结构add方法特性1.采用链表结构 适合插入和删除操作 只用改变一下前后节点引用 2.LinkedList 继承自 AbstractSequentialList 接口,同时了还实现了 Deque, Queue 接口,可以用来模拟堆栈,队列,双端队列结构...

2018-09-01 15:42:01 15029 2

原创 HashMap原理图解分析

欢迎使用Markdown编辑器写博客简洁的表达HashMap数据结构原理与API,具体细节请结合源码分析 :- HashMap数据结构- HashMap API- 类结构快捷键Eclipse : crtl + O Idea : alt + 7...

2018-08-31 00:59:23 7261

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除