lixiang987654321的专栏

私信 关注
贝壳里的沙
码龄12年

毕业于中国石油大学软件工程系,先后就职于北京方正集团、北京用友财务软件股份有限公司、广东安居宝数码科技股份有限公司、广东东道信息科技有限公司,拥有10年以上的开发管理经验,擅长安防相关的音视频编技术应用,在大数据分析处理等方面有丰富的经验和独到见解。

  • 557,916
    被访问量
  • 170
    原创文章
  • 9,531
    作者排名
  • 179
    粉丝数量
  • 毕业院校 中国石油大学
  • 目前就职 方正
  • 于 2009-03-31 加入CSDN
获得成就
  • 获得258次点赞
  • 内容获得105次评论
  • 获得310次收藏
荣誉勋章
兴趣领域
  • #数据库管理
    #数据库开发#数据库架构#数据仓库
  • #安全
    #系统安全
  • #人工智能
    #Flink
  • #后端
    #C/C++#Linux#Spring Boot#Go/GoLang#架构#Java#PHP#Elasticsearch#Spring#MySQL#Redis#分布式#Swift
  • #大数据
    #spark#hadoop#ETL#storm#hive
  • #前端
    #Node.js#JavaScript#React.js#XHTML#WebPack#小程序#CSS#前端框架#ECMAScript 6#HTTPS
  • #运维
    #Graylog/ELK#Linux/CentOS#Jenkins#Kubernetes/容器#网络#自动化/DevOps#运维开发#系统架构
  • #测试
    #postman
TA的专栏
  • spring cloud
    35篇
  • VC开发
    31篇
  • QT
    1篇
  • winsock
    2篇
  • UI
    9篇
  • 视频编解码
    15篇
  • WinDebug
    4篇
  • JS
    2篇
  • BaiduMap
    1篇
  • HTML
    14篇
  • linux
    9篇
  • C++
    12篇
  • GSoap
    2篇
  • WebService
    1篇
  • 打包
    1篇
  • D3D
    1篇
  • CEF
  • CSS
  • 音频采集
  • 音频编码
  • 大数据处理
    23篇
  • 视频采集
    1篇
  • mysql
    3篇
  • IE
  • increbuild
  • boost
    3篇
  • SSH
    1篇
  • linux开发路径搜索
  • sqlserver
    1篇
  • USB
    1篇
  • 地图
    1篇
  • 大数据
    25篇
  • Java
    10篇
  • kafka
    19篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

SpringBoot代码生成系统

SpringBoot后台代码生成系统一、项目背景1、手动创建项目型问题2、项目复制型新建项目问题二、项目成果1、代码生成服务2、项目创建1、设计数据库2、创建项目3、项目结构二、合作使用一、项目背景作为技术人员的你,你可能遇到频繁的小项目不断的在创建(包括生产或技术语言),基础功能代码相似度达到90%,系统的基础接口、流程、参数等几近相似。每次新建项目就算你在熟悉,你也得花很大部分的时间(从数据库层到服务层到应用层到基础配置,我相信你在这里起码要花差不多半天的时间),不过你还是不断的创建类似项目、不断的
原创
127阅读
0评论
0点赞
发布博客于 4 月前

Windows音频采集及播放之wave库使用及实现

一、音频简介关于音视频的采集可能有很多文章,也有很多分方式,实现方式有Core AudioCore Audio只可以在Vista以上(包括Vista)的操作系统中才能使用,主要用来取代Wave系列API函数和DirectSound,Core Audio实现的功能也比较强大,能实现对麦克风的采集、声卡输出的采集、控制声音的播放。DirectSoundDirectSound库是D3D系列库中的一个关于声音采集和播放的库,它是一个COM组件,对于初学者比较抽象。Wave库Wave系列的API函数主
原创
178阅读
0评论
0点赞
发布博客于 4 月前

AES加解密之C++实现

一、AES介绍AES,高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:下面简单介绍下各个部分的作用与意义:明文P没有经过加密的数据。密钥K用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给
原创
241阅读
1评论
0点赞
发布博客于 4 月前

windows下文本转语音TTS库封装

一、文本转语音实现本文提及的文本转语音库其实很多年前写的库,最近有才时间整理才将对应库整理成文章供各位网友参考。其实在windows下自带了文本转语音以及语音识别的功能,这里由于项目中需要将报警文本信息使用语音形式转化出来,所以这里仅仅只介绍文本转语音的使用。windows下我们将文本转语音使用的就是windows自带的COM组件,也就是TTS库,为了方便使用我将语音转文本的库封装成一个Dll库,目的也是为了后续组件化和模块化后续系统的功能,该封装库仅有三个功能:(1)语音库的初..
原创
155阅读
0评论
0点赞
发布博客于 4 月前

H5之webcoekt播放JPEG图片流

一、简介既然webcoekt是基于tcp连接的,理论上讲所有的浏览器是可以私有协议处理二进制的,如果我们需要播放视频,我们可以将视频数据在后端解码后直接将图片推送到webcoekt前端,然后前端通过websocket接收图片然后将图片显示到img或canvas中即可,当然这个是我自己设想的,也是应该可以做的到了,做到如下需要以下技术支持:后端直接ffmpeg转码为jpeg图片流后端定制播放协议包括基本指令如play、stop、pause、faster、slower后端需要提供websocket支持
原创
155阅读
0评论
0点赞
发布博客于 5 月前

H5播放H264之websocket

一、简介关于前端使用websocket播放音视频我倒是没想过,但是理论上确实是可行的,因为websocket是长连接,虽然知道web端的常见用法,但是作为c++开发人员我最疑惑的问题就是:使用js处理二进制?这个做法很不常见,恕我没太多了解,我一直以为js一般处理二进制不方便,所以脑海里一直自以为是js编解码效率高吗?因为是基于浏览器的脚本语言的二不是直接基于系统api的独立进行,转行较多,效率应该不高,所以我也一直避讳用js去处理编解码其实,我自以为的经过不断的探索发现也确实是对的,相对而言j
原创
733阅读
1评论
0点赞
发布博客于 5 月前

H5播放webrtc视频

一、简介WebRTC概念WebRTC是由Google主导的,由一组标准、协议和JavaScript API组成,用于实现浏览器之间(端到端之间)的音频、视频及数据共享。WebRTC不需要安装任何插件,通过简单的JavaScript API就可以使得实时通信变成一种标准功能。为什么使用webrtc现在各大浏览器以及终已经逐渐加大对WebRTC技术的支持。下图是webrtc官网给出的现在已经提供支持了的浏览器和平台。二、H5播放webrtcwebrtc播放经过不断探索,基本上没有现行的库来直接播放
原创
747阅读
0评论
0点赞
发布博客于 5 月前

SRS之启用webrtc播放

一、简介WebRTC概念WebRTC是由Google主导的,由一组标准、协议和JavaScript API组成,用于实现浏览器之间(端到端之间)的音频、视频及数据共享。WebRTC不需要安装任何插件,通过简单的JavaScript API就可以使得实时通信变成一种标准功能。为什么使用webrtc现在各大浏览器以及终已经逐渐加大对WebRTC技术的支持。下图是webrtc官网给出的现在已经提供支持了的浏览器和平台。二、srs启动webrtc需要srs的最低版本:SRS4.0.14,为了拉取到最新
原创
2376阅读
4评论
3点赞
发布博客于 5 月前

H5播放Rtmp之vue-video-player

一、简介我们看到了HLS播放视频实时性非常差,好的在6-7s,差点的就要10-12s了,也就是人走了,估计视频上还能看到,这对观感效果造成了很大的影响!但是好处就是它是基于http协议文件下载的,所以不需要任何插件,到处播放,处处兼容,所以rtmp和hls在web端的特点如下:HLS(1) 使用http协议,兼容所有浏览器。(2) 延时非常大,不太适合实时视频源,适合文件点播或历史录像直播。RTMP(1) 使用flash插件播放,不兼容所有浏览器(特别2020年12月后chrome带头不再支持
原创
553阅读
0评论
0点赞
发布博客于 5 月前

H5播放Rtmp之Flowplayer播放

一、简介我们看到了HLS播放视频实时性非常差,好的在6-7s,差点的就要10-12s了,也就是人走了,估计视频上还能看到,这对观感效果造成了很大的影响!但是好处就是它是基于http协议文件下载的,所以不需要任何插件,到处播放,处处兼容,所以rtmp和hls在web端的特点如下:HLS(1) 使用http协议,兼容所有浏览器。(2) 延时非常大,不太适合实时视频源,适合文件点播或历史录像直播。RTMP(1) 使用flash插件播放,不兼容所有浏览器(特别2020年12月后chrome带头不再支持
原创
565阅读
0评论
0点赞
发布博客于 5 月前

H5播放Rtmp之videojs播放

一、简介我们看到了HLS播放视频实时性非常差,好的在6-7s,差点的就要10-12s了,也就是人走了,估计视频上还能看到,这对观感效果造成了很大的影响!但是好处就是它是基于http协议文件下载的,所以不需要任何插件,到处播放,处处兼容,所以rtmp和hls在web端的特点如下:HLS(1) 使用http协议,兼容所有浏览器。(2) 延时非常大,不太适合实时视频源,适合文件点播或历史录像直播。RTMP(1) 使用flash插件播放,不兼容所有浏览器(特别2020年12月后chrome带头不再支持
原创
1207阅读
2评论
0点赞
发布博客于 5 月前

H5播放HLS之DPlayer播放

一、创建vue项目http://dplayer.js.org/guide.htmlDPlayer使用是基于vue的,所以先安装vue并创建vue项目卸载vuenpm uninstall -g vue-cli安装vue为最新(4.x)npm install -g @vue/clivue -V如果需要指定版本安装vue3.x则可以npm i -g @vue/cli@^3.12.1vue -V创建项目vue create videocd videonpm run servev
原创
1319阅读
0评论
0点赞
发布博客于 5 月前

H5播放HLS之videojs播放视频

一、简介如果要让网页支持在所有浏览器上播放,就需要使用第三方的播放器。VideoJs是一个较好的播放器库,完全免费,不像JWPlayer一样需要付费才能使用一些高级功能。videojs播放库是比较有名的一个播放库,它不仅支持hls也支持rtmp,不过如果是播放rtmp它最终也是通过flash插件完成的,我们暂时只看hls。二、实现如果使用videojs播放hls前端代码实现如下:<!DOCTYPE html><html lang="en"> <head>
原创
285阅读
0评论
0点赞
发布博客于 5 月前

H5播放HLS之video标签播放

视频推流为了产生HLS视频,我们可以借助srs来实现rtmp推流并生成HLS流,具体详细使用可以参考我之前的文章,这里不再赘述。我们要实现web端播放传统的音视频,最重要的实现就是rtmp实时视频推送至srs集群,为了演示我这里只启动一个srs简单应用,重点放在web端播放相关技术的讲解,关于srs实时视频推送一块,我在《SRS直播集群方案》一文已经做了很详细的介绍,这里不再赘述。首先,我们可以使用ffmpeg或者obs采集本地视频并推送到srs协转服务中,这里我使用obs进行采集与推送(ffmpeg
原创
587阅读
0评论
0点赞
发布博客于 5 月前

H5播放HLS之hls.min.js库

H5播放HLS之hls.min.js库视频推流H播放HLS视频推流为了产生HLS视频,我们可以借助srs来实现rtmp推流并生成HLS流,具体详细使用可以参考我之前的文章,这里不再赘述。我们要实现web端播放传统的音视频,最重要的实现就是rtmp实时视频推送至srs集群,为了演示我这里只启动一个srs简单应用,重点放在web端播放相关技术的讲解,关于srs实时视频推送一块,我在《SRS直播集群方案》一文已经做了很详细的介绍,这里不再赘述。首先,我们可以使用ffmpeg或者obs采集本地视频并推送到s
原创
636阅读
0评论
1点赞
发布博客于 5 月前

boost网络串口通信库

一、前言前面我写了一篇《boost开发网络库》一文,该文章介绍了使用boost库开发一个高效、稳定的网络通信库,其中用到了c++准标准库boost的asio网络通信模块,本文将要讲的是使用boost开发usb串口,正好也用到了asio,我之前文章中说过asio不仅仅包含网络通信,还包括串口,接下来我将带大家讲解使用boost库实现串口的通信。(当然,我们完全可以使用windows本地api实现类似功能)串口是一种非常通用的设备通信的协议(不要与通用串行总线Universal Serial Bus(USB
原创
54阅读
0评论
0点赞
发布博客于 5 月前

boost网络库开发

一、前言网络库是从事C++开发最基础、最核心、最常用的一个库,所有的协议都是建立在一个稳定高效的网络库之上的,所以对于c++程序员来说它是必不可少且非常非常重要的一个核心组件,我们可以使用网络库做任何我们想做的事情,比如用于文件数据上传、下载所有通信协议如http、rtp、rtsp等协议的封装服务器模块多客户端监听、连接、通信客户端与服务端通信局域网广播搜索局域网设备搜索多播组播一直不停的在C++、Java、Web以及linux系统运维等技术方面不停的来回切换,突然发现很久没有做c++
原创
71阅读
0评论
0点赞
发布博客于 5 月前

oauth2生成jwt令牌

一、介绍概念什么是jwt,即 json web token。JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。也是一种token,但是和token有一些不同。默认情况下,OAuth2生成的token为自定义的UUID的token,里面没有用户信息,但是jwt中包含了用户信息,这就是两者的根本不同,以为oauth2的token是有状态的,oauth2生成的token与用户session关联,jwt的token中自包含用户信息,可以是无状态的,授权服务器不用记录jwt与session
原创
453阅读
0评论
1点赞
发布博客于 6 月前

苹果浏览器无法边下边播MP4(谷歌浏览器可以)

一、问题提出项目开发过程中遇到一个问题:>基于webkit内核的浏览器H5的Video标签(获取android手机,一般也是webkit浏览器)可以正常播放MP4文件,但是基于苹果操作系统的safari浏览器或者苹果微信小程序内置浏览器都无法播放远程后台的MP4文件。发现问题:为了能发现android端与IOS端微信小程序内置浏览器的不同,通过对比两个浏览器发送给后台的包,可以发现如下端倪:android浏览器:苹果浏览器:对比之后发现没有什么区别,最后发现问题并不...
原创
63阅读
0评论
0点赞
发布博客于 6 月前

定制自己的Springboot控制台输出广告横幅--banner

定制自己的Springboot控制台输出广告横幅--banner一、介绍导读:好奇是最好的发现者,兴趣是最好的导师,当你对大千代码世界很好奇的时候,你就会主动去发现这个世界的奇妙,当你对程序感兴趣的时候,你才能有能力去驾驭它。大家的疑问对于使用SpringBoot或使用SpringCloud项目开发的人来说,我们经常在启动的时候,在控制台打印如下横幅广告:是不是很熟悉!是不是很亲切!!那么,各位是否思考过这个看不起眼的小问题?这个广告横幅是如何打印出来的?示例展示示例一如下我展示了一
原创
254阅读
0评论
0点赞
发布博客于 7 月前

OAuth2授权客户端访问资源服务

OAuth客户端访问资源服务一、简介在单点登录一文,我们是通过注解@EnableOAuth2Sso实现单点登录的,我们了解到OAuth2获取token的方式是通过OAuth2RestOperations请求授权服务获取授权码的模式实现的,当授权服务认证通过事后携带code转发到重定向地址(如客户端服务器的/login地址),客户端获取到code之后,在通过code交换到token。最后通过token的权限鉴定用户是否能否访问对应资源;@EnableOAuth2Sso实现的原理是通过OAuth2Rest
原创
315阅读
0评论
0点赞
发布博客于 7 月前

oauth2自定义登录页面

OAuth2自定义登录页面一、前言继上一篇文章《OAuth2认证授权流程解析》,我们对OAuth2的4种认证模型的流程做了一一跟踪了解,我们知道当用户访问的资源需要认证之后,就会重定向到登录页面/login,此时就需要用户输入用户名和密码然后post方式提交到/login页面进行登录验证,如果验证通过则会跳转到原来的页面。这里要说明的是OAuth2提供了默认的登录页面,当你访问资源需要认证时候,默认跳转到OAuth2的登录页面:如果我们定义自己的页面,那么跳转后效果如下(虽然丑一点,不过您可以自己
原创
1196阅读
0评论
0点赞
发布博客于 7 月前

OAuth2单点登录实现

OAuth2客户端注解一、介绍1、相关概念首先,要说明使用之前,我们来了解一下oauth2提供的几个注解相关功能:@EnableOAuth2Client客户端,提供OAuth2RestTemplate,用于客户端访问资源服务。简要步骤:客户端访问资源->客户端发现没有资源访问token->客户端根据授权类型生成跳转url->浏览器 302 到认证授权服务进行认证、授权。@EnableOAuth2Sso应用系统,使用远端认证授权服务,替换应用自身的用户登录鉴权securit
原创
248阅读
0评论
0点赞
发布博客于 7 月前

oauth2资源服务配置及源码解析

OAuth2 Client资源服务器一、相关介绍对于不熟悉OAuth2的童鞋,在阅读文本之前,请先阅读我的另一篇文章《oauth2认证流程》,以便对OAuth的认证流程有一定的了解。在设计比较好的系统中,他们一般有如下特点:模块化、微服务化耦合性低、内聚性高的相对独立的业务系统有自己的独立的授权系统,内部系统通过SSO单点登录进行授权第三方系统或内部系统都可以通过授权系统的多种授权方式进行业务对接有自己的网关实现授权、限流、负载等有自己的集中配置中心…这里我要重点讲解的是关于OAut
原创
310阅读
0评论
0点赞
发布博客于 7 月前

OAuth2认证授权流程解析

《oAuth2授权服务4中认证授权模式流程及代码跟踪与解析》在阅读该文章前,需要对oAuth2的使用有一定的了解才能更好的阅读代码和理解对应流程一、介绍其实,关于系统认证授权的开源组件有很多,包括Shiro、Security和OAuth2等,这些组件各自有各自的优点,shiro配置比较简单,而OAuth2配置和实现相对而言就比较复杂一些,但是功能更强大,此处,我只讲解OAuth2相关技术,关于OAuth2的使用,我在csdn上已经写过几篇文章,大致已经将所有的流程说的比较明白,但是一直没有出一片比
原创
1303阅读
1评论
2点赞
发布博客于 7 月前

41、nacos单机以及集群配置

nacos单机以及集群配置安装准备1、下载库从Github 上拉取Nacos Github最新版地址:https://github.com/alibaba/nacos2、本地解压tar -zxvf nacos-server-1.1.3.tar.gz解压后目录说明如下:bin目录主要是运行的脚本* conf是配置文件* data是数据存储的地方,之后会替换mysql来持久配置数...
原创
156阅读
0评论
0点赞
发布博客于 8 月前

12、MapReduce编程案例

文件开发环境搭建请参考《11、HDFS编程案例》一文一、MapReduce项目开发说明关于MapReduc程序最核心的操作类就是Job接口类,可以知道linux下当我们通过hadoop提交jar包运行的时候,控制台打印的就是job运行整个过程,包括Map完成百分比Reduce完成百分比等。所以Job的核心就主要包括Map数据输入读取过程与Reduce数据的计算输出过程。当然中间也包括一个shu...
原创
153阅读
0评论
0点赞
发布博客于 2 年前

11、HDFS编程案例

一、Windows环境配置1、准备好hadoop的完全分布式按照,具体按照步骤这里不再赘述此处我的版本为hadoop2.7.6版本,环境配置为Hadoop的完全分布式按照,各个节点具体安排如下1)机器地址映射关系192.168.8.240 hadoop01192.168.8.241 hadoop02192.168.8.242 hadoop032)机器节点安排...
原创
153阅读
0评论
0点赞
发布博客于 2 年前

3、安装中文分词器

一、前言 为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了,因此我们需要一个中文分词器来用于搜索和使用。二、IK分词器的安装和使用 我们可以从官方github上下载该插件,我们下载对应于我们使用的es的版本的ik,注意选择与你安装的ElasticSearch版本对应的分词器。否则可能导致无法使...
原创
110阅读
0评论
1点赞
发布博客于 2 年前

2、ElasticSearch(ik)中文分析器

Elasticsearch 中文搜索时遇到几个问题:当搜索关键词如:“人民币”时,如果分词将“人民币”分成“人”,“民”,“币”三个单字,那么搜索该关键词会匹配到很多包含该单字的无关内容,但是如果将该词分词成一个整词“人民币”,搜索单字如“人”字又不会匹配到包含“人民币”关键词的内容,怎么解决这个问题,既保证覆盖度又保证准确度? 搜索“RMB”时只会匹配到包含“RMB”关键词的内容,实际上,...
翻译
257阅读
0评论
0点赞
发布博客于 2 年前

1、ElasticSearch实战配置

index定义字段的分析类型以及检索方式,控制字段值是否被索引.他可以设置成 true 或者 false。没有被索引的字段将无法搜索
原创
292阅读
0评论
0点赞
发布博客于 2 年前

52、自定义的springboot-starter项目

一、前言 我们一般在开发基于SpringBoot架构项目时候,只需要将依赖的jar包在maven(或SBT)中引入即可,然后使用指令(如clean package install deploy -U,如果没有私仓,可以不用deploy -U),打包安装发布即可,打包后的jar包我们可以直接运行。这是为什么?因为由于围绕SpringBoot存在很多开箱即用的Starter依赖,使得我们在开...
原创
178阅读
0评论
0点赞
发布博客于 2 年前

50、自定义token兼容手机、邮箱等多身份信息登录

自定义token兼容手机、邮箱等多身份信息登录一、前言二、实现一、前言在登录认证中,用户名密码登录到系统是必然的模式,但是很多系统或日常中,可以有很多其他身份登陆到对应系统中,比如手机号码、邮箱、微信等,在oauth2中要实现对应登录方式,必须要实现对应的Filter、Provider、对应token以及UserDetailService接口,使得不同的方式创建不同的token,然后由与之对应...
原创
109阅读
0评论
0点赞
发布博客于 2 年前

49、实现shiro无状态访问(自定义token)

前言http协议是无状态协议。浏览器访问服务器时,要让服务器知道你是谁,只有两种方式:方式一:把“你是谁”写入cookie。它会随每次HTTP请求带到服务端;方式二:在URL、表单数据中带上你的用户信息(也可能在HTTP头部)。这种方式依赖于从特定的网页入口进入,因为只有走特定的入口,才有机会拼装出相应的信息,提交到服务端。大部分SSO需求都希望不依赖特定的网页入口(集成门户除外),所...
原创
550阅读
0评论
0点赞
发布博客于 2 年前

46、shiro认证和权限管理介绍

shiro认证和权限管理介绍前言1、用户名密码身份认证流程2、授权3、权限模型4、权限分配5、权限控制6、权限管理解决方案7、shiro介绍8、shiro使用9、 散列算法10、授权方式11、Shiro总结前言Apache Shiro是一个功能强大、灵活的,开源的安全框架。它可以干净利落地处理身份验证、授权、企业会话管理和加密。Apache Shiro的首要目标是易于使用和理解。安全通常很复杂...
原创
267阅读
0评论
0点赞
发布博客于 2 年前

45、nacos集成openfeign

nacos集成openfeign一、创建服务提供者项目-nacos-producer二、添加服务消费者项目-nacos-openfeignSpringCloud中使用feign(底层使用Ribbon)实现调用远程方法像调用本地方法一样去使用,如果使用nacos,那么对应就是使用openfeign即可实现。具体实现过程如下,仅供参考!一、创建服务提供者项目-nacos-producer1、修改...
原创
1223阅读
2评论
0点赞
发布博客于 2 年前

44、nacos服务注册以及发现示例

44、nacos服务注册以及发现示例一、创建服务提供者项目-nacos-producer二、添加服务消费者项目-nacos-consumer注意,我在测试过程中发现问题(1)如果使用SpringCloud2.0.4.RELEASE版本无法使用nacos(2)如果使用open-feign的2.1.0版本远程过程调用失败,如果使用2.0.0版本发现可以远程调用,但是nacos注册失效(也就是本...
原创
2569阅读
0评论
0点赞
发布博客于 2 年前

43、nacos三部曲-服务注册与发现

nacos三部曲-服务注册与发现一、前言二、服务注册(服务端)三、服务发现(客户端)一、前言nacos不仅仅提供了配置中心的功能–同springcloud的ConfigServer(包括消息总线实时刷新通知SpringCloud Bus),而且集成了服务的注册与发现功能。一下我们具体讲解在springboot项目中如何使用服务的注册和发现。二、服务注册(服务端)1、创建一个springbo...
原创
359阅读
0评论
0点赞
发布博客于 2 年前

42、nacos三部曲-系统配置

acos三部曲-系统配置创建一个springboot项目详细配置说明创建一个springboot项目(1)pom引用 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-...
原创
457阅读
0评论
0点赞
发布博客于 2 年前

41、nacos单机以及集群配置

nacos单机以及集群配置安装准备一、前言二、单机模式(standalone)三、集群搭建(cluster)四、添加配置文件五、添加配置文件安装准备1、下载库从Github 上拉取Nacos Github最新版(地址:https://github.com/alibaba/nacos)。2、本地解压tar -zxvf nacos-server-1.1.3.tar.gz解压后目录说明如下...
原创
2691阅读
1评论
1点赞
发布博客于 2 年前

27、离线环境如何隔离互联网跑docker

离线环境如何隔离互联网跑docker一、提出问题二、解决方案三、解决步骤一、提出问题大多数据的生产项目都是可以与互联网互通的,但是也存在很多情况我们无法与互联网进行通信,所以在这种情况下我们有可能无法使用docker,原因如下:(1)在生成自己的docker镜像过程中,我们需要下载基础镜像(2)在生成自己的docker镜像过程中,我们需要更新系统(3)在生成自己的docker镜像过程中,...
原创
188阅读
0评论
0点赞
发布博客于 2 年前

18、kafka的Reactor设计模型

kafka的Reactor设计模型(2)认识Linux的epoll模型(3)kafka Server Reactor模型kafka作为一种高性能、高并发的消息中间件,必须要求大量的客户端连接、必须做到高并发,kafka使用了久经检验的Reactor模型。在了解之前,首先了解一下如下几个概念(Reactor模型是基于Java NIO的,是linux的epoll模型的改造):#(1)认识Java ...
原创
223阅读
0评论
0点赞
发布博客于 2 年前

17、kafka分区选主机制

kafka分区选主机制1、大数据常用的选主机制2、常用选主机制的缺点3、kafka分区的选主机制1、大数据常用的选主机制leader的选择方法非常多,大数据领域常用的的选举方法有如下集中(1)Zab(zookeeper使用)a、快速leader选举(leader election)b、发现或者版本建立(epoch establish)c、同步(follower从leader同步数据和状...
原创
1935阅读
0评论
1点赞
发布博客于 2 年前

16、kafka集群监控

kafka集群监控一、Kafka Offset Monitor介绍安装部署Kafka Offset Monitor安装部署kafka-mamager工具Kafka集群监控工具有很多,这里我们只介绍针对Kafka的监控。一、Kafka Offset Monitor介绍在生产环境中需要集群高可用,所以需要对kafka集群进行监控。Kafka Offset Monitor可以监控Kafka集群以下...
原创
465阅读
0评论
0点赞
发布博客于 2 年前

15、kafka集群维护

kafka集群维护1、集群信息实时查看工具(topic工具)2、kafka集群leader平衡机制3、集群分区日志迁移1、集群信息实时查看工具(topic工具)(1)列出集群当前所有可用的topickafka-topics.sh --list --zookeeper kafka1:2181(2)查看集群特定的topic信息/bin/kafka-topics.sh --describe ...
原创
156阅读
0评论
0点赞
发布博客于 2 年前

14、kafka消息检索原理

一、kafka消息的segment文件组成和物理结构1、分区文件存储方式(1)kafka的topic的每一个分区都存在一个目录(2)所有的消息按照一个index文件和log文件存储2、分区下的每一个segment文件(.log)的结构3、一个segment中的每一个消息(message)的存储结构(1)8字节的偏移量:当前的partition的第多少个message(2)4字节...
原创
651阅读
1评论
0点赞
发布博客于 2 年前

13、kafka消息组织原理和删除原理

一、磁盘的认识1、但需要从磁盘读取数据时候,要确定读取的数据在哪个磁道,哪个扇区–首先必须找到柱面,即磁头需要移动对准响应的磁道,这个过程叫做寻道,所以耗费的时间叫做寻道时间–然后目标扇区旋转到磁头下,这个过程耗费的时间叫做旋转时间,一次访问磁盘请求(读/写)完成的过程有三个动作组成(1)寻道时间:磁头移动定位到指定磁道的时间(2)旋转延迟:等待指定扇区从磁头下旋转经过的时间(3)数...
原创
851阅读
0评论
0点赞
发布博客于 2 年前

12、SpringCloud使用Kafka消费者

1、POM文件配置<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/m...
原创
827阅读
1评论
0点赞
发布博客于 2 年前

11、kafka管理客户端接口

前言一般情况下,我们都习惯使用Kafka中bin目录下的脚本工具来管理查看Kafka,但是有些时候需要将某些管理查看的功能集成到系统(比如Kafka Manager)中,那么就需要调用一些API来直接操作Kafka了。在Kafka0.11.0.0版本之前,可以通过kafka-core包(Kafka的服务端代码,采用Scala编写)下的AdminClient和AdminUtils来实现部分的集群管...
原创
634阅读
0评论
0点赞
发布博客于 2 年前

10、kafka消费者配置参数说明

Consumer Configuration在kafka 0.9+使用Java Consumer替代了老版本的scala Consumer。新版的配置如下:bootstrap.servers在启动consumer时配置的broker地址的。不需要将cluster中所有的broker都配置上,因为启动后会自动的发现cluster所有的broker。它配置的格式是:host1:port1;h...
原创
3850阅读
0评论
0点赞
发布博客于 2 年前

9、Java客户端实现kafka消费者实例

环境要求(1)已经搭建的kafka集群(2)Apache Maven(3)kafka_2.11-2.2.0一、概念说明以官方给出的图为例,如下所示消费者组与主题之间关系每个Consumer 进程都会划归到一个逻辑的Consumer Group中,逻辑的订阅者是Consumer Group。所以一条message可以被多个订阅message所在的topic的每一个Consumer G...
原创
763阅读
0评论
0点赞
发布博客于 2 年前

9、Kafka生产者各种启动参数说明

生产者启动实例final String kafkazk="localhost:9092"; String topic="testAPI"; Properties properties = new Properties() {{ put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkazk); put(P...
原创
95阅读
0评论
0点赞
发布博客于 2 年前

8、kafka生产者自定义分区算法实例

一、kafka消息发送流程kafka生产者在发送消息时候,key指定后可以使用自己的分区算法,KafkaProducer在调用send方法发送消息至broker的过程中,首先是经过拦截器Inteceptors处理,然后是经过序列化Serializer处理,之后就到了Partitions阶段,即分区分配计算阶段。在某些应用场景下,业务逻辑需要控制每条消息落 到合适的分区中,有些情形下则只要根据默认...
原创
259阅读
0评论
0点赞
发布博客于 2 年前

7、Kafka生产者maven实例

1、创建maven项目并添加依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.or...
原创
1138阅读
0评论
0点赞
发布博客于 2 年前

6、kafka生产模型

Kafka生产者模型(1)同步生产模型如图上所示,同步生产模型中,生产者发送消息后需要等待服务端确认消息(配置的消息确认等待时间),如果没有确认消息则生产者会再次发送对应消息,直到达到设置的最大次数。如果有一次收到确认消息,则停止发送继续发送下一次,这就是“至少一次”发送语义!同步生产模型特点:–低的消息丢失率–高消息重复率(由于网络原因,回复确认未收到)–高延迟(需要确认)–低吞...
原创
104阅读
0评论
0点赞
发布博客于 2 年前

5、分区消费模型和组消费模型

一、分区消费模型分区消费模型:4个分区4个消费者实例,如图所示,一个分区对应一个消费者。步骤:1、获取分区数个数2、为每一个分区创建一个消费线程或进程,对应一个消费者实例3、每一个消费者实例工作内容:(1)创建kafka实例的连接(主机名和端口)(2)指定消费者参数(对应topic的哪个partition分区)(3)设置消费的偏移量(主题的某分区的哪个偏移量号开始-每条消息对应...
原创
125阅读
0评论
0点赞
发布博客于 2 年前

4、kafka基本操作

Apache Kafka 基本操作首先让我们开始实现单节点单代理配置,然后我们将我们的设置迁移到单节点多代理配置。希望你现在可以在你的机器上安装Java,ZooKeeper和Kafka。 在迁移到Kafka Cluster Setup之前,首先需要启动ZooKeeper,因为Kafka Cluster使用ZooKeeper。启动ZooKeeper打开一个新终端并键入以下命令 -zooke...
原创
86阅读
0评论
0点赞
发布博客于 2 年前

3、Kafka介绍

kafka中文文档:http://kafka.apachecn.org/documentation.html#introductionkafka客户端下载:https://cwiki.apache.org/confluence/display/KAFKA/Clients简单说明什么是kafkaApache kafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这...
原创
83阅读
0评论
0点赞
发布博客于 2 年前

2、kafka环境搭建

这里写自定义目录标题安装前准备Java安装第一步、卸载第二步、安装二、搭建Zookeeper集群The number of milliseconds of each tickThe number of ticks that the initialsynchronization phase can takeThe number of ticks that can pass betweensendin...
原创
442阅读
0评论
0点赞
发布博客于 2 年前

1、kafka简介

参考文档:http://kafka.apache.org/documentation/#introductionhttp://kafka.apachecn.org/documentation.htmlhttps://www.jianshu.com/p/d3e963ff8b701、JMS是什么(1)JMS的基础JMS是什么JMS是Java提供的一套技术规...
原创
105阅读
0评论
0点赞
发布博客于 2 年前

10、Hadoop 2.0产生背景

产生背景Hadoop1.0中HDFS和MapReduce在高可用、扩展性等方面存在问题--HDFS存在的问题(1)NameNode单点故障,难以应用于在线场景(2)NameNode压力过大,且内存受限(元数据全部存在内容中),影响系统扩展性。--MapReduce存在的问题(1)JobTracker访问压力过大,单点故障,影响系统扩展性(2)难以支持除MapRed...
原创
107阅读
0评论
2点赞
发布博客于 2 年前

SQL高级嵌套

写了很多复杂的SQL脚本和存储过程,每次都需要花很长的时间去熟悉mysql的对应函数使用,所以很麻烦,记下来,以便后续少走弯路,提供自己和各位网友参考。注意:这里要非常留意,MYSQL单机环境下和MYSQL集群环境下(这里我用的MyCat数据中间件)出来的效果不一样,可能会检索出来多条记录,比如,不同的数据库执行各自的存储过程都会有一条或多条记录,最终返回给上层应用2倍的数据查询集;以...
原创
156阅读
0评论
1点赞
发布博客于 2 年前

9、MapReduce程序Java示例

Hadoop一般用于做数据分析以及数据挖掘,并不做类似sql的关系数据查询;MapReducer程序中程序员可以控制的部分:Mapper、Shuffle的partition,Combiner以及Reducer过程1、创建Eclipse的Hadoop程序新建程序,选择Java Project即可选择下一步,命名为MapReduce项目名,然后点击...
原创
1172阅读
0评论
1点赞
发布博客于 2 年前

8、Eclipse安装Hadoop-Eclipse-Plugin插件

1、事先需要插件,因此需要下载插件hadoop-eclipse-plugin-2.6.0.jar2、 将hadoop-eclipse-plugin-2.6.0.jar放到eclipse解压文件夹的plugins文件夹下。plugin路径:plugins就在eclipse中3、重启eclipse,就能看到对应的Map/Reduce小象图标。如果没有,点击左侧的小框,在o...
原创
185阅读
0评论
0点赞
发布博客于 2 年前

7、hadoop的MapReduce计算框架

说明1、MapReduce适合做离线计算框架2、Storm适合做流式计算框架,实时计算3、Spark内存计算框架,适合做快速获取计算结果1、基础知识核心理念是:移动计算而不移动数据移动计算:将你写好的程序分别拷贝一份到对应机器上,但是数据不移动;计算步骤:数据切片---->map task计算 -->shuffle --->re...
原创
338阅读
0评论
0点赞
发布博客于 2 年前

6、Java在Windows下使用Hbase操作Hadoop

(1)解决jar包依赖问题,可以使用两种方式1、直接创建maven工程,编写pom文件,添加依赖的jar包声明2、直接下载对应的hbase的linux压缩包,解压后拷贝文件夹lib下的所有jar包注意:在运行过程中会报错:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing...
原创
208阅读
0评论
0点赞
发布博客于 2 年前

5、HBase原理

简述HBase的架构原理1. HBase的模块 Master HBase Master用于协调多个Region Server,侦测各个Region Server之间的状态,并平衡Region Server之间的负载。HBase Master还有一个职责就是负责分配Region给Region Server。HBase允许多个Master 节点共存,但是这需要Zookeep...
原创
60阅读
0评论
0点赞
发布博客于 2 年前

4、Hadoop2.x+Hbase完全分布式安装

版本兼容问题:Hadoop完全分布式安装:此处配置两台机器:master : 192.168.0.104 机器名hadoop1slave1 : 192.168.0.105 机器名hadoop2slave2 : 192.168.0.106 机器名hadoop3zookeeper为hadoop1、hadoop2、had...
原创
219阅读
0评论
0点赞
发布博客于 2 年前

3、Hadoop+HBase+Hive+Zookeeper版本兼容问题

hadoop稳定版本选择hadoop决定用比较稳定版本hadoop2.7.1hadoop2.7.1中与hbase1.2.x兼容。hbase1.x与hive2.x是兼容的,与hive1.x需要编译。因此这里决定hbase使用1.x,hive使用2.xhbase稳定版本选择hbase中目前版本有hbase0.98,1.1.4,1.2.1,这里面稳定版是h...
原创
1393阅读
0评论
0点赞
发布博客于 2 年前

2、Zookeeper集群配置

单机模式和分布式模式前提:安装好jdk并配置好环境变量安装: 从zookeeper官网下载对应的包 我这里选择的是zookeeper-3.4.6.tar.gz,可以使用浏览器下载(lrzsz工具上传)或linux的wget下载 进入到/opt目录,拷贝zookeeper-3.4.6.tar.gz到改目录,解压:tar -zxvfzookeeper-3.4.6...
原创
60阅读
0评论
0点赞
发布博客于 2 年前

1、hadoop安装(1.2版本)

HDFS架构:(1)HDFS的文件被分成块进行存储(2)HDFS块的默认大小为64M(3)块是文件存储处理的逻辑单元(4)NameNode是一个唯一的管理节点,存储元数据(数据存放到哪些节点上)(5)DataNode实际数据存储节点数据管理与容错(1)默认数据块都有3个副本(廉价机器),同一机架有一份,不同机架有一份(2)DataNode定期向NameNode...
原创
84阅读
0评论
0点赞
发布博客于 2 年前

38、springcloud虚拟机网卡导致docker集群通信问题

在项目实战部署过程中,发现docker服务跑起来后,会遇到如下两个问题:(1)docker集群中运行的每一个容器一般会有3个网段(10.0段、10.255段和172段),在服务部署后,我们希望服务选择的网卡(注册到注册中心的网卡)与docker之间所在的网卡一直,也就是服务选择的网卡使我们创建的跨主机的网卡,那么服务与服务之间通信就没有问题,否则注册到注册中心的网卡不是我们创建的集群...
原创
195阅读
0评论
0点赞
发布博客于 2 年前

37、SpringBoot使用SSL免费证书

第一步、新建SpringBoot项目pom文件:&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0ht...
原创
671阅读
0评论
1点赞
发布博客于 2 年前

reessl申请免费证书如何在tomcat中使用(windows)

一、SSL证书申请流程1、输入域名选择类型2、设置参数选项 这里我们选择验证域名(验证域名到底是不是你的,你有没有对应域名的权限)的方式为DNS类型,也就是我们必须在我的域名管理平台(我用的阿里云申请的域名)的DNS中将生成的TXT记录和记录值用DNS来验证,也就是DNS解析成TXT和记录值,这时候freessl就能与DNS的TXT记录与记录值进行校验来...
原创
197阅读
0评论
0点赞
发布博客于 2 年前

36、关于资源服务鉴权流程

使用springcloud框架时,最常用的鉴权流程框架是spring Security和OAuth2,OAuth2是SpringSecurity的扩展版;OAuth2.0有两种方式:1、授权服务与资源服务属于同一进程(同一服务)2、资源服务与授权服务分离(不属于同一进程) 对于第一种情况,我们很好区分,访问对应资源和授权数据同一进程,无需在配置文件中进行任何配置,但对于第二...
原创
809阅读
0评论
0点赞
发布博客于 2 年前

35、Eureka 与docker swarm 问题

将服务发布到docker swarm后发现eureka 客户端暴露出来的ip不可连接。原因: docker swarm 集群发布后,docker 容器默认有3个网卡 ,eth0 ,eth1,eth2其中overlay 占用了两个,vip 模式其中只有一个ip是可用的,因此暴露了不可用ip将会出现问题。解决方案Specifying a custom network value in D...
原创
707阅读
0评论
0点赞
发布博客于 2 年前

34、SpringCloud多网卡配置

docker部署过程中遇到如下问题:(1)docker容器创建之后,进入容器会发现容器有多个ip,一个是10.255段的一个是172段的,一个自定义集群的网络10.0.2段的(2)注册到eureka注册服务中的地址为10.255段的地址(3)通过网关访问注册到eureka中的服务时候获取到的ip是10.255段网址,是实际上各个服务监听的ip为10.0.2段的端口(4)网关无...
原创
2707阅读
0评论
0点赞
发布博客于 2 年前

33、SpringCloud分布式日志采集

微服务的项目大多都有好几个工程,总的来说可以使用elk+logstash+elasticsearch+kibana做分布式日志处理,ogstash接收日志,elasticsearch 处理数据,kibana展示数据。(1)打开防火墙firewall-cmd --zone=public --add-port=5601/tcp --permanentfirewall-c...
原创
4589阅读
0评论
1点赞
发布博客于 2 年前

32、WebJars与thymeleaf渲染引擎

1、webjar使用&lt;!-- 使用webjar管理前端资源,此处引入bootstrap和jquery方便演示 --&gt;&lt;dependency&gt;&lt;groupId&gt;org.webjars&lt;/groupId&gt;&lt;artifactId&gt;jquery&lt;/artifactId&gt;...
原创
406阅读
0评论
0点赞
发布博客于 2 年前

31、关于oauth2.0 认证服务器同时也是资源服务器(同一进程)不能使用access_token原因解析

获的了access_token怎么使用?我们历经千辛万苦,才获取到access_token,那么获取到了access_token如何使用access_token?1、单独的资源服务器如何使用access_token 在《30、oauth2.0认证服务器与资源服务器分离成不同服务(进程)或既是认证服务又是资源服务器》一文中,我们后面一段代码解释了核心过滤器 OAuth2Au...
原创
956阅读
3评论
0点赞
发布博客于 2 年前

30、oauth2.0认证服务器与资源服务器分离成不同服务(进程)或既是认证服务又是资源服务器

一、问题 对于oauth2.0的诟病我真是受够了,要不是时间问题,真他妈想理解原理后自己开发一套,对于oauth2.0的使用过程中出现的问题,一直困扰着我,网络有资料,几十份中基本没有出现我出现过的问题,最终还是经过调试源码一步一步找到对应问题。最终得以解决改问题,这位后续使用oauth2.0扫清了障碍。使用过程中,总结问题如下:(1)所有URL访问,无法...
原创
1113阅读
1评论
0点赞
发布博客于 2 年前

29、oauth2.0 资源服务器与授权服务器分离配置

废话刷说,这个问题已经困扰我多时,我已经经过n次尝试,n-1都是失败的,最后只有一次成功,失败是成功他妈,是血的教训,佛说千万次错过就是为了那一次邂逅。先把我遇到的问题罗列出来:(1)资源服务器和认证服务器分离后,配置resource.id无效;(2)存储的secret和用户密码都必须BCEncrypt加密;(3)认证服务器同时也是资源服务器的时候,四种授权模式不能共生(我出现的是...
原创
2978阅读
1评论
2点赞
发布博客于 2 年前

28、Authentication request failed: error=“access_denied“, error_description=“Invalid token does not c

主题错误:Authentication request failed: error="access_denied", error_description="Invalid token does not contain resource id (oauth2-resource)"发博词Spring Security OAuth2 架构上分为Authorization Server...
原创
4805阅读
0评论
0点赞
发布博客于 2 年前

27、oauth2四种授权模式认证流程

重点:授权服务器如果同时存在WebSecurityConfigurerAdapter和ResourceServer,那么如下授权模式部分是无法使用的,所以保留WebSecurityConfigurerAdapter假设具体参数如下:(1)请求地址为:http://localhost:7010/uaa/oauth/XX(2)数据库表oauth_client_details初始化...
原创
942阅读
1评论
0点赞
发布博客于 2 年前

26、Spring Cloud Gateway限流

第一步:pom配置文件&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xs...
原创
526阅读
0评论
1点赞
发布博客于 2 年前

25、zuul之多维度限流

对请求的目标URL进行限流(例如:某个URL每分钟只允许调用多少次) 对客户端的访问IP进行限流(例如:某个IP每分钟只允许请求多少次) 对某些特定用户或者用户组进行限流(例如:非VIP用户限制每分钟只允许调用100次某个API等) 多维度混合的限流。此时,就需要实现一些限流规则的编排机制。与、或、非等关系。 介绍spring-cloud-zuul-rat...
原创
1045阅读
0评论
0点赞
发布博客于 2 年前

24、Feign捕获错误码并降级处理

正常情况下,我们使用Feign一般使用方式如下(1)声明服务接口@FeignClient(name = "hello",fallback = HelloServiceImpl.class)public interface HelloService { @GetMapping("hello") public String hello();}...
原创
1898阅读
1评论
0点赞
发布博客于 2 年前

23、SpringCloud Zipkin

一、简介Zipkin是一个全链路跟踪工具,可以用来监控微服务集群中调用链路的通畅情况,聚合各业务系统调用延迟数据,达到链路调用监控跟踪如图,在复杂的调用链路中假设存在一条调用链路...
原创
586阅读
0评论
0点赞
发布博客于 2 年前

22.1、SpringCloud Bus消息总线

上一篇我们讲到,我们如果要去更新所有微服务的配置,在不重启的情况下去更新配置,只能依靠spring cloud config了,但是,是我们要一个服务一个服务的发送post请求,我们能受的了吗?这比之前的没配置中心好多了,那么我们如何继续避免挨个挨个的向服务发送Post请求来告知服务,你的配置信息改变了,需要及时修改内存中的配置信息。这时候我们就不要忘记消息队列的发布订阅模型。让所有为服务来订阅这...
原创
242阅读
0评论
0点赞
发布博客于 2 年前

22、SpringCloud ConfigServer配置中心

概述 使用Spring Cloud开发微服务时,ConfigServer是常用的组件,它的作用是将Spring相关的配置项统一起来,其他微服务可以根据实际需要从ConfigServer fetch配置。 配置服务器为各应用的所有环境提供了一个中心化的外部配置。它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Sprin...
原创
442阅读
0评论
0点赞
发布博客于 2 年前

21、自定义oauth认证Provider

一、前言  发现很少关于spring security的文章,基本都是入门级的,配个UserServiceDetails或者配个路由控制就完事了,而且很多还是xml配置,国内通病...so,本文里的配置都是java配置,不涉及xml配置,事实上我也不会xml配置二、spring security的大体介绍  spring security本身如果只是说配置,还是很简单易懂的(我也不知道...
原创
1030阅读
0评论
0点赞
发布博客于 2 年前

20、WebMvcConfigurerAdapter被Spring5.0弃用

在Spring5.0中,WebMvcConfigurerAdapter已经弃用,替代类:WebMvcConfigurationSupport或者DelegatingWebMvcConfiguration)* extends WebMvcConfigurerAdapter+@EnableWebMvc 等同于 extends WebMvcConfigurationSupport* 切勿使用@E...
原创
300阅读
0评论
0点赞
发布博客于 2 年前

19、关于WebSecurityConfigurerAdapter和ResourceServerConfigurerAdapter区别联系

一、区别与联系1、ResourceServerConfigurerAdapter被配置为不同的端点(参见antMatchers),而WebSecurityConfigurerAdapter不是。 这两个适配器之间的区别在于,RealServServer配置适配器使用一个特殊的过滤器来检查请求中的承载令牌,以便通过OAuth2对请求进行认证。WebSecurityConfigurerAd...
原创
7117阅读
6评论
3点赞
发布博客于 2 年前

18、使用MySQL存储access_token和client信息-之建表语句

如果使用jdbc数据库存储client和token信息,那么必须自己手动建立oauth相关的表并写入(注册)数据,否则认证过程中报错:-- used in tests that use HSQLcreate table oauth_client_details (client_id VARCHAR(256) PRIMARY KEY,resource_ids VARCHA...
原创
977阅读
0评论
0点赞
发布博客于 2 年前

17、SpringBoot单点登录SSO之Redis实现

紧接着文章《16、SpringBoot单点登录SSO数据库实现》一文中配置文件中如果出现类似${username:ut_user},表示引用变量username,如果找不到对应变量给赋值为默认值ut_user;一、配置信息保持不变#服务配置server: #监听端口 port: 8762 servlet: context-path: ...
原创
1235阅读
0评论
0点赞
发布博客于 2 年前

16.1、springBoot单点登录之用户服务实现

废话少说,直接步入正题。一、项目依赖父项目依赖(提供基础必备依赖):&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org...
原创
666阅读
0评论
0点赞
发布博客于 2 年前

mybatis单参数以及多参数集合查询

单参数情况:(1)arrayList&lt;CarnumberAlarm&gt; selectByDeviceIdAndTime(String[]ids);xml配置: &lt;if test="ids != null and ids.length &gt; 0" &gt; deviceId in &lt;foreach collection...
原创
2402阅读
0评论
1点赞
发布博客于 3 年前

27、oauth2四种授权模式认证流程

重点:授权服务器如果同时存在WebSecurityConfigurerAdapter和ResourceServer,那么如下授权模式部分是无法使用的,所以保留WebSecurityConfigurerAdapter假设具体参数如下:(1)请求地址为:http://localhost:7010/uaa/oauth/XX(2)数据库表oauth_client_details...
原创
29241阅读
7评论
4点赞
发布博客于 3 年前

16、SpringBoot单点登录SSO数据库实现

首先以一张图形式说明单点认证的整个流程: 前一篇文章中,我们使用了内存写死的模式实现用户的授权和资源的保护,当然token以及clients信息存储有多种方式,有inmemory内存模式、redis存储模式、jdbc存储模式、jwt存储模式、jwk存储模式等等。是实际的生产环境,为了安全我们会将客户信息以及token信息存储在数据库,以便服务器之间共享和保证数据断电安全。这篇文...
原创
3707阅读
1评论
1点赞
发布博客于 3 年前

15、oauth2.0使用thymeleaf渲染模板的自定义登录界面

我们所有的假设条件是,已经安装配置好springMVC环境或SpringBoot加入了web包。 为了更直观地看到跳转流程,我们添加一些页面和演示代码说明thymeleaf(1)在web包下新建SecurityController@Controllerpublic class SecurityController { @RequestMapping("/home") ...
原创
2967阅读
1评论
0点赞
发布博客于 3 年前