自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

幕峰的博客

莫名其妙

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

原创 海康rtsp视频流直播-kurento

海康rtsp视频流直播-kurento简述有在之前的博文中写到使用nginx和ffmpeg来是实现视频流的传输,但是需要在实际的生活中使用还需要一点改进,其中环境搭建和延迟的是个棘手的问题,实现rtsp流的传输需要依赖两个第三方工具,并且还得根据需求进行手动配置,大大提升开发的维护成本。在延迟方面,相对于HLS直播方式来说,播放延迟已经有了很大的降低,但是使用过程中还是存在2-3s的延迟,对于一些实时性较高的环境来说,无疑是一个很大的问题。在插件方面,在2020年底,flash正式禁用,而rtmp的

2020-09-26 22:34:18 3542 2

原创 RTSP视频流直播实现(海康)

RTSP视频流直播实现(海康)简述搭建需要使用到两个第三方工具,nginx和ffmpeg,nginx用于视频流转发,ffmpeg用于做视频流RTSP转RTMP系统环境ubuntu 16.04DS-2CD2T25D 海康设备nginx搭建ubuntu这里使用命令行apt-get安装$ sudo apt-get install software-properties-common python-software-properties$ sudo add-apt-repository p

2020-05-29 08:49:54 17544

原创 海康人脸下发

FAQNET_DVR_StartRemoteConfig中的pUserData(用户数据)参数怎么设置用户数据是输入参数,没有特殊必要,无需设置,用null代替NET_DVR_StartRemoteConfig回调函数怎么用?该方法回调函数的设置是cbStateCallback传入,用与下发消息到设备后,设备返回结果所调用的方法。回调函数一般包含4个参数。[out]:表示设备...

2020-04-02 10:25:47 5044 1

原创 树莓派--seafile搭建私人网盘

seafile搭建此次目的就是搭建私有云,由于之前搭建的nextcloud太过于庞大,小小的树莓派无法支撑nextcloud这艘巨轮,所以这次是换个轻量的云平台seafile,废话不多说,直接上教程文章目录seafile搭建准备条件搭建过程准备环境安装系统配置环境挂载移动硬盘开始安装补充外网访问自启动准备条件树莓派 3B+ 250+移动硬盘 2T 470+笔记本一台路由器一台...

2020-02-20 08:27:44 2924

原创 树莓派--搭建nextcloud私有云

搭建nextcloud私有云网上已有很多的教程是关于nextcloud或owncloud的私有云的搭建,但是都是零零碎碎,并不完整,这里以树莓派raspbain 10 buster系统为例,安装nextcloud私有云。这里分以下的几步来进行:文章目录搭建nextcloud私有云换源、更新软件安装apache2安装php安装mariadb安装nextcloud性能优化apcu提高swap容量...

2020-01-21 09:51:40 11953 3

原创 Redis 分布式锁

互斥性:只能一个客户端同一性:只能同一个客户端可重入:持续加锁容错性:防止死锁。

2022-09-04 21:10:54 670 1

原创 应用性能监控-- SkyWalking

应用性能监控-- SkyWalking文章目录应用性能监控-- SkyWalkingAPM 与 SkyWalkingSkyWalking 与 Sleuth + Zipkin 比较SkyWalking 服务端与 Java Agent环境要求SkyWalking 部署安装步骤安装 SkyWalking Java AgentSkyWalking 常用视图拓扑图链路追踪图附页java agentSkyWalking 是中国人吴晟开源的应用性能管理系统(APM)工具,使用 Java 语言开发,现在已属于 Apa

2022-03-19 22:27:31 7434

原创 Sleuth + ZipKin 实现微服务链路追踪

Sleuth + ZipKin 实现微服务链路追踪由于微服务架构本身的特性,一个完整的业务逻辑后边有着一些列相对独立的细粒度的服务组成,每个服务由不同的团队开发,且每个服务都分布在不同的机器上,如果在调用的过程发生问题,例如调用失败、调用过程响应很慢或响应失败,我们该如何在这个分布式环境下快速定位问题所在,如何快速分析业务处理中的响应慢的瓶颈在哪?多个微服务的拓扑图关系?如何完整还原一次请求的链路情况?微服务链路追踪**链路追踪:**运行时通过某种方式记录下服务之间的调用过程,在通过可视化的 UI

2022-03-18 07:42:36 440

原创 微服务的系统保护 - sentinel

微服务的系统保护 - sentinel微服务的雪崩效应雪崩效应产生的原因,由于某原因导致某个服务不可用,之后导致上游服务不可用,然后导致级联效应,影响到调用改服务的其他辅,从而引起一系列连锁反应,最后导致整个系统的不可用。造成雪崩效应常见的原因如下:流量突增系统 bug硬件或网络异常同步等待缓存击穿应对的方案:提高可用性,将单台设备转为多台负载均衡集群提高性能,检查慢 SQL、优化算法、引入缓存来缩短单笔业务的处理时间预防瞬时 TPS 激增,将系统限流作为常态加入系统架构完善

2022-03-18 07:41:47 363

原创 简单使用 Ribbon 实现微服务高可用通信

简单使用 Ribbon 实现微服务高可用通信负载均衡按实现分类方式,可以分为服务端负载均衡和客户端负载均衡服务端负载均衡在架构中会提供专用的负载均衡器,由负载均衡器持有后端节点的信息,服务消费者发来的请求经由专用的负载均衡器分发给服务提供者,进而实现负载均衡。常用的负载均衡器硬件有:F5、Nginx、HaProxy 等。客户端负载均衡在架构中不在部署额外的负载均衡器,在每个服务消费者内部持有服务端负载均衡器,由内置的负载均衡策略决定向哪个服务提供者发起请求。常用的有:Netfilx Ribbo

2022-03-18 07:40:11 512

原创 Nacos 搭建与简单的使用

Nacos 搭建与简单的使用随着互联网的快速发展,对开发员的要求越来越高,微服务的框架也是一个合格程序员的必要知识储备,本人又要开始慢慢的着手微服务的开发知识。Nacos 有以下的特性服务发现服务发现权重管理打标管理优雅上下线配置管理在线编辑历史版本一键回滚恢复发布推送轨迹DNS服务Nacos 的搭建CentOS 7,ip 192.168.1.100JDK 8mysql 5.7Nacos 1.4.01、下载 nacos 的文件Nacos 下载地址,下载

2022-03-18 07:38:27 1115

原创 IDEA 中类与方法自定义注释模板

IDEA 中类与方法自定义注释模板方法注解模板在 idea 中的 File -> Settings -> Live Templates 中,新增一个模板注解模板文本如下* * @Method $method$ * @Author xxxx * @Date $date$ $time$ $params$ * @Return $return$ */修改参数规则。点击 Edit variables 打开 Edit Template Variables。参数设置如下:

2022-03-18 07:37:15 669

原创 自定义 Spring Starter

自定义 Spring StarterSpringBoot 中的 starter 是一种非常重要的机制,能够抛弃以前复杂的配置,将其同意集成进 start,应用者只需要在 mave 中引入 starter 依赖。为什么要自定义 starter在我们的日常开发工作中,经常会有一些独立业务之外的配置模块,我们经常将其放到一个特定的包下,然后如果一个工程需要复用这块功能的时候,需要将代码拷贝到另一个工程,重新集成一遍,麻烦至极。如果我们将这些业务代码之外的功能模块封装成一个个 starter,复用的时候只

2022-03-18 07:35:47 966

原创 简单介绍 RPC 框架

RPC 框架在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在 Java 领域中有很多可以实现远程通讯的技术,例如:RMI、Hessian、SOAP、ESB 和 JMS 等。其基本原理是基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 TCP、UDP 等,TCP、UDP 都是基于 Socket 概念上为某类应用场景而扩展出来的传输协议。RPC 概念全称 remote procedure call,即远程过程调用。借助 RPC 可以做到像本地调用一样调用远程服务。RPC 并不

2022-03-18 07:34:23 1492

原创 分布式调度

分布式调度本博文可以分三部分进行学习,分布式调度的了解,Quartz 使用,Elastic-Job 使用。分布式调度定义分布式任务调度有两层含义运行在分布式集群环境下的调度任务(同一个定时任务部署多分,只应该有一个定时任务在执行)分布式调度–> 定时任务的分布式 --> 定时任务的拆分 (把一个大的作业任务拆分为多个小的作业)定时任务的场景每个一定时间,特定某一时刻执行订单审核、出库订单超时⾃动取消、⽀付退款礼券同步、⽣成、发放作业物流信息推送、抓取作业、退换货处

2022-01-19 14:32:42 3786

原创 Ubuntu 搭建 Rancher

Ubuntu 搭建 Rancher搭建环境Ubuntu 20.04 2 台内存 16G225 G SSD 硬盘查看 Rancher 版本系统的支持https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-6-2/查看当前系统版本lsb_release -aDocker 配置docker 安装$ sudo su$ sudo apt-get update$ sudo ap

2021-11-09 10:09:30 1401

原创 ubuntu 21.04 更换阿里云镜像源

备份原来的源$ mv /etc/apt/sources.list /etc/apt/sources.list.bak$ vim /etc/apt/sources.list 添加如下内容deb http://mirrors.aliyun.com/ubuntu/ hirsute main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ hirsute-security main restricted univer

2021-11-04 14:29:45 4640

原创 Class path contains multiple ** bindings.

Class path contains multiple ** bindings.问题描述SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/E:/apache/maven-repository/org/slf4j/slf4j-simple/1.7.28/slf4j-simple-1.7.28.jar!/org/slf4j/impl/StaticLoggerBinder.class]

2021-11-02 11:32:33 161

原创 RabbitMQ + TSL 实现安全访问

RabbitMQ + TSL 实现安全访问前段时间,公司有台服务器需要安装 RabbitMQ 进行消息传输,对 MQ 服务的安全有着严格的要求。RabbitMQ 版本需要大于等于 3.6.9不能使用 guest 用户要求暴露外网的端口需要有 SSL 安全协议这里就简单说说用户的配置与端口 SSL 的配置,如果大家配置自签证书出现问题,并且无法解决,可以尝试我的方法。配置环境RabbitMQ 3.8.1SpringBoot 2.2.6.RELEASEmaven 配置<!--r

2021-10-28 09:40:11 672

原创 Windows 屏幕磁贴无法添加解决方案

Windows 开始菜单右边的屏幕可以放置各种快捷方式,但往往有些应用的快捷方式无法放到 windows 的菜单屏幕上作为磁贴。一下有个方法可以解决。第一步打开目录 C:\ProgramData\Microsoft\Windows\Start Menu\Programs,复制桌面的快捷方式到该目录下。第二部在任务的搜索中搜索刚复制的快捷方式名称,可以搜到刚操作的应用,右键点击固定到开始屏幕,即可完成磁贴添加。...

2021-08-03 19:17:36 1439

原创 java实现超低延迟 webrtc 直播

java实现超低延迟 webrtc 直播文章目录java实现超低延迟 webrtc 直播环境描述定义、首字母缩写词和缩略词目标主要流程信令服务器 -- RabbitMQKurentoCoturn 搭建附页NAT种类NAT 穿透原理ICE通过转化 RTSP/ RTMP 视频流为 webrtc 推送到云端,实现超低延迟的视频直播,涉及到许多计算机网络的知识,这里就不深入讲解,感兴趣的可以自行研究。环境描述软件环境JDK 1.8kurentoRabbitMQcoturn硬件环境海康摄像头

2021-02-14 12:16:20 4821

原创 树莓派-raspbain系统安装nodejs正确方式

树莓派-raspbain系统安装nodejs正确方式文章目录树莓派-raspbain系统安装nodejs正确方式环境描述目标安装过程验证使用主要描述树莓派 3B 安装 node.js 的开发环境,避免使用过程中 npm 安装全局模块无法使用的坑环境描述树莓派 3B2020-02-13-raspbian-buster-litenode v15.7.0目标安装最新 arm 版本的nodejs,并能正常使用安装过程下载编译好的 node.js 版本,这里安装最新(2021年1月30日)的版

2021-01-30 11:55:07 294 1

原创 spring boot 应用(二)

spring boot 应用(二)文章目录spring boot 应用(二)数据库版本管理ROM框架 - mybatis plus实际使用CURD 接口代码生成对象转换 - mapstructBeanUtil.copyPropertiesMapStruct全局 API 响应处理第三方接口调用 - forest时过一年,在自己spring boot 的项目使用中有了一些小小的改善,添加了一些 数据库和第三方使用请求的框架,用于提高开发的效率。这里只是泛泛的说明使用,不做详细的解说。数据库版本管理比较常

2021-01-25 18:04:28 254 1

原创 maven + docker 快速搭建项目镜像

maven + docker 快速搭建项目镜像环境Ubuntu 16.04jdk 1.8maven 3.6安装docker 私人仓库-- registry$ docker pull registry$ docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest $ curl http://127.0.0.1:5

2020-12-31 16:25:26 2820

原创 双网卡的正确使用方式

双网卡的正确使用方式最近和同事也都在吐槽公司内外网的问题,公司配置的电脑没有外网配置,只能内网电脑办公,导致查找资料非常不方便,对于一个程序员来说,没了搜索引擎的辅助,工作效率大大的折扣,以下有几种双网卡的使用方法,希望能给你们带来一些帮助单台电脑存在多个无线网卡,如果不正确配置,会出现网络使用卡顿,甚至出现无法使用的现象windows无线网卡分别选择好网络路径后进入到网络连接把连接外网的无线网卡设置跃点数(数值越低优先级越高),其余的网卡根据自己的使用情况而定UbuntuUbuntu 1

2020-12-30 11:04:55 4747 1

原创 西门子PLC协议-S7COMM-扩展

西门子PLC协议-S7COMM-扩展文章目录西门子PLC协议-S7COMM-扩展S7 Communication结构TPKT 协议结构举例COTP 协议简介COTP连接包举例COTP功能包举例最后之前详细写S7中PDU,但S7 Communication被封装在TPKT和SO-COTP协议中,那么S7 Communication 至少还需要以下构成:COTP:ISO 8073 COTP面向连接的传输协议。TPKT:应用层数据传输协议,介于TCP和COTP协议之间。传输层协议,主要用来在COTP和T

2020-11-23 14:27:39 1173

原创 西门子PLC协议-S7COMM

西门子PLC协议-S7COMM简述前段事件对接西门子设备,是一台盾构机控制PLC(programmable logic controllers)设备,目的是为了获取盾构机中运行的数据状态,有必要是可以通过数据状态来发送预警推送。这里简单的介绍S7COMM协议和他的通讯方法,可以结合附页中的wireshark抓的包来学习。认识S7S7是一个基于TCP/IP的应用层协议,不能的单纯的使用Socket来进行通讯。以下是网络模型:OSI layerProtocol7Applicat

2020-11-20 17:50:54 4524 7

转载 spring boot 整合 ehcache

spring boot 整合 ehcache目前java的缓存框架有很多,比如:Ehcache、Cacheonix、JBoss Cache、OSCache、Memcached和Redis等,这里就单独列出EhCache、memcached和Redis来进行比较,并实现EhCache。比较常用的缓存框架redismemcachedehcache开发难易适中简单快速、简单分布式支持支持支持不完善过期设置支持支持支持持久化支持不支持支持

2020-08-06 15:00:57 452

原创 spring boot + shiro 实现角色权限控制

spring boot + shiro 实现角色权限控制简介Apache Shiro 是一个强大并且易于使用的java安全框架,可以用与身份验证、授权、加密和会话管理。同样的框架还有spring security,spring security有很好的平台支持,和活跃的社区氛围,并且对spring完美兼容,但是使用难度上,远远超过shiro。身份认证:用户身份识别。授权:用户权限控制。知道来的人有没有资格进来。加密:加密敏感数据,防止偷窥。比如密码md5两次加密。会话管理:用户的时间敏感的状态

2020-06-16 16:59:27 2401

转载 n2n实现内网穿透

n2n实现内网穿透文章目录n2n实现内网穿透简单介绍搭建过程搭建环境Supernode搭建Edge搭建centos搭建windows搭建总结之前有弄过树莓派的NAS服务,但是局限于传输速度和网络延迟的问题,所以并没有用于实践,项目就暂且搁浅。至此发现了p2p能够实现端对端的数据传输,解决了传统的服务器中转传输所存在的问题,NAS计划有了新的突破。简单介绍前面介绍的frp进行反向代理,...

2020-04-13 14:38:20 5438

转载 spring boot 应用

spring boot 应用文章目录spring boot 应用spring boot简介spring boot的特点spring boot项目搭建环境搭建集成Mybatis事务处理异常处理静态资源模板引擎swagger2日志的集成2018年毕业时用的ssm框架,也是慢慢的2019年下半年开始接触spring boot,spring boot也是那时候开始慢慢兴起,相比SSM框架来说,spri...

2020-03-07 20:25:44 160

转载 MAVEN的使用

MAVEN的使用文章目录MAVEN的使用POM.xml结构maven的生命周期抽象的三大生命周期maven插件FAQmaven的jar冲突父子项目的关系简单数maven就是用于管理和构造项目用的一个工具。使用maven搭建的项目有自己的规范,其中maven的目录结构为:src|-main|–java|–resourcespom.xml现在用的编辑器idea能够自动生成maven项目...

2020-02-11 23:04:26 130

原创 Sharding-Jdbc实现读写分离

Sharding-Jdbc实现读写分离文章目录Sharding-Jdbc实现读写分离简单了解Sharding-Jdbc与Mycat的区别不同点mycatSharding-JDBCShardingShpere其他产品spring-jdbc 读写分离实现读写分离原理简单实现搭建环境mavenyml配置配置文件简单了解Sharding-JDBC是ShardingSphere的第一个产品,Shard...

2020-01-06 08:13:41 807

原创 CentOS 7.0 FTP服务器简单搭建

CentOS 7.0 FTP服务器简单搭建文章目录CentOS 7.0 FTP服务器简单搭建三种模式两种工作模式搭建FTP服务器搭建过程配置服务本地用户模式虚拟用户模式FAQ在下载并安装软件之前,先弄清楚FTP(File Transfer Protocol)的三种登录模式和两种工作模式,针对不同的登录方式进行配置FTP服务器的文件目录。也是为了防止根据步骤安装完成后,发现并不是自己想要的,让自...

2019-12-22 21:50:00 770

原创 flyway的简单使用

flyway的简单使用flyway简述Flyway是一个开源的数据库迁移工具。与配置相比,Flyway极力主张简单和约定。它仅基于7个基本命令: 迁移, 清理, 信息, 验证, 撤消, 基线和 修复。迁移可以用SQL (支持特定于数据库的语法(例如PL / SQL,T-SQL等)或Java (适用于高级数据转换或处理LOB)的方式编写。支持的数据库包括 Oracle, SQL Serve...

2019-12-12 14:43:16 800

转载 spring-boot动态数据源

spring-boot动态数据源配置步骤创建读和写的数据源将读和写的数据源注册到RoutingDataSource使用AOP技术拦截业务逻辑层方法,判断方法的前缀是否需要做读或者写功能实现首先创建一个spring boot项目项目导包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://ma...

2019-12-09 21:20:15 147

原创 Mycat分库策略

Mycat分库策略数据库集群产生的问题自增id问题数据库关联查询问题(水平拆分)数据同步问题避免自增id重复的解决方法,1、UUID形式。2、设置数据库的步长。UUID 不适合使用在id,比较适合使用在token(令牌)的使用场景,所以不推荐使用查询当前数据库步长show VARIABLES LIKE 'auto_inc%'-- auto_increment_o...

2019-12-09 00:01:00 426

原创 算法:外部排序

前几天看到一篇文章说的是外部排序,深有感触,这里总结一下。首先,我们先提出一个问题:需要对占8G内存的数进行排序,但是计算机内容只有2G,该如何对这8个G的数进行排序,且效率比较高。正常人的思维是先把8G分成4份2G数据进行排序,然后再把数据拼接回去。再把2G有序子串进行子串合并。每次读取一个数,通过比较后再输出。通过这种方法来回进行三次就能得到8G有序子串。在计算机中硬盘的读写速度比...

2019-12-08 23:53:53 217

空空如也

空空如也

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

TA关注的人

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