5 程序员爱酸奶(QuellanAn)

尚未进行身份认证

我要认证

专注springboot、springcloud、docker、redis。乐于分享,欢迎关注

等级
TA的排名 3k+

【重大故障】消息堆积、消息丢失?

前言总算尘埃落定了,记录下这两天的血泪史吧。算是教训也算是经验了。原始需求:接收第三方推送过来的数据,进行解析入库。一个很简单的需求,当时对端提供的是 socket 进行推送,每条消息的以 <START>开始,<END>结束,但是他们推送的是一直往流里面写数据,所以我们需要分割出消息,然后再对消息进行解析入库。如下图:是我通过nc -l port -> nc.log监听获取到对端推送的消息日志,简化后的消息。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存

2020-07-30 14:24:13

springboot 整合 Mybatis、JPA、Redis

引言在springboot 项目中,我们是用ORM 框架来操作数据库变的非常方便。下面我们分别整合mysql ,spring data jpa 以及redis 。让我们感受下快车道。我们首先创建一个springboot 项目,创建好之后,我们来一步步的实践。使用mybatis引入依赖:<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis

2020-07-01 15:04:16

springboot 整合 thymeleaf(上手即用)

引言springboot 整合thymeleaf 其实用的不是很多,因为现在很多公司都是前后端分离的项目,通过接口交互了。但是我们后端人员,对前端不是很了解,但是又想做些东西看看效果。所以就可以整合 thymeleaf ,掌握一些基本的语法,就可以很好的操作啦。使用首先引入依赖,这样我们在项目中才能使用到。<dependency> <groupId>org.springframework.boot</groupId> <artifactId&

2020-06-29 12:20:40

震惊!我三步就搞定了 Tomcat 源码环境搭建

引言随着微服务的流行,轻量级的服务应用器也是跟着大火了。毕竟那些企业级的服务应用器部署搭建成本太高。并且springboot 自带的就是 tomcat 服务。所以我们也有必要学习 tomcat 的相关知识啦,我们在项目中也用的很多,但是我们往往只是用他,没有深入的了解,但这样对我们来说是不够的的。所以这里就来三步教会大家搭建一个 tomcat 源码运行环境,让大家打开深入了解 tomcat 的大门,迈向人生的巅峰~~~下载源代码想要构建源代码,当然需要下载源代码啦。我这里用的是8.5.50 大家

2020-06-29 12:15:30

一文读懂 spring MVC 请求处理流程(您值得拥有)

引言springmvc 在web 项目中基本上是必用的,基于servlet的一种控制层框架,我们在使用的过程中往往会碰到各种问题,有时候还没有思绪解决问题,主要是因为我们对请求处理的流程不熟悉,不能快速定位都问题所在,所以总会耗费大量时间,各种百度才解决问题。如果你也有这样的困惑,不妨一起来看下springmvc 的请求处理流程。让我们能够快速定位问题。学习本场 Chat 您将了解到:DispatcherServlet 九大对象介绍DispatcherServlet 核心方法分析request

2020-06-23 10:20:17

绝对值得你收藏的 spring 笔记

spring概述spring 优势1、低耦合高内聚2、AOP编程支持3、声明式事物支持4、支持测试5、方便继承其他优秀框架核心结构spring的核心容器 就是最下面的core,context,Bean 。为上层架构提供服务。AOP 是利用动态代理实现的面向切面编程,用来抽取不同业务中相同的代码,减少代码重复和降低程序见的耦合度。JDBC 封装的对数据库的操作,和可以轻易整合ORM框架,并且提供对数据库事物的声明试管理。WEB 容器主要是 封装Servlet,并且可以轻易的整合Spri

2020-06-06 16:11:01

天哪!手动编写mybatis雏形竟然长这样

前言mybaits 在ORM 框架中,可算是半壁江山了,由于它是轻量级,半自动加载,灵活性和易拓展性。深受广大公司的喜爱,所以我们程序开发也离不开mybatis 。但是我们有对mabtis 源码进行研究吗?或者想看但是不知道怎么看的苦恼吗?归根结底,我们还是需要知道为什么会有mybatis ,mybatis 解决了什么问题?想要知道mybatis 解决了什么问题,就要知道传统的JDBC 操作存在哪些痛点才促使mybatis 的诞生。我们带着这些疑问,再来一步步学习吧。原始JDBC 存在的问题所

2020-05-25 19:12:29

面试不是无情物,参数注解知多少?

前言前两天面试的,面试官问我用在参数上的注解有哪些?我想了一下说有RequestParm,每个参数都需要RequestParm修饰,可以设置required 等于false,表示该字段非必传。面试官:还有呢?我:只知道这么多了,RequestParam 注解用的比较多,其他的没怎么用?面试官:好了,今天的面试就到这,后续有消息会通知你。挂掉电话我:???结束调面试后,好好的看了下用在参数上的注解。用在参数上的注解,主要是controller 层,用来接收请求中的参数。常用的有三种@Re

2020-05-08 18:10:36

cannot create temp file for here-document: No space left on device

前言买了一个云服务器,部署了一个项目上面,然后过了两个月没有管他,今天兴致来了上去看看,当我想要用tab 键获取提示时就报这种错。什么鬼tab 键不能用了?网上搜了一下,发现竟然是磁盘空间满了导致的。发现使用下面命令看下df -h发现我50g 的磁盘空间竟然满了,那个文件夹下占用了那么多磁盘空间呢?我接着用下面命令查下du -sh /*发现root 目录下占了42g 肯定...

2020-05-07 16:39:40

emoji-java 用来表情转换,你会用了吗?

前言今天项目中遇到一个需求,APP的问题上报和意见反馈提意见的时候,需要支持表情。前端没什么,但是如果存入到mysql 就会报错了。导致的原因是,Emoji表情占用4个字节,但是MySQL数据库UTF-8编码最多只能存储3个字节。所以存储就会报错。想要解决上面的问题,可以修改mysql 的编码格式,这里就不建议了,大部分的还是3个字节的utf-8的编码。如果直接改成4个字节的编号,会造成资源浪...

2020-05-06 17:51:07

手撸一个自定义starter,它不香吗

前言springboot 中有很多的starter 。我们用起来很爽不是吗,之所以这么爽难道不是因为我们少了很多配置吗,之前我们想要使用jdbcTemplete 是不是需要在xml 文件中配置bean 后才能使用。有被xml 一推配置支配的工具吗?为了解救从多处于水深火热的程序猿们,springboot 横空出世,带着starter 的利刃来普度我们了。我们在心怀感激的同时,是不是也得有一...

2020-04-26 12:11:57

主线程等待所有子线程执行完后执行

前言前段时间一直在做数据同步的工作,就涉及到数据量比较大,采用多线程来同步,但是地市又没有分表。将一下场景吧。假设一共有10张表数据要同步,每张表包含10个地市,每张表需要这10个地市的数据都同步完了,然后统一进行一次处理。开始设想的是,只为每张表启动一个线程,然后这一个线程直接跑完所有地市。结果发现效果很差,同步一次需要大概半小时左右才能将数据同步完,所以就想着改进,给每个张表分配一个主线...

2020-04-09 13:49:48

webService 实战篇--客户端调用

前言好久都没有使用webservice 进行接口联调了,今天需要一个和第三方的webservice 接口进行联调。整体是很简单的。记录一些坑。wsdl首先由于测试环境网络不互通,对方提供的开始提供的wsdl 死活不能解析成功,后来找他们算账,是他们提供的wsdl 文件格式有问题。我们这里提供最终的wsdl 文件吧<?xml version="1.0" encoding="UTF-8...

2020-04-02 16:45:50

springboot 升级依赖的第三方jar包

前言我们在实际工作中往往会遇到这样的问题,我们项目依赖的一些jar 包升级了,修复了一些漏洞,为了安全考虑,我们也需要进行升级,通常来说,我们不会深度的用到依赖的jar 包,所以升级一个小版本直接替换就完事了。但是Springboot项目滨改没有我们想的那么简单。打包方式首先还得从打包方式说起,我们使用的打包方式不是直接将将依赖的jar 和配置文件都打在可运行的jar 中。我们打包方式如下...

2020-04-02 15:09:06

多线程处理大数据问题

前言这两天公司要求也一个工具,对27类资源进行计算,看这个资源属于哪一个网格。一个资源的数据量大概是1万左右。然后网格的数据大概在5000.也就是说每种资源的每条数据都要个这5000多条的网格进行匹配,正常的话,一条数据找到对应的网格需要1分钟。但是要求整个一晚上跑完。所以就做了如下调整。每天定时任务执行一次。获取网格信息和27类资源信息。然后27类资源分别27个线程处理。然后每个资源中...

2020-03-23 17:40:17

如何使用 Springboot 爬取页面信息?

前言捣鼓了两天,总算是做了demo 啦。整体思路如下:可以看到整体思路还是比较简单的,真机IP访问的话,很容易被限制,所以增加代理访问。主要就是三步走,1将url 存入到url 缓存池中。2 将代理信息存入到代理池中,3.分别从url缓存池和代理池中取出一个进行爬取页面,并将页面数据解析出来。下面来仔细看看如何实现的吧。代理相关代理的信息可以从如下两个地址中获取。https://raw...

2020-03-13 11:56:50

困扰我两天的问题(nginx配置好ssl证书,https却不能访问)

前言还得这个问题说起。我买了服务器、域名、和申请的证书。什么都配置好之后,但是https 无法正常访问。http 可以正常访问。详细问题地址:腾讯云配置了ssl 证书,浏览器却无法访问?分析这个问题折磨了我整整两天,我将nginx 配置换了一遍有一遍,确认配置是没有错的,都是从安装指导上copy 下来的。并且telnet 443 端口也可以通。所以觉得没有问题。然后怀疑是证书的问题,...

2020-03-05 11:55:54

升级nginx ,为nginx配置https证书

前言买了服务器和域名后真的是为所欲为,发现自己的网站总是提示不安全,所以就想着要弄一个证书。刚好腾讯云上有免费申请的证书,所以就弄了一个。申请证书我的证书是在腾讯云上申请的,很快也很方便中,具体怎么操作,就不说了。申请好之后下载。解压后获取如下文件升级nginx我发现我服务器上的nginx 上次竟然安装的是1.6.2 版本太低了,不支持ssl.支持ssl 需要nginx 1.10....

2020-03-04 10:57:33

将个人博客迁移到云服务器上

前言之前通过github 和coding 来搭建的个人博客,但是搜索引擎一直不是很好,并且总感觉不稳定,访问很慢。最近刚刚买了一个云服务器,所以就打算将个人博客迁移到云服务器上。服务器环境准备我们登录云服务器,主要做一些准备工作。安装gityum install git创建git 用户这里我们需要创建一个git 用户来做服务器库。方便我们本地将文件推送到服务器库。adduser ...

2020-02-26 21:06:08

kafka也没那么难--kafka的安装与简单使用

前言前短时间在腾讯云上买了一个linux 服务器,决心把kafka这一模快的知识补充起来啦。所以就搞起来。安装安装算是比较简单的,可以直接用wget 下载,也可以将安装包下载下来,上传到服务器上,都是一样的。kafka 安装包网址:http://mirror.bit.edu.cn/apache/kafka我选择的版本2.4.0:wget http://mirror.bit.edu....

2020-02-25 18:09:30

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享精英
    分享精英
    成功上传11个资源即可获取