- 博客(30)
- 收藏
- 关注
原创 redis原理分析
过期时间设置在Redis中提供了Expire命令设置一个键的过期时间,到期以后Redis会自动删除它。EXPIRE key seconds 其中seconds 参数表示键的过期时间,单位为秒。EXPIRE 返回值为1表示设置成功,0表示设置失败或者键不存在如果想知道一个键还有多久时间被删除,可以使用TTL命令TTL key当键不存在时,TTL命令会返回-2而对于没有给指定键设置过期...
2019-07-17 15:39:24
295
原创 mysql8.0主从复制和mycat实现分表分库,读写分离
在简书上发布了,这里直接发链接https://www.jianshu.com/p/628ca0f194ec
2019-07-13 15:12:24
631
原创 mysql8.0主从复制
mysql主从复制作用:数据库备份、读写分离、高可用、集群原理:二进制sql执行文件(binlog)。主机有写的操作修改了数据。会把二进制sql日志文件给从机同步数据主机:有读(select)和写(insert、update、delete、create)的权限备(从)机:有读的权限 (使用mycat来禁止从机人为作写操作)mysql主从复制步骤主服务器配置:vi /etc...
2019-07-09 14:25:59
1468
原创 centos7安装mysql8.0
https://dev.mysql.com/downloads/mysql/下载rpm的tar包并解压image.pngimage.png压解后将这几个文件上传到linuxmysql-community-common-8.0.16-2.el7.x86_64.rpmmysql-community-libs-8.0.16-2.el7.x86_64.rpmmysq...
2019-07-09 14:24:19
339
原创 kafka原理解析与kafka java api参数说明
kafka由producer consumerbroker topicpartitions(分区)组成kafka cluster(集群)就是由多个broker topicpartitions(分区)组成开局一张图上面表示一个kafka集群交互的流程图,kafka cluster中有3个brock(表示有3台kafka服务的集群),有一个topic名称为topic0的主题...
2019-06-28 16:54:51
1444
原创 kafka简介与集群搭建
Kafka 是一款分布式消息发布和订阅系统,具有高性能、高吞吐量的特点而被 广泛应用与大数据传输场景。由于 kafka 具有更好的吞吐量、内置分区、冗余及容错性的优点(kafka 每秒可 以处理几十万消息),让 kafka 成为了一个很好的大规模消息处理应用的解决方案。Kafka的应用场景行为跟踪:kafka 可以用于跟踪用户浏览页面、搜索及其他行为。通过发布订阅模式实时记录到对应的...
2019-06-28 15:10:57
285
原创 springboot启动类springApplication与注解解析
springboot的main方法3种启动方式第一种第二种可以看到tomcat的启动端口为54155第三种,使用bulider模式@SpringBootApplication注解和springApplication.run方法运行main方法来启动spring容器或者tomcat容器。那么springboot启动的原理是什么?以上三种方法都是使用spr...
2019-05-15 15:24:03
1516
原创 实战Dubbo常用参数与服务治理参数配置
上一编说到了springboot整合dubbo注解版搭建和最简单的RPC远程调用的基本使用,但是dubbo不仅仅是能进行RPC调用,它也是一个服务治理的框架,官网对dubbo的介绍Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。现在...
2019-05-15 10:08:31
1867
原创 springboot+dubbo+zk集群搭建
zookeeper的集群搭建在上一编已经说过,不会的可以查看。下面开始搭建springboot+dubbo+zk注册中心的demo生产者工程目录如图一、创建dubbo-provider父工程父pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache....
2019-05-11 10:30:15
6629
1
原创 zookeeper集群搭建
搭建zookeeper集群(一主两从)zk启动依赖java的JDK,所以要先安装JDK不会安装JDK的可以看这https://www.jianshu.com/p/ea5c72b273d7教程,安装完成JDK后下载zk的tar包并使用winSCP上传到3台linux服务器https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/...
2019-05-11 10:29:39
419
原创 dubbo初识与dubbo无注册中心本地测试
传统项目是把mvc都写在一个项目中,每个项目部署一个tomcat,项目与项目之间使用httpclient或者webservice来调用传统项目架构图项目中包含视图(freemarker)控制层业务层数据访问层静态资源等随着项目的发展,传统的项目迭代困难,已经跟不上互联网的发展。项目架构变成了分布式微服务的架构形式。前后端分离,控制层与服务层分离、以服务来划分各个模块的功...
2019-05-11 10:28:36
883
原创 zookeeper初识与应用场景
zookeeper出现之前,分布式服务遇到的问题?一、在分布式项目中,会把项目分成N多个服务,每个服务都会做集群,那么就会出现问题1.地址如何管理(协议地址的维护)、每个服务部署多台机器就有多个地址(集群)?集群的多个地址如何选择访问哪个地址(负载均衡)?2.集群多台服务(节点)如何保证数据的一致性?3.怎么保证JOB任务只在一台服务器上执行(幂等性问题)?4.如果群集中某台服务(节点...
2019-05-11 10:27:23
302
原创 JDK动态代理与Cglib动态代理(SpringBoot2.x使用spring aop示例)
我相信springaop中使用JDK动态代理与Cglib动态代理的区别这一问题在刚毕业的同学面试时都被问过。我们都会答:JDK动态代理的目标对象需要实现接口,Cglib动态代理的目标对象不需要实现接口。再牛逼一点的朋友可能会再答JDK动态代理通过反射来实现,Cglib动态代理通过对字节码的操作来实现的,动态代理可以用来做权限控制、事务、日志处理等作用。再问下去我们就开始慌了因为我们知道动态代...
2019-05-11 10:26:07
3122
1
原创 java浅拷贝与深拷贝
java浅拷贝与深拷贝当我们需要把DTO的属性复制到Entity时,会使用get、set方法对每个属性进行操作,如果属性有N多个,就会非常麻烦,这时我们可以使用java对象拷贝。java对象拷贝分为浅拷贝和深拷贝浅拷贝和深拷贝的主要区别在于是否支持引用类型的成员变量的复制这时我们就要清楚Java中的数据类型分为基本数据类型和引用数据类型浅拷贝:拷贝时创建一个新的对象,对象中的属...
2019-05-11 10:24:27
336
原创 docker简介
为什么会有docker出现?一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根...
2019-02-15 14:34:58
219
原创 centos7安装docker
安装Docker CE CE社区版官方文档https://docs.docker.com/install/linux/docker-ce/centos/#install-using-the-repository在新主机上首次安装Docker CE之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。设置存储库 root用户可以省略sudo1.安装所需的包。y...
2019-02-14 17:09:49
174
原创 java枚举与前端的交互
java后台与前端交互时,如果java参数属性是枚举类型,则交互时需要进行序列化与反序列化 当需要把枚举格式以"enum": {"code": "","message": ""}格式返回给前端时,需要使用到@JsonSerializer类进行序列化Base枚举(所有枚举实现这个Base枚举,在做序列化处理时能够较好的进行枚举的纺一处理)public interface BaseE...
2019-01-28 14:52:55
17466
1
原创 java AES对称加密工具 适用于windows与linux
之前在网上搜索的AESUtil都使用了SecureRandom获取随机数,部署到linux上就会出现解密错误的问题这里提供一个windows和linux都能使用的AESUtil引入Base64的依赖包<dependency> <groupId>commons-codec</groupId> <artifactId>commo...
2019-01-19 15:24:21
783
1
原创 CAS5.3单点登录服务端搭建与整合springboot
什么是单点登录单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。SSO是概念,实现SSO需要用到CAS框架使用cas框架实现单点登陆有多个不同服务器的web层需要登陆。就要使用cas。在一个web层页面登录,其他页面都不需要登录就能访问如www.tao...
2018-12-03 10:19:28
3666
原创 Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署
自动化部署“自动化”的具体体现:向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序Jenkins获取源码完成打包和部署 image.pngJenkins 自身采用 Java 开发,所以要必须安装 JDK; 集成的项目基于 Maven 构架,所以 Maven 也必须安装;首先要安装JDK1.8和maven安装JDK1.8和Maven教程...
2018-11-24 18:05:32
273
原创 分布式事务之MQ可靠消息
使用MQ可靠消息能够解决分布式事务的最终一致性,但不是实时一致(强一致性)。所以使用时要注意应用场景。MQ可靠消息:1.预发消息:MQ发送消息之前把消息的信息先存到数据库中留底,设置一个字段状态为待确认。(作用:能够知道这条消息是否发送成功,可进行人工补偿)2.进行业务操作3.向MQ发送消息,发送成功后把预发消息的状态改为发送中(表示成功发送),如果失败就不需要修改应用场景:充...
2018-11-22 14:21:23
395
原创 Linux(centos7)搭建gitlab
https://about.gitlab.com/install/#centos-7 官方安装gitlab的方法 这里安装社区版先执行官方文档的第一步 防火墙打开HTTP和SSH访问sudo yum install -y curl policycoreutils-python openssh-serversudo systemctl enable sshdsudo...
2018-11-22 14:20:39
173
原创 Linux(centos7) git安装
先到github上下载git的tar包 https://github.com/git/git/releases上传到linux并解压tar -zxvf git-2.19.1.tar.gz进入目录配置 cd git-2.19.0先执行 yum install autoconf 因为要用到make configure,不然会报错yum install autoco...
2018-11-22 14:20:07
167
1
原创 Linux(centos7) Elasticsearch6.5集群安装与Kibana可视化
必须要先安全JDK1.8或以上版本,内存配置1G以上,最好2Ghttps://www.elastic.co/cn/downloads/elasticsearch#ga-release 官网下载tar上传到linux 解压tar -zxvf elasticsearch-6.5.0.tar.gz进行bin目录cd elasticsearch-6.5.0/bin/启动ES....
2018-11-22 14:19:07
1272
2
原创 Linux(centos7)安装JDK1.8与maven
安装JDK1.8https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 官网下载jdk1.8上传到linux服务器压解 压解后有jdk1.8.0_191目录tar -zxvf jdk-8u191-linux-x64.tar.gz 配置环境变量 用vim编辑器来编辑...
2018-11-22 14:17:36
730
原创 JS对象和Java对象转成JSON
一.Json对象与Json字符串的转化1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2.浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: JSO
2018-02-07 17:16:56
5427
1
原创 Ajax和javascript传参方式
js方法封装入参数据 把js的以json形式传参{"sTitle":"操作","mData":"isReview","mRender":function(data,type,full){ var info ={'ynBaseCustomerEnterpriseId':full.ynBaseCustomerEnterpriseId,
2018-02-07 17:12:08
859
转载 java微信公众平台开发(使用sunny ngrok设置外网url)
使用Sunny-Ngrok赠送的免费域名进行http服务映射1、首先在本站注册成为会员2、开通隧道在上图中表单信息解释: 隧道名称:可以随便填写,只是为了使用者在往后之后这个隧道是干嘛的 前置域名:服务器免费赠送的域名,请不要带上后缀,如果要sunny.ngrok.cc 只需要填写 sunny 即可 ,千万不要填写成sunny
2018-02-02 11:22:04
1250
1
原创 创建存储过程使用字符串并接sql再执行语句
DROP PROCEDURE if EXISTS getData;CREATE PROCEDURE getData()BEGINDECLARE str VARCHAR(50);SET str = 'AX_1415';set @sqlstr=concat('select 1234 ',str,' from jc_yg_82600 WHERE JCD_id=100000002 AN
2018-01-31 15:57:52
2338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人