自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 myql explain

1、失败通知模式2、生产者确认模式 2.1、一般确认模式 2.2、同步确认模式 2.3、异步确认模式 2.4、批量确认模式3、事务

2022-05-15 16:14:38 133

原创 rabbitmq-rpc

rabbitmq-rpc前面讲的几个交换器,我们都是单向的消息发送,生产者将消息发送给消费者就不管了。在实际业务中,我们有时候要等耐消费者将结果返回给我们,或者说我么需要消费者上的一个功能,一个方法,一个接口返回给我们的值。但是往往我们的系统是不同的子系统,分布在不同的电脑,不能直接通过方法来调用,所以需要使用到RPC(Remote Procedure Call)远程过程调用模式。Rabb...

2019-10-20 20:01:42 224

原创 rabbitmq-window后台管理命令

角色说明administrator(超级管理员):可以登录控制台,查看所有信息可以对用户和策略进行操作Monitoring(监控者):可以登录控制台,可以查看节点相关的信息,比如进程数,内存使用情况等Policymaker(策略制定者):可以登录控制台,制定策略,但是无法查看节点信息Management(普通管理员):仅能登录控制台其他:无法登录控制台,一般指的是提供者和消费者...

2019-10-20 19:59:09 277

原创 rabbitmq-Fanout exchange(扇形交换器)

Fanout exchange扇形交换器,以广播的形式发送,不管消费者是否有相匹配的绑定键,都会收到消息。就像你买了商品A,人家还硬要把商品B都送给你,买一送一。我们具体看下实例:生产者发送消息:Send apple:Hello,RabbitMq1Send orange:Hello,RabbitMq2Send pear:Hello,RabbitMq3package c...

2019-10-11 15:15:30 193

原创 rabbitmq-direct exchange(直接交换器)

Direct exchange直接交换器模式,其路由算法非常简单,一条消息只发送到完全匹配的队列。我们使用以下几个实例来说明:实例1在这个直接交换器实例中,我们绑定了两个队列到交换器中,第一个队列使用绑定键orange,第二个队列使用black和green绑定键。在这个实例中,路由键为“orange”的消息将被分发到队列Q1,路由键为”black”和“green”将被发到队...

2019-10-11 14:51:09 301

原创 rabbitmq-Topic exchange(主题交换器)

Topic exchange消息发送到topic exchange(主题交换器)不能具有任意的routing_key(路由键),它必须是一系列的单词,使用点号.分隔。这些单词可以是任意的,但是经常定义了与消息相关的特性。一些有效的路由键示例:"stock.usd.nyse", "nyse.vmw", "quick.orange.rabbit"。路由键中的字可以任意多个,最多255个字节。绑...

2019-10-11 13:56:59 389

原创 rabbitmq-windows安装、基本操作

rabbitmq底层使用erlang语言实现,安装前,先查看两者匹配版本rabbitmq与erlang相匹配版本:https://www.rabbitmq.com/which-erlang.htmlerlang安装1、下载erlang22.1https://www.erlang.org/downloads2、安装完后配置环境变量3、测试是否安装成功打...

2019-10-10 13:59:12 137

原创 error: %preun(redis-4.0.14-1.mga6.x86_64) scriptlet failed, exit status 127

今天尝试使用rpm安装redis,结果没成功安装,想删除redis-4.0.14-1.mga6.x86_64总是失败。报错:[root@localhost usr]# rpm -e --allmatches --nodeps redis-4.0.14-1.mga6.x86_64/var/tmp/rpm-tmp.48ICk0: line 1: /usr/share/rpm-helper/d...

2019-09-08 20:01:35 820

原创 GuestRpcSendTimedOut: message to toolbox-dnd timed out

这两天安装centos7的虚拟机总是出现莫名其妙的问题(自己不懂虚拟机内部原理,只能认为莫宁奇妙了,哈哈),这不又遇上了一个问题。虚拟机安装好,开始还可以使用,今天早上一打开,发现虚拟机停留在启动页面,然后就没然后了。于是只能打开日志wmware.log看看了发现最后打印的是:2019-09-08T07:57:16.441+08:00| vmx| I125: USB: Found ...

2019-09-08 08:46:49 7172 1

原创 InetAddress-InetSocketAddress

InetAddress:封装计算机的IP地址和DNS,没有端口InetAddress() { holder = new InetAddressHolder();}InetSocketAddress:封装计算机的IP地址和端口,从构造方法就能发现private InetSocketAddressHolder(String hostname, InetAddress ...

2019-08-22 14:31:31 500

原创 Zookeeper节点操作-2

在Zookeeper节点操作-1使用了同步返回,这里举几个节点操作回调接口的函数。在这篇里添加了NodeChildrenChanged事件,该事件是对节点下的子节点的创建和删除进行监听。注意事项:临时节点下不能创建子节点package ghs.zook;import java.io.IOException;import java.util.concurrent.CountDow...

2019-08-19 16:50:53 1811

原创 Zookeeper-伪集群搭建

创建3台机器的集群,这里没有三台机器,打算使用一台机器不同端口(虚拟机)来创建。1、在/usr/local/zookeeper-3.4.9目录下创建三个子目录zk1,zk2,zk3mkdir zk1 zk2 zk32、在子目录zk1,zk2,zk3下分别创建data、logs目录mkdir data logs3、分别在子目录下zk1,zk2,zk3下创建myid。3...

2019-08-19 14:25:56 93

原创 Zookeeper-单机版安装

Zookeeper-单机版安装1、下载zookeeper下载地址:http://zookeeper.apache.org/releases.html#download历史版本列表找个稳定最新版本下载,这里下载zookeeper3.5.5版本,这个版本需要jdk1.8支持,低于jdk1.8,最后安装失败。复制链接地址使用wget工具下载,没有wget工具的用yum...

2019-08-19 11:03:56 148

原创 Zookeeper节点操作-1

Zookeeper客户端api有三种方式:1、原生api2、客户端client3、第三方curator原生api使用起来麻烦点,首先事件注册在事件触发后就失效,又必须重新注册,汽车删除节点没有原生迭代删除api。这里用原生api写的增删该查的简单例子。package enjoy.zook;import org.apache.zookeeper.*;import org...

2019-08-18 14:58:21 681

原创 Zookeeper-日志可视化工具

Zookeeper日志分两类:一类为快照,默认存储在../zookeeper/data/version-2下,在配置文件可以配置其路径dataDir=/usr/local/zookeeeper/data一类为事务日志,默认存储和快照下,一般我们将其分开,在配置文件里配置其路径dataLogDir=/usr/local/zookeeeper/logs但是快照和事务日志,我们直接用编辑器打开...

2019-08-18 09:11:42 1390 1

原创 Zookeeper-四字命令

zookeeper的四字命令是指它们的命令长度都是4个英文字母。运维人员可以在不使用zookeeper客户端命令的前提下,简单而便捷地使用四字命令来查看zookeeper当前的状态等信息。四字命令使用方式有两种:第一种,通过Telenet方式,使用telnet客户端登录zookeeper的对外服务端口,然后输入四字命令即可。第二种,使用nc方式四字命令1.echostat...

2019-08-18 07:35:54 1421

原创 Zookeeper-服务端常用命令

Zookeeper-服务端常用命令cd ../zookeeper/bin./zkServer.sh start不指定配置文件启动zk服务./zkSever.sh start ../conf/zoo.cfg./zkServer.sh start-foreground在当前会话窗口启动zookeeper服务,日志会在当前窗口打印,使用ctrl+c直接关闭服务...

2019-08-18 06:51:35 446

原创 Zookeeper-客户端命令

Zookeeper客户端命令zkCli.sh默认为本地服务端,连接到服务器zkCli.sh -server ip:port指定服务端,连接到服务集群help命令connect host:port连接到其他的zookeeper服务器 create [-s] [-e] path data acl创建节点,-s为创建有序列的节点,-e创建临时...

2019-08-17 20:26:33 242

原创 Zookeeper-节点

定义 Zookeeper的视图结构和标准的Unix文件系统类似,其中每个节点称为数据节点或Znode,每个znode可以存储数据,还可以挂载子节点,因此可以称之为“树”。特性1、在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据2、通过客户端可对znode进行增删改查的操作,还可以注册watcher监控znode的...

2019-08-17 16:40:54 106

原创 Zookeeper-配置参数

Zookeeper配置参数1、clientPort:客户端连接Server端的端口,即Server端对外服务端口,默认为2181。2、dataDir:存储快照snapshot的目录,默认情况下,事务日志也会存储在该目录下。所以建议配置参数dataLogDir用来存储事务日志的快照文件,事务日志会直接影响zk性能。3、dataLogDir:事务日志输出目录。尽量给事务日志的输出配置单独的...

2019-08-17 15:43:50 880

转载 vmware-静态网络配置

一、在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子网掩码和网关,后面修改静态IP会用到。注:上面的“使用本地DHCP服务……”这一项是没有钩选的二、检查物理主机 网卡设置,打开网络和共享中心→ 更改适配器设置→,在VMware Network Adapter VMnet8上单击右键,选择属性按...

2019-08-17 15:16:57 241

原创 nginx问题-nginx: [emerg] unknown directive "content_by_lua_block"

安装了openresty,在nginx.conf写了个serverserver{ listen 80; location /lua { default_type text/html; content_by_lua_block { ngx.say("<p>hello, wo...

2019-08-12 18:08:24 7854

原创 Nginx功能-负载均衡

Nginx负载均衡 当你的网站访问量越来越大,单台服务器已经不能满足你的要求,这个时候就出现了集群,如何将请求均衡分担到多台服务器,从而保证不会导致有些机器太忙,有些机器又太空闲,从而最大程度地提高服务器性能。Nginx的反向代理就可以为我们做到这些。负载均衡算法1、轮询算法(round-bin) 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端...

2019-08-10 12:40:40 112

原创 Nginx功能-路由功能

Nginx的路由功能实现由location来完成,根据location匹配的路径执行内部指令。location对url的匹配语法:location [=|~|~*|^~] /uri/ { … }1、=:表示精准匹配2、普通匹配 2.1 、~:区分大小写 2.2、~*:不区分大小写 2.3^~:非正则表达式匹配3、\$:正则表达式其中...

2019-08-10 11:46:12 794

原创 Nginx功能-虚拟主机

Nginx 虚拟主机定义:为不同的域名/IP/端口不同的接口服务。利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能 基于域名的虚拟主机 没有DNS服务,所以本机的Windows需要配置hosts 路径:C:\Windows\System32\...

2019-08-10 11:27:07 117

原创 nginx 安装

1、nginx安装前,必须准备工具包C语言编译、C++编译使用yum -y install gcc gcc-devel gcc-c++PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式yum -y install pcre pcre-develZLIB :供数据压缩用的函式库yum -y i...

2019-08-05 10:59:45 82

原创 复制

复制通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据。但是由于数据是存储在一台服务器上的,如果这台服务器的硬盘出现故障,也会导致数据丢失。为了避免单点故障,我们希望将数据库复制多个副本以部署在不同的服务器上,即使有一台服务器出现故障其他服务器依然可以继续提供服务。这就要求当一台服务器上的数据库更新后,可以自动将更新的数据同步到其他服务器上,Redis提供了复...

2019-07-28 21:20:13 146

原创 Redis的持久化

Redis的持久化定义Redis的强劲性能很大程度上是由于其将所有数据都存储在内存中,为了使Redis在重启之后仍能保证数据的不丢失,需要将数据以某种形式保存到硬盘中,这一过程就是持久化。持久化方式Redis支持两种持久化方式,一种是RDB方式,一种是AOF方式。可以使用一种或将二者结合使用。RDB方式定义RDB方式的持久化是通过快照(snapshotting)完...

2019-07-28 11:00:01 89

原创 Redis集群创建

经过半个月的学习,自己总结了下Redis集群创建,以及相关的节点操作因为这里主要使用redis-cluster的命令,所以选择redis5.0以上版本(5.0以下版本有些redis-cluster命令不支持,需要redis-ruby工具的支持)。准备工作下载redis5.0以上版本解压tar –zxvf redis-5.0.5.tar.gz编译rediscd redis...

2019-07-21 16:27:34 790

原创 Integer类型数据的比较

我们在做Integer数据比较的时候,会有意想不到的结果,通过看Integer的源码,问题迎刃而解。这里的论述建立在jdk版本是1.8Intger类有个静态内部类IntegerCache,是用于缓存Intger对象的。这里会缓存-128 到127的数据。private static class IntegerCache { static final int low = -...

2019-06-27 16:37:21 1056

原创 ASM ClassReader failed to parse class file- probably due to a new Java class file version that isn't

注:使用的普通web工程,非maven工程       今天同事将spring从3.0版本升级到了3.24版本,而另外引入的Asm是3.14版本的jar,结果报jar包冲突了。       分析:首先3.24版本spring-core核心jar包中已经有了内嵌的Asm的jar包,而这个内嵌的Asm中的ClassVisitor.class是一个抽象类,而Asm3.14版本中的ClassVis...

2018-08-15 09:36:28 4439

原创 HastTable源码分析

 概述HashTable存储的键值对,它的key和value都不可以为Null。为了能成功的存储健值对,做为key的对象必须实现hashCode()和equals()方法。           HashTable实例有两个参数影响其性能,初始化容量和加载因子。初始容量是哈希表创建时的容量,注意HashTable的状态为Open。在发生“哈希冲突”的情况下,单个桶会存储多个条目,这些...

2018-08-02 17:14:57 247

原创 HashSet源码分析

概述HashSet内部是基于HashMap来实现的,所以你如果读懂了HashMap的源码,HashSet就相对简单了。 private transient HashMap&lt;E,Object&gt; map; // Dummy value to associate with an Object in the backing Map private static...

2018-07-29 22:00:50 96

原创 HashMap源码分析

概述HashMap是基于HashTable的Map接口的实现。HashMap允许null键和null值,在计算键的Hash值时,null键的hash值为0。HashMap 并不保证键值对的顺序,这意味着在进行某些操作后,键值对的顺序可能会发生变化。另外,需要注意的是,HashMap 是非线程安全类,在多线程环境下可能会存在问题。实现原理HashMap的底层是基于数组+链表结构来实现的,在J...

2018-07-28 20:39:04 189

原创 Cpu占用率过高问题查看

--1、倒序查看进程cpu占用率信息(或者使用top 查看当前cpu占用)ps aux|sort -k 3 -r|less--2、查看该进程的什么线程cpu占用率高ps -mp PID -o THREAD,tid,time--倒序查看ps -mp PID -o THREAD,tid,time|sort -k 2 -r|less--3、转换为16进制printf "%x\n" TID8480    ...

2018-06-06 13:39:25 1559

转载 消息中间件

一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。2.

2017-10-26 09:55:45 590

原创 Spring事务的隔离等级

今天来学习下spring事务的隔离等级。在讲到spring的五种事务隔离性时,我们先来说说我们在一个事务中,我们在读取数据可能会遇到的几种情况:1、脏读(dirty reads),什么是脏读,观其字,我们大概就能猜到它的大致意思,就是读取了不该读取的数据。在事务中,是指A事务在读取数据时,读取了在B事务中没有提交的数据,如果B事务对数据回滚,就会造成A事务的脏读。2、不可重复读(no re

2016-10-20 14:59:26 656

原创 Spring传播行为内部方法不起作用

在使用Spring的注解事务时候,我们发现内部方法声明的事务不起作用,而是决定于外部方法注解的事务。到底是真不起作用,还是我们我们Spring的事务注解机制理解错了,导致误用了。下面我们看两个例子:测试类:package com.aop;import org.springframework.beans.factory.BeanFactory;import org.spring

2016-10-19 18:10:06 2218 2

原创 Spring的7种事务传播行为类型

1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。‘3、PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异

2016-10-19 16:50:34 28855 6

原创 适配器模式的用例

适配器模式:适配器模式是将接口改造成用户希望的接口,适配器让原本和接口不兼容的类能和接口一起工作。下面是一个工作用到的适配器扩展模式如类图所示,我们拥有一个目标接口Target,包含一个方法doBusiness,一个需要被适配的类Adaptee,包含三个方法,还有我们的核心适配器类Adapter,这是一个抽象类。再看两个实现类,一个是简单的实体类,直接实现了Target的实体类

2016-09-23 17:06:55 515

空空如也

空空如也

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

TA关注的人

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