自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(144)
  • 资源 (12)
  • 收藏
  • 关注

原创 @Validated 和 @Valid

https://blog.csdn.net/wangjiangongchn/article/details/86477386https://my.oschina.net/fangshixiang/blog/3081366

2020-03-24 17:11:18 247

原创 11activeMQ+zookeeper实现高可用方案

LevelDB实现主从方案1. 配置持久化方案使用LevelDB作为持久化适配器。<replicatedLevelDB directory="${activemq.data}/levelDB" replicas="2" bind="tcp://0.0.0.0:61616" zkAddress="192.168.11.140:2181,192.168.11.137:2181,192...

2020-02-14 10:26:43 213

原创 10activeMQ的网络连接

activemq如果要实现扩展性和高可用性的要求的话,就需要用到网络连接模式。简单来说就是将多个broker实例连接,作为一个服务对外提供连接。NetworkConnector主要用来配置broker与broker之间的通信连接,提供了两种连接方式:静态网络连接和动态网络连接这里我使用两台broker作为示例172.18.109.177172.18.109.179静态网...

2020-02-13 17:01:02 259

原创 09activeMQ持久化存储

持久化的目的是用来保证消息可靠性的方法。发送端的消息发送完毕之后即使接收者不是在线或者消息中心宕机重启之后仍然可以把消息发送到消费端。activeMQ支持以下几种持久方式。kahaDB默认的存储方式在配置文件activemq.xml中有如下配置段,默认的是kahaDB存储。存储路径是activemq的data目录下的kahadb<!-- Configure messa...

2020-02-13 16:58:22 158

原创 08activeMQ支持的传输协议

activeMQ支持的client-broker通讯协议有:TCP``UDP``NIO``SSL``HTTP(S)``VM。其中配置Transport Connector的文件在activeMQ安装目录的conf/activemq.xml中。Transmission Control Protocol(TCP)这是默认的Broker配置,TCP的client监听端口是61616在网络...

2020-02-13 16:57:04 155

原创 07activeMQ整合SpringBoot

创建SpringBoot项目添加activeMQ依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId></dependency>...

2020-02-13 16:56:10 97

原创 06activeMQ其他问题

消息的发送策略持久化消息默认情况下,生产者发送的消息是持久化的。消息发送到broker之后,producer会等待broker对这条消息的处理情况的反馈。这个过程性能和开销是比较大的,因为这个时候在broker上不但要做消息的接收,同时还要根据自身的设置策略做持久化存储。为了提高持久化发送的性能,可以设置进行异步发送。activeMQ提供了异步发送的设置方法。//创建连接工厂 A...

2020-02-13 16:55:32 112

原创 05broker

我们在运行启动的一个activeMQ进程就是一个broker实例。同时我们可以实现我们自己的broker。然后作为我们消息发送和消息接收的中间者。启动brokerpackage com.lucky;import org.apache.activemq.broker.BrokerService;/** * Created by zhangdd on 2020/2/7 */publi...

2020-02-13 16:54:44 123

原创 04activeMQ-pub:sub模型

在第一篇中,对P2P模型进行了使用,这里对P2S模型进行介绍使用。pub/sub模型订阅可以分为持久性订阅和非持久性订阅当所有的消息必须接收的时候,需要使用持久性订阅。反之,则使用非持久性订阅Pub/Sub(发布/订阅模式)的特点每个消息可以有多个消费者发布者和订阅者之间有时间上的依赖性。针对某个主题的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息,而且为了消费消息,...

2020-02-13 16:53:57 218

原创 03JMS可靠性机制

JMS消息只有在被确认后,才认为是成功的消费了。消息的成功消费通常包含三个阶段:客户端接收消息、客户端处理消息、消息被确认。在JMS中有两种类型的会话:事务性会话:当一个会话被提交的时候,确认自动发生非事务性会话:消息何时被确认取决于消息创建会话时的应答模式创建事务性会话//创建会话Session session = connection.createSession(true...

2020-02-13 16:53:16 102

原创 02activeMQ相关概念

activeMQ简介activeMQ是Apache开源基金会研发的消息中间件。是完全支持JMS1.1和J2EE1.4规范的JMS provider实现。activeMQ主要应用在分布式系统架构中,帮助构建高可用、高性能、可伸缩的企业级面向消息服务的系统。activeMQ使用场景异步消息异步消息:用户在网站上填写基本信息注册之后,网站对用户信息保存到数据库、发送注册邮件、发送注册短...

2020-02-13 16:52:27 107

原创 01activeMQ配置使用

下载解压并启动下载对应平台的软件包,解压。得到如下目录文件:进入activemq文件夹cd apache-activemq-5.15.11/bin/sh activemq start这样就启动了一个broker也就是启动了activeMQ服务,访问localhost:8161 ,打开管理页面。初始账号密码admin/admin8161端口是activemq的web页面管理端...

2020-02-13 16:49:44 201

原创 01Shiro 源码分析 从subject.login到自定义Realm

最近在使用Shiro,比较迷惑整个的调用流程,这里对subject.login触发的流程操作使用图做了分析,需要原图的可以留言。先贴个图 ,后面有时间在补充文字说明。。。...

2020-01-04 11:03:18 418

原创 04Dubbo使用场景

这里对dubbo的一些配置的使用场景做下介绍。启动服务检查Dubbo默认会在启动时检查依赖的服务是否可用,不可用时会抛出异常,组织Spring初始化完成,以便在上线时可以及早发现问题。通常是调用方在dubbo:reference标签里配置check属性。在前面的例子中,没有配置默认为true,这里停止服务提供者dubbo-order启动dubbo-user。 <dubbo:r...

2020-01-01 15:44:15 581

原创 03Dubbo其他使用

本篇主要对Dubbo的Main.main(args)方法的启动Dubbo日志的集成Dubbo控制台 admin模块的安装simple监控中心telnet命令等内容做记录Main.main(args) 方法的启动public static void main(String[] args) { try { if (args == null...

2020-01-01 15:43:05 147

原创 02Dubbo使用zookeeper作为注册中心

架构图订单服务注册到zk用户服务通过zk得到订单服务的调用地址用户服务调用订单服务流程图代码实现order-provider.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi...

2020-01-01 15:41:06 722

原创 01Dubbo 点对点提供服务通信

Dubbo是什么Dubbo是一个分布式的服务框架,提供高性能的以及透明的RPC远程服务调用解决方法,以及SOA服务治理方案。Dubbo的核心部分远程通信集群容错服务的自动发现负载均衡下面先对其远程通信进行实现。架构图流程图核心类IOrderServices 订单服务接口定义类OrderServicesImpl 订单服务实现类OrderRequest OrderR...

2020-01-01 15:39:30 221

原创 09zookeeper-分布式命名服务

分布式命名服务zookeeper的命名服务有两个应用方向,一个是提供类似JNDI的功能,利用zookeepeer的树型分层结构,可以把系统中各种服务的名称、地址以及目录信息存放在zookeeper,需要的时候去zookeeper中读取。另一个,是利用zookeeper顺序节点的特性,制作分布式的ID生成器,写过数据库应用的朋友都知道,我们在往数据库表中插入记录时,通常需要为该记录创建唯一的ID...

2019-12-28 20:27:38 202

原创 08zookeeper场景应用-分布式队列

分布式队列在传统的单进程编程中,我们通常使用队列来保存一些数据结构,用来在多线程中共享或者传递数据。在分布式环境下,我们同样需要一个类似单进程队列的组件,来实现跨进程、跨主机、跨网络的数据共享和数据传递,这就是分布式队列。可以通过zookeeper的顺序节点来实现分布式队列。架构图图中,左侧代表zookeeper集群,右边代表生产者和消费者。生产者通过在queue节点下创建顺序节点来...

2019-12-28 20:26:40 134

原创 07zookeeper场景应用-分布式锁

分布式锁我们常说的锁一般是指单进程多线程锁,在多线程并发编程模式下,用于线程间的数据同步,保护共享资源的访问。而分布式锁,是指在分布式环境下,实现跨进程、跨网络、跨主机的共享资源,实现互斥访问,保证一致性。架构图上图中左侧是zookeeper集群,lock是数据节点,node_1到node_n是一系列顺序节点。右侧client_1到client_n是客户端,service代表互斥访问的服务...

2019-12-28 20:25:18 157

原创 06zookeeper场景应用-负载均衡

还没写完

2019-12-28 20:24:12 123

原创 05zookeeper场景应用-数据发布订阅

数据发布订阅多个订阅者对象同时监听同一主题对象,当被监听的主题对象状态有变化时通知所有订阅者更新自身状态。发布方和订阅方独立封装、独立改变,当一个对象的改变需要同时改变其他对象,并且它不知道有多少个对象需要改变,可以使用发布订阅模式。在分布式系统中的顶级应用有配置管理和服务发现。配置管理指集群中的机器拥有某些某些配置,并且这些配置信息需要动态的改变,那么我们可以使用发布订阅模式把配置信息做...

2019-12-28 20:23:02 146

原创 04zookeeper场景应用-master选举

master选举考虑到7x24向外提供服务的系统,不能有单点故障,于是我们使用集群,采用的是master-salve模式。集群中有一台主机和多台备机,其中主机向外提供服务,备机监听主机状态,一旦主机宕机,备机必须迅速接管主机继续向外提供服务。在这个过程中,从备机中选出一台作为主机的过程称为master选举架构图左边是zookeeper集群,右边是工作服务器。工作服务器启动的时候会去zook...

2019-12-28 20:21:21 202 1

原创 03-03 zookeeper 使用curator

zookeeper在使用上可以通过原生API、zkclient、curator来进行相关操作maven依赖<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <ver...

2019-12-28 20:19:25 199

原创 03-02 zookeeper 使用zkclient

zookeeper在使用上可以通过原生API、zkclient、curator来进行相关操作maven依赖 <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <vers...

2019-12-28 20:18:43 184

原创 03-01 zookeeper 使用原生API

zookeeper在使用上可以通过原生API、zkclient、curator来进行相关操作maven依赖<dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version&g...

2019-12-28 20:17:03 115

原创 02zookeeper基本概念

什么是zookeeper用一句话对其定义就是:它是一套高吞吐的分布式协调系统。从中我们可以知道zookeeper至少具备以下特点:Zookeeper的主要作用是为分布式系统提供协调服务,包括但不限于:分布式锁,统一命名服务,配置管理,负载均衡,主控服务器选举以及主从切换等。Zookeeper自身通常也以分布式形式存在。一个Zookeeper服务通常由多台服务器节点构成,只要其中超过一半的节...

2019-12-28 20:15:51 222

原创 zookeeper集群搭建

Docker安装Centos7docker run --name centos50002 --privileged=true -p 50002:22 -it -d centos:7.2.1511 /usr/sbin/init这里需要注意的是在创建Centos容器的时候使用的是/usr/sbin/init 并加上参数 --privileged 来增加权 ,否则在容器内执行systemctl命...

2019-12-08 14:51:22 181

原创 03 事务隔离:为什么你改了我还看不见

提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱。转账的过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查询完成之后,还没做加减法之前,你这100块钱,完全可以借着这个时间差在查一次,然后再给另一个朋友转账,如果银行这么整,不就乱了吗?这时就...

2019-11-30 17:35:08 123

原创 02 日志系统:一条SQL更新语句是如何执行的

前面我们系统的了解了一个查询语句执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎么样的呢?之前你可能经常听DBA同事说,MySQL可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中不免会好奇,这是怎样做到的呢?我们还是从一个表的一条更新语句说起,下面...

2019-11-28 21:58:20 144

原创 01 基础架构:一条SQL查询语句是如何执行的

这是专栏的第一章,首先聊聊MySQL的基础架构。我们经常说,看一个事千万不要直接陷入细节里,应该先鸟瞰其全貌,这样能够帮助从高纬度理解问题。平时我们使用数据库,看到的通常都是一个整体。比如,有一个最简单的表,表里只有一个ID字段,在执行下面这个查询语句时:mysql> select * from T where ID=10;我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在M...

2019-11-28 14:29:55 165 1

原创 bootstrap table+spring boot + mybatis实现分页加载

前端bootstrap table,后端spring boot + mybatis实现分页加载。 效果如下数据库数据配置 Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 80012 Sourc...

2019-02-28 15:03:55 2788 1

原创 mysql的时间函数系列

STR_TO_DATEstr_to_date(str,format) 转换函数,可以把一些杂乱无章的字符串转换为日期格式。另外,它也可以转换为时间。注意format串的格式一定要正确,大小写敏感。 如果格式不正确 会提示Incorrect datetime value: '2018-04-12 16:38:30' for function str_to_dateINSERT INTO...

2019-02-27 14:10:48 162

原创 String & StringBuffer & StringBuilder

String &amp; StringBuffer &amp; StringBuilderString 字符串常量StringBuffer 字符串变量 且线程安全StringBuilder 字符串变量 线程不安全运行速度比较StringBuilder &gt; StringBuffer &gt; StringString为字符串常量,一旦创建该对象后是不可更改的。而StringBu...

2019-02-22 09:21:27 136

原创 spring boot + spring security 多module场景下 spring security 不起作用

spring boot + spring security 多module场景下 spring security 不起作用问题场景描述security-demo负责项目的整个安全模块,和安全有关的都在这个模块里app-demo 是项目的运行模块按照这个准备进行项目搭建,可是对应的配置一直没有起作用spring boot + spring security 多module场景下 spri...

2019-02-20 15:11:21 3376 7

原创 MySQL上手目录

MySQL笔记目录。该内容涉及mysql的增删改查,左右内连接,子查询,触发器,存储过程等。01-01数据库基本概念01-02数据库基本操作01-03-数据库表操作01-04-数据库数据操作01-05-字符集02-01-列类型(整型)02-02-列类型(小数型)02-03-列类型(日期时间类型)02-04-列类型(字符串)02-05-列类型(记录长度)02-06-列属性(...

2019-01-04 15:04:37 326

原创 05-06-触发器

触发器触发器概念基本概念触发器是一种特殊类型的存储过程,它不同于前面所说的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。触发器:trigger是一种非常接近于js中的事件的知识。提前给某张表的所有记录绑定一段代码如果该行的操作满足条件,则会触发这段提前准备好的代码作用可在写入数据表前,强制检验或者转换数据。保证数据安全触发器发生错误时...

2019-01-04 14:58:17 296

原创 05-05-存储过程

存储过程存储过程概念存储过程(stored procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译(效率比较高),用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象(针对SQL编程而言)与函数区别相同点存储过程和函数目的都是为了可重复地执行操作数据库的sq...

2019-01-04 14:53:27 149

原创 05-04-变量作用域

变量作用域变量作用域:变量能够使用的区域范围局部作用域使用declare关键字声明(在结构体内:函数、存储过程、触发器),而且只能在结构体内部使用。declare关键字声明的变量没有任何符号修饰,就是普通字符串,如果在外部访问该变量,系统会自动认为是字段会话作用域用户定义的使用@符号定义的变量,使用set关键字会话作用域:在当前用户当次连接有效,只要在本连接中,任何地方都可以使用...

2019-01-04 14:52:35 156

原创 05-03-函数

函数在MySQL中函数分为两类:系统函数(内置函数)和自定义函数。使用方式都是 select 函数名(参数列表);内置函数字符串函数char_length():判断字符串的字符数length():判断字符串的字节数concat():连接字符串instr():判断字符在目标字符串中是否存在,存在返回其位置,不存在返回0lcase():全部小写left():从左侧开始截取,直到...

2019-01-04 14:51:24 176

dubbo-demo.zip

dubbo实现rpc通信。 1.点对点通信方式 2.通过zookeeper作为注册中心实现 3.通过xml方式配置,对外暴露接口

2019-12-29

bootstrap table +spring boot 实现分页加载

springboot + mybatis 实现后台数据接口,bootstrap table 通过js请求接口 表格分页加载显示数据

2019-02-28

ChromeDriver version 70.0.3538.97

使用selenium 将浏览器最大化时 出现 WebDriverException:unknown error: failed to change window state to maximized, current state is normal (Session info: chrome=71.0.3578.98) (Driver info: chromedriver=2.41.578706 (5f725d1b4f0a4acbf5259df887244095596231db),platform=Mac OS X 10.14.0 x86_64)

2019-01-23

mysql上手代码

mysql上手 所有代码 https://blog.csdn.net/lucky9322/article/details/85777109

2019-01-04

repo二进制文件及源码

Repo是基于git的仓库管理工具,是一个python脚本。 这里是repo二进制文件及源码

2018-05-19

组件化bufferkinfe的使用

解决组件化开发butterknife 在 library中使用的坑。主要是R2的使用方式

2018-03-27

ColorSeekBar 自定义view 播放进度条

自定义view 实现音乐播放进度条,可以快进快退

2017-06-22

Sublime Text GBK插件

Sublime Text 手动安装方式的GBK插件

2016-10-21

mac 下的usb转串口驱动

2016-10-17

compiling-tool android反编译工具

android反编译过程需要的一些工具 mac下的一些工具 包括apktool dex2jar jd-jui

2016-10-16

java从n个数组中取出所有的组合

{a,b,c,d} {1,2} {g} {q,w,e} 分别从每个数组中取出一个值, 然后组合.({a,1,g,q} {a,2,g,q}... ...)

2016-06-22

android无线调试工具

android 无线调试.方便程序的测试,提高开发效率。

2015-12-30

空空如也

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

TA关注的人

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