自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

正在起名中。。。。。

起名字太难了!

  • 博客(65)
  • 收藏
  • 关注

原创 java版+支付宝支付和微信支付(一)

最近公司在做支付模块,在接入过程中遇到了很多坑,费了不少事,现在分享一下接入方法,也记录一下,以后可能还用的到。用的是支付宝的即时到帐支付功能和微信的扫码支付功能,相比起来,个人感觉支付宝的文档和接入方式都比微信的容易理解和操作,也不用自己写页面,接入起来比较方便,毕竟是支付起家的,比微信支付少很多坑,下面就分别介绍着两种支付的接入方法。支付宝支付1、申请签约目的是得到开发使用的合作伙...

2018-09-14 10:57:29 3100

原创 分布式ID永不重复

问题的背景公司老的系统原先采用的时间戳生成订单号,导致了如下情形打断一下:大家知道怎么查系统某项重复的数据吧SELECT*FROMXX表WHERE重复项in(SELECT重复项FROMXX表GROUPBY重复项HAVINGcount(1)>=2)解决方法不得了,这样重复岂不是一单成功三方回调导致另一单也成功了。多个服务怎么保证生成的订单号唯一呢?先上codepackagecom.hc.util;publicclas...

2022-01-12 09:54:50 274

原创 mysql8授权登录

之前一直用mysql5.7 远程授权登录,后来换mysql8.0原来的授权方式报错 mysql> grant all privilegeson*.* to'root'@'%'identifiedby'root'with grant option; ERROR 1064 (42000): You have an errorinyour SQL syntax; check the manual that correspon...

2022-01-12 09:36:58 324

原创 Canal数据同步

最近在对项目进行重构的过程中,需要做一些数据同步的工作。首先想到的同步方案是定时任务,但是定时任务的弊端在于时效性不够高,对于时效性要求稍高的场景定时任务就明显不合适了。网上查找相关资料,找到了Canal,该项目正好可以满足我这边的场景。接下来看看 Canal 的强大功能吧!!Canal概述Canal 译意为水道/管道/沟渠,主要用途是基于 Mysql 数据库增量日志解析,提供增量数据订阅和消费。当前的 Canal 支持源端 Mysql 版本包括5.1.x , 5.5.x , 5.6.x , 5.

2022-01-10 11:14:22 1137

原创 docker+fastdfs+springboot搭建分布式文件服务器

docker+fastdfs+springboot一键式搭建分布式文件服务器首先说一下从零开始自己去搭一个fastdfs有多不顺,搭起来步骤繁琐,很麻烦,后来看到有人把做好的docker镜像传出来了,那搭建起来就很容易了1.第一步安装docker:在root权限下yum install -y docker-io #安装dockerservice docker star #启动dockerdocker -v # 查看docker版本2.拉取镜像docker p...

2021-11-22 17:08:53 184

原创 蓝绿发布、灰度发布和滚动发布

一文搞懂蓝绿发布、灰度发布和滚动发布应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。一、 蓝绿发布项目逻辑上分为AB组,在项目系统时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务。当A组升级完毕,负载均衡重新接入A组,再把B组从负载列表中摘除,进行新版本的部署。A组重新提供服务。

2021-08-24 11:20:20 110

原创 mysql参数优化配置

概述最近在对各个系统的mysql做一些参数上的优化,也开了慢查询,准备后面针对特定sql再进一步优化。下面主要介绍一下一些优化的参数。1、优化前mysql配置可以看到基本上是没怎么做优化的。2、优化后的配置以下是优化后的一些参数。3、优化参数说明:#基础配置 datadir=/data/datafile socket=/var/lib/mysql/mysql.sock log-error=/data/log/mysqld.log pid-file=/v...

2021-05-25 16:25:25 989 1

原创 mysql查看监控数据库性能常用命令

mysql查看数据库性能常用命令mysql> show global status;  可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句:  mysql> show variables;  一、慢查询  mysql>show variables like '%slow%';  +------------------+-------+  | Variable_name | Value |  +------------------+--...

2021-05-25 16:20:15 449

原创 史上最全nginx配置参数详解

nginx配置参数详解一、主配置段1、正常运行必备的配置#运行用户和组,组身份可以省略user nginx nginx;#指定nginx守护进程的pid文件pid path/to/nginx.pid;#指定所有worker进程所能打开的最大文件句柄数worker_rlimit_nofile 100000;2、性能优化相关的配置#worker进程的个数,通常应该略少于CPU物理核心数,也可以使用auto自动获取worker_processes auto;#CPU的亲缘性绑定(同样是无

2021-05-24 09:10:46 6277

原创 最全Nginx服务器之负载均衡策略

Nginx服务器之负载均衡策略(6种)一、关于Nginx的负载均衡  在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器。二、Nginx负载均衡策略  负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块内的server是服务器列表: #动态服务器组 upstream dynamic_route..

2021-05-24 08:59:42 157

原创 Spring Boot 接入支付宝,实战来了!

Spring Boot 接入支付宝,实战来了!公众号支付宝推出了新的转账接口alipay.fund.trans.uni.transfer(升级后安全性更高,功能更加强大) ,老转账接口alipay.fund.trans.toaccount.transfer将不再维护,新老接口的一个区别就是新接口采用的证书验签方式。使用新接口要将sdk版本升级到最新版本。接下来看集成步骤。1.将支付宝开放平台里下载的3个证书放在resources下面图片2.写支付宝支付的配置文件alipay.properti

2021-04-12 18:15:09 280

原创 nginx日志按天生成&定期删除日志

nginx日志按天生成&定期删除日志问题:nginx会按照nginx.conf的配置生成access.log和error.log,随着访问量的增长,日志文件会越来越大,既会影响访问的速度(写入日志时间延长),也会增加查找日志的难度,nginx没有这种按天或更细粒度生成日志的机制。所以下面介绍两种方法:1.写脚本,通过定时任务按天重命名日志、重启nginx的方法实现(有重启失败的风险)2.通过工具cronolog实现。推荐方法二。####1.方法一:创建分割日志文件的脚本,添加定时任务####1

2021-04-09 11:24:42 725

原创 nginx 日志按日切分

首先写一个sh的文件autolog.sh#!/bin/shProgram:Auto cut nginx log script.LOGS_PATH=/home/wwwlogs/ #你的日志目录TODAY=$(date -d ‘yesterday’ +%Y-%m-%d-%H)#TODAY=history移动日志并改名mv ${LOGS_PATH}/nginx_error.log KaTeX parse error: Expected group after '_' at position 22:

2021-04-09 11:09:46 212

原创 linux centOs7.5安装mysql8.0.23

linux centOs7.5安装mysql8.0.231、去官网下载mysql的安装包,根据你自己系统情况选择,链接https://dev.mysql.com/downloads/mysql/2、上传安装包到liunx服务器的/usr/local目录下面3、解压,如果你是tar.gz的话直接tar zxvf 文件名, 即可。我这里是tar.xz格式的文件,要分两步解压 1 xz -d 文件名 执行上面命令后会把原来的 .tar.gz文件变成 ..

2021-03-04 14:23:49 231 1

原创 SpringBoot集成Elasticsearch7.4实践(三)

SpringBoot集成Elasticsearch7.4 实战(三)一、SpringBoot集成Elasticsearch7.4 实战(一):这些操作都是在CentOS下操作的,主要带大家熟悉下Elasticsearch环境。1.1.下载& Linux下ElasticSearch安装 1.2.中文分词插件IK 1.3.索引 1.4.如何数据管理二、SpringBoot集成Elasticsearch7.4 实战(二):在Springboot环境下,利用JAVA环境操作索引。2.

2020-11-18 10:49:06 371

原创 SpringBoot集成Elasticsearch7.4 实战(二)

SpringBoot集成Elasticsearch7.4 实战(二)内容规划总共分为三个章节来写,分别运行环境构建、利用Web应用管理索引以及Web应用管理数据三大块来说明。具体有:一、SpringBoot集成Elasticsearch7.4 实战(一):这些操作都是在CentOS下操作的,主要带大家熟悉下Elasticsearch环境。1.1.下载& Linux下ElasticSearch安装 1.2.中文分词插件IK 1.3.索引 1.4.如何数据管理二、SpringB.

2020-11-18 10:47:39 656 2

原创 SpringBoot集成Elasticsearch7.4 实践(一)

SpringBoot集成Elasticsearch7.4 实战(一)在网上上我看已经有好多关于Elasticsearch的介绍,我就不讲一些基本概念,大家感兴趣的可以自己去找一些资料巩固下。内容规划总共分为三个章节来写,分别运行环境构建、利用Web应用管理索引以及Web应用管理数据三大块来说明。具体有:一、SpringBoot集成Elasticsearch7.4 实战(一):这些操作都是在CentOS下操作的,主要带大家熟悉下Elasticsearch环境。1.1.下载& Li.

2020-11-18 10:45:46 1941

原创 通过nginx GeoIP模块 限制不同地区访问网站

通过nginx GeoIP模块来限制某些国家或者具体地区访问网站,在国内一般用于外贸站,因为很多外贸公司走货的价格关系,是不希望国内用户看见的。除了某些CDN或者付费接口之外,也可以通过本身的服务器来操作,或者浏览器判断等。我之前就是用浏览器来判断的,如果浏览器的语言是中文ZH,那么网站就跳转到不能访问的地址,这算是一个很粗暴的方法,但是有时候可能又需要用户稍微变通一下,让国内用户可以看见。那么这个判断方法就不是很适合了,万一遇到某些人不懂浏览器的,不会设置语言呢…就麻烦了。所以可以采用ip判断的方

2020-11-17 09:36:15 572

原创 NGINX适配网站的PC版和手机版

考虑到网站的在多种设备下的兼容性,有很多网站会有手机版和电脑版两个版本。访问同一个网站URL,当服务端识别出用户使用电脑访问,就打开电脑版的页面,用户如果使用手机访问,则会得到手机版的页面。1、判断客户端的设备类型要想让网站适配PC和手机设备,首先要能做出准确的判断。HTTP请求的Header中的User-Agent可以区分客户端的浏览器类型,可以通过User-Agent来判断客户端的设备。无论是PC还是手机,由于操作系统、浏览器的多样性,自己来实现这个判断并不容易。好在国外有一套开源的通过Us

2020-11-17 09:28:44 257

原创 计算机基础进制转换(二进制、八进制、十进制、十六进制)

计算机基础进制转换(二进制、八进制、十进制、十六进制)1.十进制转R进制1.1 十进制转二进制十进制整数转二进制十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。例题:135D = ______ B**解析:**如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 0111B.图1.十进制整数转二进制十进制小数转二进制十进制小数转换成二进制小数采用“乘2取整,顺序排列”法。具体做法是:...

2020-11-04 10:44:00 687

原创 springboot整合kafka

kafka安装http://kafka.apache.org/downloads在官网下载这个版本的kafka(其它版本没试过,可能会有与springboot版本出现冲突的问题)上传到linux服务器,然后解压到一个目录下,进入kafka的config目录修改配置文件server.properties,将其中的一个已经被注释的配置 listeners=PLAINTEXT://localhost:9092去掉注释然后将localhost修改成linux服务器的ip地址这里我是改成.

2020-10-29 16:50:59 298

原创 mysql 主从复制(mysql双机热备的实现)

mysql 主从复制(mysql双机热备的实现)Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中。实现mysql数据库的热备份。要想实现双机的热备,首先要了解主从数据库服务器的版本的需求。要实现热备mysql的版本都高于3.2。还有一个基本的原则就是作为从数据库的数据版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。当然要实现mysql双机热备,除了.

2020-10-28 15:11:34 239 2

原创 Mysql进阶之Mysql-proxy的读写分离

Mysql进阶之Mysql-proxy的读写分离Mysql-proxy简介: mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等 MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤, 从而实现读写分离和负载平衡。对于应用来说,MySQL Proxy是完全透明的,应用则只需要连接到MySQL...

2020-10-28 15:08:39 102

原创 骨灰级最便捷搭建RocketMQ服务器的方法

史上最便捷搭建RocketMQ服务器的方法最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑。至于有多简单呢,在本机已有Docker环境的情况下只需要三步即可。 从github上面拉取项目 修改broker.conf中的brokerIP1参数,修改为本机IP 进入docker-compose.yml文件所在路径,执行docker-compose up命令即可 前言首先我们是使用Doc.

2020-09-08 09:15:29 229

原创 最有效的解决方法--------Nginx配置SSL报错 nginx: [emerg] unknown directive “ssl“

Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"出现如图所示错误,处理办法如下 去nginx解压目录下执行 ./configure --with-http_ssl_module 如果报错 ./configure: error: SSL modules require the OpenSSL library.则执行 yum -y install openssl openssl-devel ./configur..

2020-09-07 17:14:41 433

原创 JAVA SNOWFLAKE 生成唯一ID

snowflake方案snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。这种方案大致来说是一种以划分命名空间(UUID也算,由于比较常见,所以单独分析)来生成ID的一种算法,这种方案把64-bit分别划分成多段,分开来标示机器、时间等。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号,最后还有一个符号位,永远是0。比如在snowflake中的64-bit分别表示如下图(图

2020-07-06 17:39:40 411

原创 程序之美----吊炸天的程序员才写的注释

鸟/* .---. .-----------* / \ __ / ------* / / \( )/ -----* ////// ' \/ ` ---* //// / // : : ---* // / / /` '--* // //..\\* ====UU====UU====* '//||\\`*

2020-06-30 17:30:55 685 3

原创 优雅的写出switch

一般的小码农或者是没有前途的码农写的switch语句,这么说我不会再路上遭遇板砖吧。。。。。private static String createPlayer(PlayerTypes playerType) { switch (playerType) { case TENNIS: return "网球运动员费德勒"; case FOOTBALL: return "足球运动员C罗"; case BASK

2020-06-29 15:16:01 635

原创 程序猿从业者的人生感悟

我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不比曝照差吧。首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作listsetmap,然后是线程、IO和jdbc什么的,其余的,若是一时不理解,可以后边需要时再学。这阶段完了,你可以写些能在控制台打印出来的小程序,锻炼下逻辑思维。也就是号称JAVASE毕业了,其实不过是入门而已,如果要往WEB方向发展,

2020-06-03 17:37:21 233

原创 全网最强密码规则效验(java后台版和javascript版)

最强密码规则效验(java后台版和javascript版)最强密码规则效验:(java后台版和javascript版)需求如下:(一)口令至少由8位及以上大小写字母、数字及特殊字符等混合、随机组成(至少包括数字、小写字母、大写字母和特殊符号中的三种)。同时严禁在口令中包含以下情况:连续数字或重复数字:如“678”或“AAA”等; 英文单词或拼音:如“oper”或“admin”等;含有与账号名、主机名、系统名、厂商名相同或相似的字符串;含有与局房、人员姓名、生日、证件号码、电话号码、手机号码

2020-06-03 17:04:35 578

原创 服务器RabbitMQ 安装

一:安装RabbitMQ需要先安装Erlang语言开发包,百度网盘地址:http://pan.baidu.com/s/1jH8S2u6。直接下载地址:http://erlang.org/download/otp_win64_18.3.exe。安装完成后需要配置环境变量:新建系统变量:变量名 ERLANG_HOME 变量值D:\softInstall\erl8.3(Erlang安装目录)...

2019-12-18 15:46:46 71

原创 Java微信公众号开发之微信粉丝信息同步

1、前言在公众号开发的过程中,一般都需要获取粉丝资料,针对单个粉丝,我们可以通过openid获取其粉丝信息; 但不排除这种业务,比如目前开发的公众号已经在使用中,,当前的框架或者功能已经不能够满足用户的需求、需要重新开发,那么这个时候你开发的新的微信项目将要接入到之前老的微信公众号上去,把之前老的公众号给取代掉,所以在接入的时候,你就需要将原先公众号上的所有粉丝同步到新的项目中来管理,粉丝...

2019-07-17 20:01:09 1048

原创 RocketMQ搭建及demo

RocketMQ搭建及demo一、RocketMQ机器硬件要求内存最好不要低于8G, 系统linux,且已经安装好JDK二、安装文件下载地址:http://mirror.bit.edu.cn/apache/incubator/rocketmq/4.0.0-incubating/rocketmq-all-4.0.0-incubating-bin-release.zip三、下载Rocke...

2019-07-15 20:10:13 129

原创 JAVA开发微信支付-公众号支付/微信浏览器支付(JSAPI)

JAVA开发微信支付-公众号支付/微信浏览器支付(JSAPI) 写这篇文章的目的有2个,一是自己的项目刚开发完微信支付功能,趁热回个炉温习一下,二也是帮助像我这样对微信支付不熟悉,反复看了多天文档还是一知半解,原理都没摸清,更不要说实现了。本以为网上的微信开发教程会和“java的重写与重载”一样铺天盖地,可搜出来的结果,要么是PHP的教程(微信支付官网推荐就是PHP),要么星星点点...

2019-05-30 18:17:52 2399

转载 Spring+STOMP实现WebSocket广播订阅、权限认证、一对一通讯(附源码)

Spring+STOMP实现WebSocket广播订阅、权限认证、一对一通讯(附源码)版声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/elonpage/article/details/784466951. 项目代码首先,放上项目的代码链接。https://github.com/Jamin20/websocket-spring-demo...

2019-04-08 20:21:25 1270

原创 Spring Cloud 入门 : 服务注册

Spring Cloud 入门教程(一): 服务注册1. 什么是Spring Cloud?Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举, 分布式session, 集群状态)。协调分布式环境中各个系统,为各类服务提供模板性配置。使用Spring Cloud, 开发人...

2019-04-08 19:28:34 121

原创 骨灰级--使用Shiro实现权限验证

使用Shiro实现权限验证《使用Shiro实现权限验证》1. Shiro入门ApacheShiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理。Shiro有三大核心组件:Subject:即当前用户,在权限管理的应用程序里往往需要知道谁能够操作什么,谁拥有操作该程序的权利,shiro中则需要通过Subject来提供基础的当前用户信息,Subjec...

2019-03-29 11:11:50 278

原创 初学者canal入门

canal入门  数据抽取简单的来说,就是将一个表的数据提取到另一个表中。有很多的ETL工具可以帮助我们来进行数据的抽取和转换,ETL工具能进行一次性或者定时作业抽取数据,不过canal作为阿里巴巴提供的开源的数据抽取项目,能够做到实时抽取,原理就是伪装成mysql从节点,读取mysql的binlog,生成消息,客户端订阅这些数据变更消息,处理并存储。下面我们来一起搭建一下canal服务配...

2019-01-28 11:57:40 185

原创 最实用的Spring boot && Mybatis 整合

Spring boot && Mybatis 整合正题本项目使用的环境:开发工具:Intellij IDEA 2017.1.3 springboot: 1.5.6 jdk:1.8.0_161 maven:3.3.9额外功能PageHelper 分页插件 mybatis generator 自动生成代码插件步骤:1.创建一个springboot项...

2019-01-17 19:07:21 114

原创 最全的Linux安装oracle11gR2 步骤

Linux安装oracle11gR2官方步骤版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013634348/article/details/53552266 Linux环境下安装Oracle11gR2 下载安装介质 检查Linux环境 安装和配置JDK 检查Oracle安装必须包 添加用户组和用户 修改内核...

2019-01-17 18:29:17 383

空空如也

空空如也

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

TA关注的人

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