- 博客(52)
- 资源 (19)
- 收藏
- 关注

原创 两台linux服务器搭建nginx流媒体服务器,这两台服务器通过F5做负载,映射到外网,实现 nginx rtmp hls负载均衡
两台服务器搭建nginx流媒体服务器,这两台服务器通过F5做负载,映射到外网,推流可以推成功,获取流的时候有可能获取不到。举例描述: 两台nginx流媒体服务器 A 和 B . 通过F5做负载有个外网ip。推流通过外网IP 可以成功。获取流的时候有可能获取不到, 比如推流是到A服务器,获取流通过F5去B服务器,这时候是取不到,这个问题有什么解决办法?欢迎留言帮忙提供解决办法,谢谢!...
2019-05-14 11:16:05
1581
原创 @RestControllerAdvice实现springboot全局异常类不生效问题
1、先创建一个自定义CustomException 类public class CustomException extends RuntimeException{ private static final long serialVersionUID = 1L; private Integer code; private String message; public CustomException(String message) { thi
2022-03-03 13:52:12
4754
原创 java将请求写入队列,再用异步消费该队列,高并发实战。
一、背景 在开发项目过程中,遇到一个问题就是,一个系统与上百个系统对接,有大量的请求和有可能数据是重复发送,但是在数据必须保证数据不能重复消费。二、设计思路 刚才开始设计思路,按照往常写代码,编写controller,service,dao层,一气呵成。但是在使用过程出现,大量的请求导致服务器不可以,直接宕机。出现这个问题,那没有办法得优化。设计思路: 1、将所有的请求,放到队列里面。 2、异步消费队列里面的数据。三、代码实现1、controller层代码...
2020-11-03 17:36:45
9465
3
原创 java lombok logback 配置日志打印
一、maven 引入<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional></dependency>二、resources/logback.xml 文件配置<?xml version="1.0" encoding.
2020-10-15 14:41:51
3193
原创 springboot与RabbitMQ整合消息队列,生产者发送消息确认,消费者消息确认模式
该篇文章内容较多,包括有rabbitMq相关的一些简单理论介绍,provider消息推送实例,consumer消息消费实例,Direct、Topic、Fanout的使用,消息回调、手动确认等。 (但是关于rabbitMq的安装,就不介绍了)在安装完rabbitMq后,输入http://ip:15672/,是可以看到一个简单后台管理界面的。在这个界面里面我们可以做些什么?可以手动创建虚拟host,创建用户,分配权限,创建交换机,创建队列等等,还有查看队列消息,消费效率,推送效率等等。以上这些..
2020-10-12 17:33:05
1718
3
原创 SpringBoot项目中,如何根据不同的环境,打包不同的配置文件(maven)
1、创建springboot项目,然后创建对应文件2、在pom.xml中定义全局配置信息<profiles> <profile> <id>test</id> <!--为env起一个名字--> <properties> <env>test</env> </properties> <ac
2020-10-08 16:07:36
1590
原创 使用 ThreadPoolExecutor 创建多线程工具类
import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;public class ThreadPoolUtils { private ThreadPoolExecutor pool = null; static Integer num = 0; /** * 获取CPU核数 */ private static final int CORE_P.
2020-10-07 09:15:47
3175
原创 Linux6.5安装MinIO文件服务器
一、安装环境要求Linux6.5版本go版本:go1.10.3MinIO:最新版本因为MinIO是用go语音编写的,所有服务器需要安装GO环境二、安装GO环境go中文官网地址:https://studygolang.com/下载go安装包;打开官网下载地址选择对应的系统版本, 复制下载链接这里我选择的是go1.10.3.linux-amd64.tar.gz:https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz1、上传到服.
2020-08-28 13:42:28
734
原创 redis 集群搭建(哨兵模式)
哨兵作用: 1、通过发送命令,让Redis服务返回监测其运行状态,包括主服务和从服务器 2、当哨兵监测到主服务master宕机,会自动将slave切换成master,然后通过发布,订阅模式,通知其他从服务器,修改配置文件,并且会同步服务之间的数据。搭建过程,首先需要搭建redis 搭建主从复制集群,可以看我之前搭建主从复制博客。准备好三台服务器,都已经安装好了redis.IP 192.168.1.7 master 192.168.1.8 sa...
2020-08-24 23:04:17
360
原创 Redis 缓存过期(maxmemory)内存淘汰机制讲解
设置Redis最大占用内存Redis需要设置最大占用内存吗?如果Redis内存使用超出了设置的最大值会怎样?设置Redis最大占用内存Redis设置最大占用内存,打开redis配置文件,找到如下段落,设置maxmemory参数,maxmemory是bytes字节类型,注意转换。修改如下所示:# In short... if you have slaves attached it is suggested that you set a lower# limit for maxmemory
2020-08-18 23:34:52
983
原创 redis 搭建主从复制集群
准备好三台服务器,搭建一主两从服务,建议都这么搭建主从复制集群,不建议多从,因为主服务器同步到从服务器也是需要花费时间IP 192.168.1.7 master 192.168.1.8 salve1 192.168.1.11 salve2 本地搭建,可以是先在192.168.1.7安装好redis,其他两台服务器通过克隆服务器安装好redis。1、主服务器:192.168.1.71、通过info relication查看集群状态,目前是master...
2020-08-18 22:42:37
210
原创 datax-web在windows上环境搭建及同步数据测试
datax-web部署说明:datax-web是一个集成datax和xxljob定时任务优秀的同步数据库开源框架。data-web开源地址:https://github.com/WeiYe-Jing/datax-web DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数.
2020-08-14 13:47:43
9513
18
原创 Logstash连接Mysql数据源,从mysql数据库同步到es,并设置IK分词器
1、现在服务器上传logstash和mysql驱动。logstash要与es版本一致。2、将logstash 解压到/usr/local 将mysql驱动复制到/usr/local命令:tar -zxvf logstash-6.4.3.tar.gz -C /usr/local/命令:cp mysql-connector-java-5.1.41.jar /usr/local/3、进去/usr/local/logstash-6.4.3创建一个文件夹叫sync ,...
2020-07-14 23:04:38
1445
转载 Linux 安装 rabbitMQ3.7.15
安装地址参考:https://blog.youkuaiyun.com/qq_39135287/article/details/95725385
2020-07-10 10:19:31
263
原创 springboot 通过拦截器实现中文敏感词过滤。
一、对于输入的参数值,进行对敏感词进行过滤,需要支持GET和POST方法请求。参考了https://blog.youkuaiyun.com/zlliuh/article/details/106740648二、需要过滤词的工具类。参考了Java快速中文敏感词过滤,在15k敏感词库上的过滤速度超过50M字符每秒。https://gitee.com/hongfeifly/sensitive-words/tree/master该项目的方法。三、将两个整合在一起实现了过滤敏感词。以下代码步骤;1、拷贝大神开源...
2020-07-07 16:12:35
4803
1
原创 基于Redis的redisson框架实现分布式单号,按照有序生成分布式ID(自定义规则生成)
一、一些业务背景下,业务要求单号需要按照不同的业务进行生成不同前缀单号。那么在分布式的架构下如何自定义单号而且还能保证唯一呢?二、当我们在设计分布式锁的时候,我们应该考虑分布式锁至少要满足的一些条件,同时考虑如何高效的设计分布式锁,这里我认为以下几点是必须要考虑的。1、互斥在分布式高并发的条件下,我们最需要保证,同一时刻只能有一个线程获得锁,这是最基本的一点。2、防止死锁在分布式高并发的条件下,比如有个线程获得锁的同时,还没有来得及去释放锁,就因为系统故障或者其它原因使它无法执行释放锁的
2020-07-02 09:31:51
4187
3
原创 在项目中使用 (Redis + Lua)实现分布式应用限流,基于自定义注解方式实现 实战限流
1、新建脚本放在该项目的 resources 目录下,起名 limit.lua 即可local key = KEYS[1] local limit = tonumber(ARGV[1]) local current = tonumber(redis.call('get', key) or "0")if current + 1 > limit then return 0else redis.call("INCRBY", key,"1") redis.call("...
2020-06-17 00:59:33
630
原创 在项目中使用(guava的RateLimiter)基于自定义注解方式实现 实战限流
1、单体项目可以使用这种方式实现限流,而分布式和集群项目是 基于基于Redis+Lua的分布式限流常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应,获取的方式有两种:阻塞等待令牌或者取不到立即返回失败,下图来自网上:本次实战,我们用的是guava的RateLimiter,场景是spring mvc在处理请求时候,从桶中申请
2020-06-16 23:30:17
1112
1
原创 elasticsearch7.4.2启动报错问题
elasticsearch7.4.2启动报错:[node01] exception caught on transport layer [Netty4TcpChannel{localAddress=/10.190.71.182:9300, remoteAddress=/10.34.168.39:50728}], closing connectionjava.lang.IllegalStateException: Received message from unsupported version: [6
2020-06-12 10:30:24
5863
原创 ElasticSearch7.4.2安装Linux步骤详情,国内谷歌安装 Elasticsearch-head 插件
一、安装ElasticSearch7.4.21:https://www.elastic.co/cn/downloads/elasticsearch,下载对应的tar包。2:tar -zxf 解压3:进入解压后的ElasticSearch7.4.2目录,创建data目录,mkdir;用于存储以后的索引数据4 :进入config目录,编辑elasticsearch.yml文件,配置如下:cluster.name: wjx-elasticsearch //集群名称:zz-elastic.
2020-06-10 23:23:05
750
原创 ElasticSearch系列(二)linux环境ElasticSearch(6.8.2)集成安装IK分词器
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。安装相关软件软件名称 软件版本 下载地址 Elasticsearch 6.8.2 elasticsearch官网下载 IK中文分词器 6.8.
2020-06-05 13:48:03
1183
原创 ElasticSearch系列(一)linux环境ElasticSearch+Kibana(6.8.2)下载安装启动步骤
ELK(ElasticSearch+Logstash+Kibana),是目前主流的日志收集分析系统,一般组合使用,但是也可以单独使用,本文讲述其中的ElasticSearch+Kibana两个组件的安装部署步骤,以及其中需要主要的问题。一.下载安装包1.官网下载地址https://www.elastic.co/downloads/elasticsearch (当然也可以直接在linux中使用命令下载,但是可能比较慢,我们选择在官网进行下载)选择对应的系统版本即可2.历史版本下载这个地址
2020-06-05 11:31:28
2317
原创 springboot集成swagger-bootstrap-ui实现Authorize 功能
用Swagger测试接口的时候请求头需要携带token参数,swagger-bootstrap-ui就为我们提供了这样的功能。swagger-bootstrap-ui相对swagger使用更好点。1、引入jar<!-- swagger2--><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId.
2020-06-05 10:32:36
1571
原创 Mybatis Plus-代码生成器
MyBatis Plus是MyBatis的扩展框架,而代码生成器是MP的核心功能之一,另外还有 “条件构造器”和“通用CRUD”等功能。mpper的代码生成器有两种方式自动生成代码,一种是通过main方法来执行程序,另一种是通过maven插件build产生。第二种方法需要在pom.xml中添加大量的配置信息,因此本人偏向于使用第一种方式。步骤如下:一、添加mybatis plus依赖:如...
2019-12-26 14:19:50
448
1
原创 SpringBoot整合Swagger2,形成接口文档
当然,首先是创建一个Spring Boot项目,加入web依赖,创建成功后,加入两个Swagger2相关的依赖,完整的依赖如下:<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <...
2019-12-20 17:29:10
517
原创 由GPS定位的经纬度转换成百度地图经纬度坐标
/*** @Description: 各地图API坐标系统比较与转换; WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系,* 谷歌地图采用的是WGS84地理坐标系(中国范围除外);* GCJ02坐标系:即火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系...
2019-10-14 15:39:59
7068
转载 VMware安装Centos7超详细过程
软件:推荐使用VMwear,我用的是VMwear 12镜像:CentOS7 ,如果没有镜像可以在官网下载 :http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso下载完成之后,由于“CentOS-7-x86_64-DVD-1708.torrent”只是一个BT种子...
2019-07-21 21:58:34
354
原创 springboot2.x 集成百度 ui-dgenerator生成分布式唯一id
百度的ui-dgenerator也是根据snowflake算法更改的方法,关于snowflake算法不做介绍,不懂的可以百度。snowflake算法有个缺点是:时间回拨问题,官方文档也是抛出异常。分布式唯一id:snowflake算法思考文章地址:https://www.cnblogs.com/lirenzuo/p/8440413.html分析时间回拨产生原因第一:人物操作,在真...
2019-07-12 15:18:53
1912
原创 HttpClient方式调用接口的实例
第一种:调用https接口/** * * @Title: postSmart @Description: TODO( ) @param * strURL @param param @return 參數描述 @return ResultCommonDTO<String> 返回类型 @throws */ public static St...
2019-06-21 14:24:02
1333
原创 map转String提示 java.util.LinkedHashMap cannot be cast to java.lang.String
map数据格式如下:{"msg":"success","code":200,"data":{"created":1560289612000,"email":" abcd@qq.com","id":58,"phone":"12345678901","updated":15602...
2019-06-17 23:17:25
33603
2
原创 RabbitMQ消息队列,发送消息失败、消息持久化、消费者失败处理方法和发送消息
项目是使用springboot项目开发的,前是代码实现,后面有分析发送消息失败、消息持久化、消费者失败处理方法和发送消息解决方法及手动确认的模式先引入pom.xml<!--rabbitmq--><dependency> <groupId>org.springframework.boot</groupId> <artifa...
2019-06-17 19:44:14
18364
8
原创 目前主流的消息队列讲解及面试
一、目前主流的消息队列 特性 ActiveMQ RabbitMQ RocketMQ(阿里) kafka 开发语言 java erlang java scala 单机吞吐量 ...
2019-06-12 08:48:25
1224
1
原创 springboot 、thymeleaf、pagehelper 、springsecurity实现 登录,用户认证,分页的前端使用妹子UI
springboot 、thymeleaf、pagehelper 、springsecurity实现 登录,用户认证,分页的前端使用妹子UIhttp://tpl.amazeui.org/。项目下载地址:https://download.youkuaiyun.com/download/u014373554/11236222大概写图片中的功能,后续慢慢继续开发,自己做个记录的保留。...
2019-06-11 18:58:34
283
原创 服务器部署多个tomcat的,使用nginx做反向代理
1、服务器部署了三台tomcat的如下截图:其中ecall-api 端口为:8889 smart-consumer 端口为:8099 ecall-admin 端口为:38080,ecall-api 和 smart-consumer 是nginx 8088端口转发,ecall-admin 使用nginx 8080 转发。如下图:ecall-admin war ...
2019-06-03 16:19:36
1534
原创 tomcat8启动报错apr
1、错误如下:---:The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: :/usr/local/apr/lib:/usr/java/packages/lib/amd...
2019-06-03 14:34:54
1196
原创 quartz多个定时任务实现方式
1、pom.xml<!-- quartz 定时任务 --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> </de...
2019-05-30 09:24:33
4071
1
原创 springboot2.0以上版本 使用 Jedis 和 Template 两种方式连接redis
首先我们要知道,Springboot整合Redis有两种方式,分别是Jedis和RedisTemplate,这两者有何区别?Jedis是Redis官方推荐的面向Java的操作Redis的客户端,而RedisTemplate是SpringDataRedis中对JedisApi的高度封装。其实在Springboot的官网上我们也能看到,官方现在推荐的是SpringDataRedis形式,相对于Je...
2019-03-29 12:21:22
2146
1
原创 java 通过文件的url通知浏览器以附件形式下载
//下载上传的文件 controller层 @RequestMapping(value="/downLoadFile") @ResponseBody public void downLoadFile(@RequestParam(value="url") String url,HttpServletResponse response)throws Except...
2019-03-19 13:49:19
1913
原创 Java实现下载和删除oss图片、音频等等
实现下载功能,首先需要实现上传功能, 上传实现可以参数我之前写的文章:https://blog.youkuaiyun.com/u014373554/article/details/83650304实现方式:是根据上传完成后会返回url。所以下载也是根据url实现下载方法。具体实现请看下面代码:以图片为例:返回的url地址格式是:http://aa.xxxx.com:8080/FeedBack/x...
2019-03-12 15:31:07
6748
6
原创 nginx+rtmp的流媒体服务器及用java对推流权限验证
参考搭建文档地址: https://www.cnblogs.com/suiyuewuxin/p/7256972.html一、nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:在线安装y...
2019-02-23 11:26:25
5096
2
user-account.zip
2020-11-03
kkFileView-2.2.1.zip
2020-10-16
mybatis-generator-sqlser-mysql.7z
2020-09-23
ES同步的sql语句和同步的配置文件.rar
2020-07-15
SpringBoot-RabbitMQ生产者和消费者.7z
2020-07-14
supplier.zip
2020-07-07
linux-jdl.7z
2020-06-11
sharding-jdbc-master-slave.zip
2019-07-11
Downloads.7z(apache安装必不可少)
2019-06-19
RabbitMQ.7z
2019-06-13
Mybatis Plus-代码生成器demo
2004-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人