自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Donny的专栏

分享知识,共同进步!

原创 最后一篇文章

各位朋友,此博客后续不再更新! 后续转战到头条,我的头条号:IT技术大杂烩,欢迎各位关注1

2020-03-12 13:46:49 52 0

原创 ActiveMQ集群搭建

简述 activemq提供了多种方式来保证activemq的可靠性。 包括: 纯Master/Slave Shared File System Master Slave JDBC Master Slave Broker clusters-静态 Broker clusters-动态(基于组播,动态...

2019-08-19 09:41:43 174 0

原创 ActiveMQ静态网络连接

前言 使用静态网络连接(static networkConnector)可以将多个broker连接起来,作为一个集群对外提供服务。 我们假定有amq1和amq2配置了静态网络连接,那么当一个消费者连接到amq2,当生产者发送消息到amq1时,amq2将会作为amq1的一个消费者,将消息转移到amq...

2019-08-19 09:38:46 132 0

原创 ActiveMQ目的地特性之组合目的地

从ActiveMQ1.1开始,支持一种被称为组合目标的技术。这允许使用单个虚拟的JMS目的地来表示一个JMS目的地的集合。 例如,你可以使用组合目的地在一个操作中将消息发送到12个物理队列。或再一次操作中将消息发送到一个主题和一个队列。 可以在创建目的地或将目的地注册到JNDI时,使用逗号分隔将多...

2019-05-11 15:02:44 230 0

原创 ActiveMQ之消息分发策略

分发策略 queue的分发策略 可插拔的分发策略只适用于topic。queue的分发策略比较固定:轮询(默认)或按照严格顺序。同时我们也应该了解prefect的意义。 ActiveMQ的prefetch缺省参数是针对处理大量消息时的高性能和高吞吐量而设置的,因此默认的prefect值很大,默认的分...

2019-05-11 15:00:13 1104 0

原创 ActiveMQ处理积压的消息

如果消费者变为慢速消费者,那么后面可能会导致消息积压,导致生产者速度也变慢,甚至停止。我们可以配置消息的过期时间,并设置消息过期丢弃策略,以及使用死信队列来处理消息的积压。 为持久化消息设置过期时间 ActiveMQ提供了一个timeStampingBrokerPlugin插件,通过此插件,我们可...

2019-05-11 14:58:01 1930 0

原创 ActiveMQ之订阅恢复策略

简介 生产者在某个topic发送了多条消息后,这个时候非持久订阅者才订阅,那么它是不能获取之前生产者发送的信息的。或者,由于网络问题,非持久类型的消费者处于非活跃状态,无法接收到生产者发送的消息。使用消息恢复策略,可以解决上面的问题。ActiveMQ目前支持一个定时或固定大小的恢复缓冲区,在你连接...

2019-05-11 14:56:11 301 0

原创 ActiveMQ之Prefect机制

简介 ActiveMQ的设计目标是成为一个高性能的消息总线。这意味着使用SEDA架构可以异步执行尽可能多的工作。 为了有效利用网络资源,Broker利用“推送”模型向消费者发送消息。 这可确保消费者始终拥有准备处理的消息的本地缓冲区。 替代方案是让消费者明确地从Broker那里提取消息。 单独提取...

2019-05-08 12:21:53 91 0

原创 ActiveMQ之慢消费者处理

简介 慢消费者在非持久性主题上会出现问题,因为它们会强制broker为它们在内存保留旧消息。一旦填满,就会导致broker放慢生产者的速度,导致快的消费者也会变慢。 目前,有一个策略可以让你配置broker除了prefect bufer之外还将为消费者保留的最大匹配的消息数。在达到此最大值后,当新...

2019-05-08 12:18:26 1302 0

原创 ActiveMQ之定期清理离线的持久订阅者

概述 通常,我们不希望系统中存在长时间离线的持久订阅者,因为Broker需要为它们保留它们订阅的topic的所有消息。而且随着时间的推移,将会导致达到存储限制,从而导致系统变慢。 当然,你可以通过JConsole或Web Console等管理工具来手动取消不活跃的持久订阅者。但显然可以采取更多措施...

2019-05-08 12:16:45 943 0

原创 ActiveMQ目的地之目的地选项

简介 目的地选项(Destination Options)是一种向JMS使用者提供扩展配置选项的方法,而无需扩展JMS API。 使用创建使用者的目标名称中的URL查询语法对选项进行编码。 Consumer Options 选项名 默认值 描述 consumer.dispatchA...

2019-05-08 12:15:14 170 0

原创 ActiveMQ的消息重发与死信处理

概述 在发生以下情形时,消息会给重发给客户端: 使用了一个事务性的会话且调用了rollback()方法。 在调用commit()方法前一个事务性的会话被关闭了。 一个会话使用CLIENT_ACKNOWLEDGE的ACK模式,且调用了Session.recover()方法。 一个客户端连接超时(可...

2019-04-09 17:54:26 880 0

原创 ActiveMQ之消息选择器(Message Selectors)

JMS Selectors用在获取消息的时候,可以基于消息属性和Xpath语法对消息进行过滤。JMS Selectors由SQL92语义定义。以下是个Selectors的例子: consumer = session.createConsumer(destination, "JMSTy...

2019-04-09 17:53:50 269 0

原创 ActiveMQ顺序消费消息+消息分组

简介 Queue中的消息是按照顺序发送给Consumers的。然而,当你有多个Consumer同时从相同的Queue提取消息时,顺序将不能得到保证。因为这些消息时被多个线程并发的处理。但是,有时候保证消息的顺序是很重要的。例如,你可能不希望插入订单操作结束之前执行更新订单的操作。那么我们可以通过E...

2019-04-09 17:53:07 3121 2

原创 Memcached缓存介绍

Memcached简介 Memcached是一个高性能的服务器内存缓存软件。在早期版本的Memcached使用的是alloc来分配内存,存在内存碎片,在新版本的Memcached采用了Slab Allocator来分配内存。在MC启动时会要求制定一块内存区域,然后会划分为多个Slab,每个Slab...

2019-04-02 10:11:39 462 0

原创 maven私服(nexus)搭建

一、为何要搭建maven私服 1.有的公司开发电脑没法直接连外网,下载不了依赖;可以通过私服(私服服务器可以连接),开发电脑连接私服服务器下载依赖。 2.项目协作。某个项目包含多个模块,开发人员A将模块打包提交到私服,其他人从私服获取该模块的依赖。 二、使用私服与不使用的区别 1.不使用私服 ...

2019-04-02 10:05:45 173 0

原创 Chrome系浏览器显示完整地址

在浏览器输入chrome://flags/回车,找到Omnibox UI Hide Steady-State URL Scheme and Trivial Subdomains,设置为Disabled,然后重启浏览器。 如果回车之后变成了搜索,则复制,然后在浏览器输入栏鼠标右键,选择粘贴并转到即可...

2018-09-25 09:31:39 4096 1

原创 解决idea卡顿问题

idea非常好用,但比较吃内存。建议内存至少8G。通过下面的设置来提升idea的速度。 vm参数设置 设置idea.exe.vmoptions/idea64.exe.vmoptions的vm参数 -Xms2000m -Xmx2000m -Xverify:none -Xverify:none 关闭...

2018-09-21 16:31:19 6146 0

原创 zookeeper客户端curator使用

curator简介 curator是Netflix开源的一个zookeeper客户端,在原生API接口上进行了包装,解决了很多ZooKeeper客户端非常底层的细节开发。同时内部实现了诸如Session超时重连,Watcher反复注册、分布式计数器、分布式锁等功能,实现了Fluent风格的API接...

2018-09-21 16:30:53 456 0

原创 zookeeper安装与配置

介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现。 参考:http://blog.csdn.net/u013068377/article/details/52620647 http://blog.csdn.net/xuxiunin...

2018-09-21 16:30:17 110 0

原创 zookeeper客户端api操作

这里记录zookeeper java客户端api的使用。 客户端创建Zookeeper实例,然后调用这个类提供的方法与zookeeper服务器进行交互。 Zookeeper的构造函数有如下4种: ZooKeeper(connectString, sessionTimeout, watcher); ...

2018-09-21 16:29:38 200 0

原创 xshell评估过期或免费使用

xshell出现下面的评估过期的错误 解决办法: 进入https://www.netsarang.com/download/free_license.html页面,点击“Download” ,这个页面是Free License的。 然后填入下面的个人信息(邮箱要正确) 然后会给你发送一封邮件,...

2018-09-21 16:27:34 499 0

原创 通过java反射实现简易的springmvc

通过java反射实现的简易的spring ioc和springmvc的一部分功能,很多东西没有考虑进去,只是提供一种思路。 简易实现spring的ioc和springmvc. 思路: 模仿SpringMVC定义如下几个注解。 @Service:Service层注解; @Controller:Con...

2018-09-21 16:27:00 371 0

原创 windows上使用Nginx+tomcat做负载均衡

Nginx作为反向代理服务器,可以对Web服务器提供加速,并且具有负载均衡的功能。 参考:http://blog.csdn.net/cclovett/article/details/26377269 本例使用Nginx在2个Tomcat做负载均衡,并做了资源分离。即静态资源(js,css,图片)给...

2018-09-21 16:26:08 1558 0

原创 Windows开启FTP服务

1.开启FTP服务 “控制面板”-》“程序和功能”-》“打开或关闭Windows功能”,在弹出的窗口中选择“Internet信息服务”,然后“确定”,如图: “计算机”-》右键-》“管理” 2.FTP共享文件夹 然后点“完成”。 ftp://你的IP即可访问。如图: ...

2018-09-21 16:25:27 3831 0

原创 Win10使用360WIFI抓手机APP网络请求

下载Fiddler https://www.telerik.com/download/fiddler/fiddler4 操作步骤: 1.打开Fiddler,Tools-Fiddler Options-Connections,勾选Allow remote computers to connect,端...

2018-09-21 16:24:34 494 0

原创 web安全通信之JWT简介

jwt简介 JWT是JSON Web Token的简称,它是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。 和Cookie-Session的模式不同,JWT使用Token替换了SessionID的资源访问和状态保持。 jwt的组成 1.Header: 标题包含...

2018-09-21 16:23:25 318 0

原创 Web推送技术之comet4j使用

Web推送技术之comet4j使用 参考:[comet4j开发指南]、[comet4j使用Demo]、[“服务器推”技术之使用HTTP长轮询的Comet] JAR包为comet4j-tomcat7.jar,可以百度搜索,从CSDN下载。 还有一个js文件comet4j.js,同样可以从CSDN下载...

2018-09-20 09:56:48 145 0

原创 web工程非Spring管理的Bean使用Spring管理的Bean

某个类的属性在每次构建对象时传入,且属性不是固定的,就没法使用spring管理它。但这个类有可能应用其他被spring管理的类。 那么既然是web工程,我们可以创建一个ServletContextListener,然后在web.xml中配置该监听器即可。 public class InitData...

2018-09-20 09:55:02 409 0

原创 VMware虚拟机安装

准备 VMWare14和CentOS系统镜像文件。 安装VMWare 一路next直到完成,可能花费时间较长。 安装虚拟机 1.选择“文件”->"新建虚拟机“->“典型”->“稍后安装操作系统”->”Linux“->”...

2018-09-20 09:52:50 110 0

原创 对视频播放url进行Blob加密

在知乎上看到一个视频,准备下载下来,结果下载不了,复制地址发现是blob://xxx。知乎帖子:https://www.zhihu.com/question/62753680/answer/382455062。 百度发现是对视频地址进行了blob加密,文章地址:https://blog.csdn....

2018-09-20 09:51:30 3836 0

原创 使用socket模拟tomcat实现静态资源处理

步骤: 1.服务端使用ServerSocket,监听指定的端口。 2.调用ServerSocket的accept方法接收客户端连接,得到Socket对象。 3.根据Socket对象的getInputStream()方法得到输入流,从而拿到浏览器发送的http请求的基本信息。 GET /htmlfi...

2018-09-20 09:49:57 424 0

原创 使用NIO提升性能

Buffer简介 在JDK1.4之前,我们进行文件/流的读写都是通过java.io包的相关类来进行操作,虽然操作简便,但是性能较差。在JDK1.4引入了java.nio包,提供了相关的通道(Channel)和缓冲(Buffer)来操作,极大的提升了读写性能。 通道是双向的,既可用于读也可用于写数据...

2018-09-20 09:48:27 150 0

原创 使用Metrics+Influxdb+Grafana监控系统并图表展示

Metrics即度量的意思,我们对系统做监控、统计等就需要用到Metrics。 metrics地址:https://github.com/dropwizard/metrics。 文档地址:https://metrics.dropwizard.io/4.0.0/。 本文使用的metrics-cor...

2018-09-20 09:46:19 2692 0

原创 使用Jenkins配置+Maven的自动化构建

jenkins的搭建参考前一篇文章:Linux下安装和配置jenkins. 本篇文章介绍如何通过jenkins+maven自动化构建Web应用。 git插件安装与配置 如果git没有安装或配置不当,在新建任务时,会产生下面的问题。 问题: 1.jenkins Error performi...

2018-09-20 09:41:40 302 0

原创 使用jstack排查系统问题

jstack介绍 jstack是java虚拟机自带的一种堆栈跟踪工具,用于生成java虚拟机当前时刻的线程快照。 生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。 线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有...

2018-09-20 09:39:27 918 0

原创 tess4j验证码识别

tess4j的安装和使用 参考:https://www.cnblogs.com/cmyxn/p/6993422.html tess4j提高识别率 1.对称近邻均值滤波 参考:http://blog.csdn.net/fangbinwei93/article/details/50562449 2.指...

2018-09-20 09:31:28 1026 0

原创 将项目迁移到gitlab

1.在gitlab上建立project,得到一个git地址,如:http://192.168.74.90/xxx_sportSnatch/bt_receive.git。 在gitlib上可以看到2种,一种是ssh,一种是http的。我们后面使用git bash操作,使用http方式。 2.忽略不需...

2018-09-19 10:14:55 1666 0

原创 Sublime-Text3使用

Sublime Text是一款神奇的编辑器,号称程序员必备神器!。以下简称ST。 ST是一款收费软件,但可以免费无限制无限期的使用,只是偶尔会提示你。 ST的一些说明:http://www.iplaysoft.com/sublimetext.html. 下载与安装 首先,从Sublime Text...

2018-09-19 10:13:33 264 0

原创 spring单元测试

环境搭建 参考《SpringDataJpa基本使用》。 DAO测试 新建一个测试基类,后续所有的测试类继承该类 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:spr...

2018-09-19 10:10:56 758 0

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