通往精英的成长之路

张晗—致力成为优秀架构师
私信 关注
当年的春天
码龄7年

6年Java互联网研发经验,坐标北京;擅长微服务和中间件。

  • 5,801,840
    被访问量
  • 310
    原创文章
  • 175
    作者排名
  • 23,456
    粉丝数量
  • 目前就职 阿里巴巴_高德
  • 于 2013-11-13 加入CSDN
获得成就
  • 博客专家认证
  • 获得3,238次点赞
  • 内容获得7,076次评论
  • 获得3,337次收藏
荣誉勋章
兴趣领域
  • #后端
    #Spring Boot#架构#Spring#MySQL#分布式#Java#Linux#Redis
TA的专栏
  • 从零学ELK系列
    付费
    11篇
  • 灰度实战
    6篇
  • SpringBoot实战
    17篇
  • Redis实战
    10篇
  • Nginx进阶
    6篇
  • SQLServer进阶
    8篇
  • 工具之全栈工程师之路
    16篇
  • JF收费系统
    11篇
  • ● 专业必备
    20篇
  • 【Computer Basis】
    12篇
  • 【Network】
    8篇
  • ● 前端实践
    6篇
  • 【Html】
    2篇
  • 【CSS+DIV】
    1篇
  • 【JS-JQuery-Ajax】
    3篇
  • ● 编程语言
    50篇
  • 【.Net】
    3篇
  • 【Java】
    39篇
  • 【Python】
    1篇
  • ● Data Base
    34篇
  • 【SQLServer】
    9篇
  • 【MySQL】
    6篇
  • 【MongoDB】
    1篇
  • 【Redis】
    14篇
  • 【OSS】
    1篇
  • ● 运维探索
    35篇
  • 【Linux】
    13篇
  • 【Tool】
    14篇
  • ● 架构之路
    29篇
  • 【UML】
    1篇
  • 【Design Pattern】
    4篇
  • 【Nginx】
    12篇
  • 【MQ】
  • 【Distributed】
    1篇
  • 【Multithreading】
    1篇
  • 【Streaming Media】
    1篇
  • 【Microservice】
    8篇
  • 【监控平台Cat】
    2篇
  • ●【项目实战】
    88篇
  • 【评审系统】
    1篇
  • 【SCPPO】
    31篇
  • 【智能一代云平台】
    38篇
  • 【Cash Loan】
    6篇
  • ● 成长之旅
    67篇
  • 【Examination】
    16篇
  • 【English】
    30篇
  • 【一路书香】
    5篇
  • 【思考总结】
    16篇
我的主页

6年Java互联网研发经验,坐标北京;擅长微服务和中间件。


我的GitHub

https://github.com/dangnianchuntian


个人技术主页

https://zhanghan.xin


人工智能推荐

http://www.captainbed.net/zhanghan


阿里巴巴技能认证证书


微信扫码关注小程序,精品文章同步推送


微信扫码关注公众号,精品文章同步推送

  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅
  • 小店

GitHub图片加载不出来解决方案(超详细图文教程)

GitHub图片加载不出来解决方案(超详细图文教程)前言最近在访问GitHub时发现所有涉及到图片都加载失败,使人感觉极度不适;不将就是发现的源动力;有了之前《WordPress网站访问慢解决方案(超详细图文教程)》经验这次解决起来就顺利许多,下面是解决方案。优化前:所有图片类型文件加载失败优化后:所有图片类型文件正常加载学完本教程你能得到什么排查网站加载资源失败解决思路使用软件获取网页数据进行格式化处理一颗不断探索的心一套可实时可落地的解决问题的套路解决方案流程图
原创
3300阅读
10评论
18点赞
发布博客于 2 月前

GitHub中文排行榜,帮助你发现高分优秀中文项目(二)-Java

榜单设立目的???????? GitHub中文排行榜,帮助你发现高分优秀中文项目;各位开发者伙伴可以更高效地吸收国人的优秀经验、成果;中文项目只能满足阶段性的需求,想要有进一步提升,还请多花时间学习高分神级英文项目;榜单设立范围设立1个总榜(所有语言项目汇总排名)、18个分榜(单个语言项目排名);榜单入选规则一个小小的要求:项目的 Description 和 README.md 都要包含中文说明;更新越持续越好:最近半年内有更新过的项目才有机会入选(拥抱活跃,远离僵尸);Star
转载
1132阅读
0评论
7点赞
发布博客于 3 月前

Centos7安装Docker(二进制)

前言最近在私有云部署一套自动化运维平台;其中k8s是重头戏,安装k8s之前需要先安装docker,之前博文中有讲如何通过yum方式安装docker《从零学ELK系列(三):Centos安装Docker(超详细图文教程)》,现在用二进制方式安装一次docker,在此记录docker架构图安装过程基本环境CentOS版本 7.9.2009Docker版本 18.06.3-ce安装docker官网包下载地址https://download.docker.com/linux
原创
514阅读
2评论
6点赞
发布博客于 3 月前

CentOS二进制安装Kubernetes

前言最近在私有云部署一套自动化运维平台;其中k8s是重头戏,这篇文章为大家分享一下二进制安装方式k8s架构图安装过程基本环境CentOS版本 7.9.2009Etcd 版本3.4.14Dockerk8s版本 1.17.16kube-apiserver服务安装下载并解压cd /softwget https://dl.k8s.io/v1.20.0/kubernetes-server-linux-amd64.tar.gztar -zxvf kubernete
原创
5084阅读
11评论
7点赞
发布博客于 3 月前

BIRD is not ready: BGP not established

前言最近在私有云部署一套环境;安装完k8s后遇到网络不通问题,通过查找记录问题解决方案;在此记录方便大家参考;问题及解决方案基本环境CentOS版本 7.9.2009k8s版本 1.17.16k8s安装方式 kuboard问题在虚拟主机ping不通pod的ip;pod之间也访问不到排查思路查看pod的运行情况(其中calico模块 Ready状态为0/1说明有问题)kubectl get pod -n kube-system -o wide查看cal
原创
2852阅读
4评论
5点赞
发布博客于 3 月前

CentOS安装Etcd

前言最近在私有云部署一套自动化运维平台;在安装k8s的时候需要用Etcd做为存储因此在CentOS安装Etcd在此记录安装过程,以后安装时做为参考安装过程基本环境CentOS版本 7.9.2009Etcd 版本3.4.14安装etcd下载并解压cd /softwget https://github.com/etcd-io/etcd/releases/download/v3.4.14/etcd-v3.4.14-linux-amd64.tar.gztar -zx
原创
423阅读
0评论
5点赞
发布博客于 3 月前

CentOS安装Nginx

前言最近在私有云部署一套环境;正好借此机会又将相关的基础组件进行了安装,再次记录一下;以后再次安装做为参考;Nginx在七层代理领域仍是霸主;自定义安装目录;方便以后运维管理安装过程基本环境CentOS版本 7.9.2009Nginx版本1.18.0JDK安装目录 /soft安装安装Nginx基础环境yum install gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-deve
原创
2609阅读
7评论
8点赞
发布博客于 3 月前

k8s常用命令

前言最近公司在运维方面引入k8s利器,搭建自动化发布平台:开发提交代码gitlab钩子触发打镜像私有镜像仓库(harbor)触发k8s部署;自己有幸能参加到这套自动化运维平台搭建过程中,其中自己针对k8s进行系统学习,在学习以及搭建排错的过程中经常用到一些常用命令,本篇博文针对常用命令进行记录;常用命令查看所有结点kubectl get nodes查看所有的命名空间kubectl get namespaces查看所有podskubectl get pods
原创
506阅读
1评论
5点赞
发布博客于 3 月前

CentOS安装JDK

前言最近在私有云部署一套环境;正好借此机会又将相关的基础组件进行了安装,再次记录一下;以后再次安装做为参考;JDK是安装很多基础组件需要一个基本环境;自定义安装目录;方便以后运维管理安装过程基本环境CentOS版本 7.9.2009JDK版本 1.8.0_271JDK安装目录 /soft卸载CentOS自带OpenJDK检查是否为OpenJDK命令(结果中有OpenJDK 字样说明为CentOS自带OpenJDK,需卸载)rpm -qa|grep java
原创
449阅读
0评论
7点赞
发布博客于 3 月前

内存溢出+CPU占用过高:问题排查+解决方案+复盘(超详细分析教程)

前言最近刚上线了一款社交项目,运行十多天后(运营持续每天推量),发现问题:系统OOM(资源不能被释放)导致服务器频繁且长时间FGC导致服务器CPU持续飚高日志中内存溢出:java.lang.OutOfMemoryError: Java heap space程序十分卡顿,严重影响用户使用从以下方面,为大家分享此次问题解决流程问题出现现象临时解决方案复现问题定位问题发生原因优化代码优化后进行压测,上线复盘学完本博文,你的收获排查内存溢出的思路排查内存溢出过程中用到的命
原创
7683阅读
32评论
116点赞
发布博客于 5 月前

WordPress网站访问慢解决方案(超详细图文教程)

前言之前自己搭建一个WordPress个人网站:https://zhanghan.xin;最近发现访问比较慢,于是乎进行了排查,下面是优化的方案。优化前:加载耗时:21秒+优化后:加载耗时:250毫秒优化后访问速度提升84倍+解决方案流程图流程图问题&解决方案&验证定位问题(加载一个CSS超时)解决步骤下载访问超时的CSS(Google浏览器中F12中可以找到加载CSS地址)并保存到本地(用可以连上google网络)https:/
原创
45353阅读
17评论
22点赞
发布博客于 6 月前

深度系列好文

404
发布Blink于 6 月前

从零学ELK系列(十一):SpringBoot项目接入ELK超级版(超详细图文教程)

前言之前在《从零学ELK系列(十):SpringBoot项目接入ELK升级版(超详细图文教程)》中演示了SpringBoot项目接入ELK请求记录及优化,本次针对于未知异常通过拦截进行记录;优化前:系统发生异常没有记录异常信息优化后:记录本次请求的异常信息目录从零学ELK系列(一):为什么要跟我学从零学ELK系列从零学ELK系列(二):VMware安装Centos(超详细图文教程)从零学ELK系列(三):Centos安装Docker(超详细图文教程)从零学ELK系列(四):
原创
2831阅读
7评论
21点赞
发布博客于 6 月前

阿里云个人网站免费绑定SSL证书(超详细图文教程)

前言一年前搭建了个人网站,由于个人小程序绑定必须需要绑定HTTPS,于是乎绑定了SSL证书,最近阿里云一直在提醒SSL证书一年到期,提示续费;SSL证书续费几千,于是乎查找方案,阿里云提供个人免费SSL证书;一番操作后绑定成功;在此记录一下详细的步骤阿里云绑定SSL证书整体流程整体流程超详细图文步骤阿里云网页控制台操作阿里云控制台->进入SSL证书管理界面->选定域名 点击续费立即购买去支付支付前往证书控制台证书申请填
原创
1360阅读
0评论
9点赞
发布博客于 7 月前

从零学ELK系列(十):SpringBoot项目接入ELK升级版(超详细图文教程)

从零学ELK系列(十):SpringBoot项目接入ELK升级版(超详细图文教程)前言之前在《从零学ELK系列(八):SpringBoot项目接入ELK(超详细图文教程)》中演示了SpringBoot项目接入ELK,后来项目中对这部分进行了优化,之前博文中也有读者问到,将优化整理成博文和大家共享;优化前:一次请求记录两条日志(request一条,response一条),通过UUID传连起来优化后:一次请求记录一条日志(request信息与response信息都在一起)目录从零
原创
2477阅读
4评论
11点赞
发布博客于 7 月前

SpringBoot实战(十八):签到奖励实现方案

前言最近在做社交业务,用户进入APP后有签到功能,签到成功后获取相应的奖励:项目状况:前期尝试业务阶段;特点:快速实现(不需要做太重,满足初期推广运营即可)快速投入市场去运营用户签到:用户在每次启动时查询签到记录(规则:连续7日签到从0开始,签到过程中有断签从0开始)如果今日未签到则提示用户可以进行签到用户签到获取相应的奖励提到签到,脑海中首先浮现特点:需要记录每位用户每天的签到情况查询时根据规则进行签到记录情况需求&流程设计&技术实现方案需求
原创
5213阅读
1评论
16点赞
发布博客于 7 月前

SpringBoot实战(十七):Redis Pipeline 轻松实现百倍性能提升(续)

Spring Boot实战:Redis批量操作轻松实现百倍性能提升前言最近在做业务的时候,需要批量操作Redis,虽然Redis的速度非常快,但是for循环操作Redis还是会有问题,在之前的基础上又对批量操作Redis进行了汇总;批量操作Redis:批量Set批量Get批量Set且设置过期时间批量Delete批量操作效果&技术实现方案之前本地测试操作100个Key值,批量操作是单个操作的快122倍(《SpringBoot实战(六):Redis Pipeline 轻松实
原创
3345阅读
5评论
17点赞
发布博客于 7 月前
从零学ELK系列(一):为什么要跟我学从零学ELK系列
发布Blink于 7 月前

点赞

Spring Boot实战分页查询附近的人: Redis+GeoHash+Lua
发布Blink于 8 月前

Spring Boot实战分页查询附近的人: Redis+GeoHash+Lua

前言最近在做社交的业务,用户进入首页后需要查询附近的人;项目状况:前期尝试业务阶段;特点:快速实现(不需要做太重,满足初期推广运营即可)快速投入市场去运营收集用户的经纬度:用户在每次启动时将当前的地理位置(经度,维度)上报给后台提到附近的人,脑海中首先浮现特点:需要记录每位用户的经纬度查询当前用户附近的人,搜索在N公里内用户架构设计时序图技术实现方案SpringBootRedis(version>=3.2)Redis原生命令实现存入用
原创
1636阅读
10评论
9点赞
发布博客于 8 月前

点赞

Spring Boot实战解决高并发数据入库: Redis 缓存+MySQL 批量入库
发布Blink于 6 月前

Spring Boot实战解决高并发数据入库: Redis 缓存+MySQL 批量入库

前言最近在做阅读类的业务,需要记录用户的PV,UV;项目状况:前期尝试业务阶段;特点:快速实现(不需要做太重,满足初期推广运营即可)快速投入市场去运营收集用户的原始数据,三要素:谁在什么时间阅读哪篇文章提到PV,UV脑海中首先浮现特点:需要考虑性能(每个客户每打开一篇文章进行记录)允许数据有较小误差(少部分数据丢失)架构设计架构图:时序图记录基础数据MySQL表结构CREATE TABLE `zh_article_count` ( `id`
原创
4998阅读
6评论
18点赞
发布博客于 8 月前
根据某个特定字符删除一行
发布Blink于 9 月前

根据某个特定字符删除一行

前言最近接了几个新项目的需求,为了快速开发,我们的策略是:基于原来的一套维定项目代码及数据库基础,去开发新的项目,一般步骤如下:在原来的代码git基础上拉出一个新的git项目地址修改代码的项目名称,代码目录结构将原来项目对应的生产库导出表结构形成脚本建立新项目的数据库将原来表结构脚本导入新项目的数据库为了降低风险,我们执行的脚本中不能包含DROP TABLE 语句(防止运维在线上执行时误操作在其他库上执行);如何根据某个特定字符删除一行前置说明MySQL客户端操作工具-Na
原创
1054阅读
2评论
6点赞
发布博客于 9 月前
别让算法和数据结构拖你职业生涯的后腿
发布Blink于 10 月前

别让算法和数据结构拖你职业生涯的后腿

IT行业一直流传着一句名言,“程序设计=算法+数据结构”,这是瑞士计算机科学家Niklaus Wirth于1976年出版的一本书的书名,那么数据结构与算法在程序开发中的重要性也就不言而喻了。还记得刚上大学开始学习数据结构的时候,偶然听到一位编程大佬说数据结构其实是计算机专业基础课里最难的一门,我内心是不认可的,然而后来接触更深入时我才发现是我太年轻,并且也没有意识到它的重要性。 如果说你要修一座房子,那么数据结构就是你的地基,地基不稳,如何建造高楼大厦?数据结构的一般定义是...
原创
2565阅读
1评论
10点赞
发布博客于 10 月前

配色工具包---非常齐全的色彩

该工具是配色工具包,其中涵盖所有常见的颜色,有助于快速定位颜色;非常的方便实用;对于前端开发非常的有帮助;大家可以下载去体验;非常小巧灵活但是功能强大;
zip
发布资源于 1 年前
Git撤销之世上真有后悔药
发布Blink于 1 年前

Git撤销之世上真有后悔药

前言大家在代码提交的时候有时会遇到过如下情况:错误将一些Demo代码误提交分支合并错误提交有冲突代码…这时需要有颗后悔药来拯救;世上真的有后悔药吗?下面我们一起来吃次后悔药撤销之来吃颗后悔药前置说明演示所用的Git服务端:码云目标:在reset分支上撤销之前N次提交撤销步骤把代码clone到本地仓库git clone https://g...
原创
8512阅读
23评论
64点赞
发布博客于 1 年前
从零学ELK系列(九):Nginx接入ELK(超详细图文教程)
发布Blink于 1 年前

从零学ELK系列(九):Nginx接入ELK(超详细图文教程)

【前言】 在前几篇博文中将ELK+Filebeat收集SpringBoot项目日志搭建完毕,本次我们将展示如何将Nginx接入我们搭建的日志系统,把步骤记录下来,一是方便自己以后安装,二是可以为大家做参考共享。【一句总结一张架构图】 一、一句话总结学完本篇博文,你将学到什么? Nginx接入ELK+Filebeat收集系统,K...
原创
2489阅读
1评论
9点赞
发布博客于 1 年前
从零学ELK系列(一):为什么要跟我学从零学ELK系列
发布Blink于 2 年前

从零学ELK系列(一):为什么要跟我学从零学ELK系列

【前言】 网上写ELK日志收集系统,项目集成ELK,Docker,本地安装虚拟机这些孤立技术点文章汗牛充栋;但是很少有文章能即生动又能结合场景的从零一步一步搭建一套生产级日志收集系统并将生产项目集成日志收集系统的方案; 机缘巧合,本人负责研究公司ELK日志收集系统,并成功将其引入到公司生产级项目中;经过多个版本的迭代升级优化目前已处于稳定状态。【从零学EL...
原创
5885阅读
12评论
52点赞
发布博客于 2 年前

从零学ELK系列(八):SpringBoot项目接入ELK(超详细图文教程)

【前言】 在前几篇博文中将ELK+Filebeat日志收集系统搭建完毕,本次我们将展示如何将SpringBoot接入我们搭建的日志系统,把步骤记录下来,一是方便自己以后安装,二是可以为大家做参考共享。【一句总结一张架构图】 一、一句话总结学完本篇博文,你将学到什么? SpringBoot项目接入ELK+Filebeat收集系统...
原创
4275阅读
1评论
10点赞
发布博客于 2 年前

从零学ELK系列(七):Centos安装Filebeat(超详细图文教程)

【前言】 为了更加真实的模拟生产部署环境,在上次的Docker环境中(《Docker安装Logstash(超详细图文教程)》)中安装了Logstash,本次我们将安装日志收集组件---Filebeat把步骤记录下来,一是方便自己以后安装,二是可以为大家做参考共享。【一句总结一张架构图】 一、一句话总结学完本篇博文,你将学到什么? ...
原创
3264阅读
8评论
8点赞
发布博客于 2 年前

从零学ELK系列(六):Docker安装Logstash(超详细图文教程)

【前言】 为了更加真实的模拟生产部署环境,在上次的Docker环境中(《Docker安装kibana(超详细图文教程)》)中安装了kibana,本次我们将安装日志清洗组件---logstash把步骤记录下来,一是方便自己以后安装,二是可以为大家做参考共享。【一句总结一张架构图】 一、一句话总结学完本篇博文,你将学到什么? Do...
原创
4951阅读
8评论
8点赞
发布博客于 2 年前

从零学ELK系列(五):Docker安装kibana(超详细图文教程)

【前言】 为了更加真实的模拟生产部署环境,在上次的Docker环境中(《Docker安装Elasticsearch(超详细图文教程)》)中安装了Elasticsearch,本次我们将安装Elasticsearch可视化组件---kibana把步骤记录下来,一是方便自己以后安装,二是可以为大家做参考共享。【一句总结一张架构图】 一、一句话总结学完本篇博文,你将...
原创
2804阅读
3评论
10点赞
发布博客于 2 年前

从零学ELK系列(四):Docker安装Elasticsearch(超详细图文教程)

【前言】 为了更加真实的模拟生产部署环境,在上次的Docker环境中(《Centos安装Docker(超详细图文教程)》)中安装了Elasticsearch把步骤记录下来,一是方便自己以后安装,二是可以为大家做参考共享。【一句总结一张架构图】 一、一句话总结学完本篇博文,你将学到什么? Docker安装Elasticsearc...
原创
2417阅读
3评论
13点赞
发布博客于 2 年前
Centos安装Docker(超详细图文教程)
发布Blink于 2 年前

从零学ELK系列(三):Centos安装Docker(超详细图文教程)

【前言】 为了更加真实的模拟生产部署环境,不仅需要Linux环境支持,而且ELK需要在不同的机器上部署;再重新装几台虚拟机?本地资源不支持,于是乎想到了Docker;今天在上次的Linux系统(《VMware安装Centos(超详细图文教程)》)中安装了Docker环境把步骤记录下来,一是方便自己以后安装,二是可以为大家做参考共享。【一句总结一张架构图】 一...
原创
1728阅读
0评论
11点赞
发布博客于 2 年前
VMware安装Centos(超详细图文教程)
发布Blink于 2 年前

从零学ELK系列(二):VMware安装Centos(超详细图文教程)

【前言】 最近在研究ELK日志收集架构,想搭一套环境收集自己项目的日志;需要Linux环境支持,自己在阿里云的服务器由于部署了自己的自有博客系统(https://zhanghan.xin),资源不充足;没有环境创造环境也要研究;于是乎想到自己在五年前玩的在Windows中通过虚拟机运行Linux环境; 今天再次安装了环境把步骤记录下来,一是方便自己以后安装,二是可...
原创
1986阅读
1评论
10点赞
发布博客于 2 年前
监控平台技术调研
发布Blink于 2 年前
logback 日志输出格式
发布Blink于 2 年前
灰度实战(五):SpringCloud灰度(1)
发布Blink于 2 年前
Java线上排错---反编译文件
发布Blink于 2 年前
SpringBoot实战(八):集成Swagger
发布Blink于 2 年前
Java线上排错---反编译文件
发布Blink于 2 年前

Java线上排错---反编译文件

【前言】 有时候经常会遇到一些诡异的问题:明明在本地运行代码没有问题,服务器代码和本地一样,请求的参数和所连接的数据源都一样为啥服务器上不行那? 如果在测试环境我们可以进行远程调试(参考《idea远程调试》),但是线上应该如何排查? 博主遇到很多次这种情况,最后确定都是由于服务器上代码并没有更新导致的,没有更新原因有很多种比如:运维的部署脚...
原创
1068阅读
5评论
11点赞
发布博客于 2 年前

Redis监控利器---Redis State

【前言】 在之前的博文《Redis百万级别数据迁移》中分享我们系统为降低服务器成本,从亚马逊云迁至阿里云的一次生产迁移过程中Redis部分迁移;去年迁移Redis时数据量500w+;最近在研究如何监控Redis的性能,Redis的Key命中率如何那?皇天不负有心人,找到一款Redis监控神器---Redis State;【Redis监控神神器】 一、本地运行...
原创
842阅读
0评论
8点赞
发布博客于 2 年前
Redis实现计数器---接口防刷
发布Blink于 2 年前
Redis实现计数器---接口防刷---升级版(Redis+Lua)
发布Blink于 2 年前

紧跟时代步伐

发布Blink于 2 年前

紧跟时代步伐

发布Blink于 2 年前
SpringBoot实战(五):配置健康检查与监控
发布Blink于 2 年前
idea远程调试
发布Blink于 2 年前

1024

发布Blink于 2 年前

SpringBoot实战(十六):集成Skywalking调用链监控系统

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 Skywalking做为生产级的调用链监控工具,不仅提供了丰富的监控系统,而且通过字节码拦截形式集成系统,对系统没有任何侵入性;最近研究一下调用链项目,在此与大家共享;【集成调用链】 一、Skywalking的github项目地址: ...
原创
15749阅读
2评论
12点赞
发布博客于 2 年前

如图所示

发布Blink于 2 年前

看图识人生

发布Blink于 2 年前

AI核心代码,估值一个亿!

发布Blink于 2 年前

史上最牛的前端代码,没有之一

发布Blink于 2 年前

SpringBoot实战(十五):Spring Boot Admin 集成告警模块

【前言】 Spring Boot Admin做为生产级的监控工具,必然自动化告警必不可少;Spring Boot Admin可以十分简单的集成告警组件;最近研究一下集成邮件告警到项目中,在此与大家共享;【集成告警模块】 一、集成告警模块(在此以邮件告警为...
原创
3510阅读
0评论
8点赞
发布博客于 2 年前

SpringBoot实战(十四):Spring Boot Admin 集成安全模块

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 Spring Boot Admin做为生产级的监控工具,必然不能随便让人去操作以免误操作导致线上问题,所以有必要集成Security组件;Spring Boot Admin可以十分简单的集成这安全组件;已集成项目中,在此与大家共享;【集成安全模块】 ...
原创
1510阅读
0评论
8点赞
发布博客于 2 年前

我的微信公众号,关注查看更多精美博文

发布Blink于 2 年前

我的微信小程序

发布Blink于 2 年前

SpringBoot实战(十三):Spring Boot Admin 动态修改日志级别

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性能同时又能在出现问题时打印详细的信息来快速定位问题;最近研究一下Spring Boot Admin中动态日志级别调整,并集成项目中,在此与大家共享;【动态修改日志级别】 ...
原创
3222阅读
3评论
9点赞
发布博客于 2 年前

SpringBoot实战(十二):集成 Spring Boot Admin 监控

【前言】 程序开发完实现相应的功能只是一个部分,如何让系统在线上运行更好创造更高的价值是另外一个部分;监控是一个生产级项目避不可少重要组成部分;最近研究一下针对SpringBoot的监控项目---Spring Boot Admin,并集成项目中,在此与大家共享;【Sprin...
原创
2920阅读
4评论
9点赞
发布博客于 2 年前

logback 日志输出格式

【前言】 日志对一个系统的重要性不言而喻;日志通常是在排查问题时给人看,一个友好的输出样式让人看到后赏心悦目,排查效率通常也会随之提高;下面为大家共享一下通过设置logback日志输出格式,打印出令人欣喜的日志样式。【搞一下日志格式】 一、未指定日志格...
原创
3250阅读
1评论
9点赞
发布博客于 2 年前

Required request body is missing

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近对代码进行统一日志处理,通过拦截器,打印请求日志,方便排查问题,通过拦截器取参数后遇到一个问题:Required request body is missing;在进行了相关实验后最终解决此问题。【解决问题】 一、问题复现 ...
原创
8220阅读
4评论
17点赞
发布博客于 2 年前

BigDecimal 校验格式

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近收到一个需求,在管理后台对系统中的金额进行操作时,对操作的金额需要进行相关校验,如果不校验,在进行相关的计算时就可能会出问题。【BigDecimal 校验格式】 一、业务需求 前端接收到金额传给后端时需要对金...
原创
9729阅读
2评论
9点赞
发布博客于 2 年前

BigDecimal 转 String

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近遇到一个需求,是给用户发送带钱的短信,本来自己以为挺简单,很快可以搞定,不过在实现的时候遇到一些小问题,自己辗转查和实验最终解决该问题,在此记录一下。【BigDecimal如何转成String】 一、业务需求 ...
原创
9694阅读
0评论
7点赞
发布博客于 2 年前

5G改变我们生活

 
发布Blink于 2 年前

申请CSDN博客专家认证成功

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 今天成功通过博客专家认证,圆了自己一个梦想;感谢CSDN官方对我的博文认可,感谢老师,亲朋好友的帮助与支持;你们的肯定更是对我的激励与鞭策。【认证过程】 一、记录我的博客专家认证 截止2019年7月23日在CSDN...
原创
3648阅读
15评论
18点赞
发布博客于 2 年前

灰度实战(六):SpringCloud灰度(2)

【前言】 在上篇博文中《灰度实战(五):SpringCloud灰度(1)》讲解了SpringCloud项目的灰度实战,其中在zuul中拦截到是灰度请求时采用重定向再次请求网关然后分发至灰度服务,在本篇将zuul针对灰度请求分发策略进行优化,由重定向优化为直接转发提高性能。【SpringCloud灰度实战】 一、项目简介 ...
原创
1167阅读
0评论
9点赞
发布博客于 2 年前

灰度实战(五):SpringCloud灰度(1)

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 在上四篇博文中讲解了Apollo如何动态配置,以及Apollo的对灰度发布支持;在本篇博文中为大家带来我们项目(Spring Cloud)的灰度实战。【SpringCloud灰度实战】 一、项目简介 1、项目目录...
原创
2110阅读
0评论
9点赞
发布博客于 2 年前

灰度实战(四):Apollo配置中心(4)

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 在上一篇博文《灰度实战(三):Apollo配置中心(3)》中讲解了Apollo如何动态更改程序中连接第三方中间件连接池,在本篇博文中为大家带来如何通过Apollo实现灰度配置。【灰度配置演示】 一、环境准备 1、...
原创
751阅读
1评论
7点赞
发布博客于 2 年前

灰度实战(三):Apollo配置中心(3)

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 在上一篇博文《灰度实战(二):Apollo配置中心(2)》中讲解了Apollo如何动态更改程序中通过@value配置值,在本篇博文中为大家带来如何通过Apollo动态更新程序和中间件的连接。【实时推送演示】 一、程序和第三方组件连接动态更改(在...
原创
903阅读
2评论
9点赞
发布博客于 2 年前

灰度实战(二):Apollo配置中心(2)

【前言】 在上一篇博文《灰度实战(一):Apollo配置中心(1)》中讲解了如何搭建Apollo以及创建配置文件,在本篇博文中为大家带来程序如何通过Apollo读取配置文件,以及配置中心一大亮点---配置修改后实时推送到应用端。【实时推送演示】 一、程序连接Apollo配置1、在项目pom中增加Apollo客户端依赖...
原创
970阅读
0评论
7点赞
发布博客于 2 年前

灰度实战(一):Apollo配置中心(1)

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 业务由原来一个国家扩展成多个国家,自己维护的消息平台做了些改造来支持多国家的需求;随着接入的国家越来越多,消息平台版本更新时,如果由于线上环境出问题影响的范围也越来越大;降低发布风险,灰度发布显然是个很好的解决方案;在接下来的灰度实战系列将分享一下我们采用的灰度方案。...
原创
1552阅读
0评论
10点赞
发布博客于 2 年前

SpringBoot实战(十一):MultipartException: Could not parse multipart servlet request

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 有个在线上跑了一段时间的上传文件的程序报错,查了些资料,最终通过设置上传文件的临时路径解决此问题,在此与大家共享。【问题解决之路】 一、报错信息 org.springframework.web.multipart.Multi...
原创
3486阅读
0评论
7点赞
发布博客于 2 年前

SpringBoot实战(十):统一异常处理

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 处理好异常对系统有很好的保护作用同时会大大提高用户的体验,对异常统一处理是一个非常实用的技巧,接下来介绍一下如何在系统中对异常进行统一处理;【统一异常处理】 一、未加统一异常处理时 启动程序,并访问http://...
原创
583阅读
0评论
7点赞
发布博客于 2 年前

SpringBoot实战(九):标准化json返回值

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 前后端分离是现在系统开发主流模式,上篇博文《SpringBoot集成Swagger》介绍了利器Swagger;这篇接着定义返回Json格式的规范;无规矩,不成方圆;有了好的规范前后端的开发效率将大大提高;【返回Json结果规范化】 一、规范化的...
原创
1545阅读
2评论
9点赞
发布博客于 2 年前

SpringBoot实战(八):集成Swagger

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 前后端分离是现在系统的主流,前端人员更多专注于前端功能,后端人员更加关注后端极大提高开发效率;一般情况下前后端由不同的开发团队进行开发;所以免不了要有一份接口文档,手写接口文档,维护接口文档团队间沟通,调试等也是需要花费一定的时间,Swagger就在一定程度上解决了以...
原创
587阅读
0评论
7点赞
发布博客于 2 年前

数据库主从延迟导致查询不准确的解决思路

【前言】 当数据达到一定量的时候,数据库会成为整个系统的瓶颈,一般采取的优化策略为读写分离,数据库通过分主库从库从而实现读写分离(写请求操作主库,读请求操作从库);【解决数据延迟思路】 一、主从同步原理(在此以目前最普及的MySQL为例) 以下是一张经典的MySQL通过binlog实现主从数据同步的原理图: ...
原创
4027阅读
1评论
9点赞
发布博客于 2 年前

SpringBoot实战(七):替代if的优雅方案,提高程序扩展性

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近业务由一个国家扩展到多个国家,维护的通知平台也要进行相应的扩展;在扩展的时候应用一个技巧使得程序的扩展性大大提高;【if的优雅替代方案】 一、业务需求 在此以通知平台中短信业务中的校验手机号前缀为例;...
原创
1250阅读
0评论
9点赞
发布博客于 2 年前

SpringBoot实战(六):Redis Pipeline 轻松实现百倍性能提升

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 今天在优化通知平台的路由部分时发现每次当路由初始化到Redis时异常慢,早就听闻Pipeline是redis批量操作的利器,正好这次用Pipeline进行优化;【整合Redis实战】 一、原理分析 1、单个命...
原创
4872阅读
2评论
11点赞
发布博客于 2 年前

Windows 设置文件默认打开方式

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 计算机是现在办公必用品,如何熟练使用自己的计算机从而提高自己的效率是每个人都应该去学习去实践;今天在此为大家介绍一招设置文件的默认打开方式。【设置方式】 一、重复操作: 1.每次打开一个计算机未设置默认打开方式的...
原创
17826阅读
1评论
11点赞
发布博客于 2 年前

Error while extracting response for type [class xxx] and content type application/xml;charset=UTF-8

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近在用restTemplate进行一次http请求时发现了报错(Error while extracting response for type [class xxx] and content type application/xml;charset=UTF-8)...
原创
19184阅读
2评论
8点赞
发布博客于 2 年前

SpringBoot实战(五):配置健康检查与监控

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 众所周知,系统预警是一件十分重要的事情,系统一旦出现宕机很有可能许多真金白银就进去了;做好系统的监控预警是一件十分有必要的事情;接下来分享一下SpringBoot自带的健康检查与监控的配置。【配置】 一、说明 ...
原创
6181阅读
0评论
10点赞
发布博客于 2 年前

git文件过大,怎么办?

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近遇到一个git文件过大的问题,针对这个问题进行了研究,在此与大家共享。【探索之路】 一、问题 我们需要改造一个别的团队开发的系统;开始的时候将代码以及和代码相关的一些东西放到了我们的gitLab上;团队进行了相关改造...
原创
5078阅读
1评论
9点赞
发布博客于 2 年前

Certificate for doesn't match any of the subject alternative names: [.xxx.id, .yyy.id, mmm.id]

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近在调用第三方测试环境的时候日志中报Certificate for doesn't match any of the subject alternative names: [.xxx.id, .yyy.id, mmm.id]这个错,上网查找一些方案,以及向公司运...
原创
14721阅读
1评论
7点赞
发布博客于 2 年前

利用EA根据sql脚本生成数据库文档

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近接到一个任务,通过数据库的sql脚本生成相应的数据库文档,表的数量比较多,手动写是不划算的;几年前用过EA这款十分棒的软件,于是用EA来生成;在这次使用的时候还是有一些曲折,为了方便以后再用不用重复的去做,特此写下此教程。【生成步骤】 一、环...
原创
3515阅读
7评论
11点赞
发布博客于 2 年前

SpringBoot实战(四):SpringBoot整合Redis

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近自己在整理过去搭建过的框架,将用到的各个组件进行了梳理并融入自己新建的项目中(https://github.com/dangnianchuntian/springboot),一是对过去项目的整理;二是在整理的过程中查漏补缺;三是以后可以拿过去就用;【整合Re...
原创
7117阅读
2评论
8点赞
发布博客于 2 年前

SpringBoot实战(三):整合Mybatis配置多数据源

【前言】 最近接到一个新需求,经过分析后做了相应的设计;其中需要在一个项目中操做不同的数据源;于是进行了相关验证;在此记录一下验证过程。【实战多数据源】 一、Pom中引入相应的Jar包<!-- mysql 基础服务--><dependency> <groupId>mysql</group...
原创
3415阅读
1评论
8点赞
发布博客于 2 年前

SpringBoot实战(二):SpringMvc接收xml请求

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近在对接一个第三方系统,需要接收第三方系统的回调,而且格式为XML形式,之前自己一般接收的参数是Json形式,于是乎做个实验验证一下使用SpringMvc接收xml参数请求;【实战】 一、Pom中引入相应的Jar包<depende...
原创
7815阅读
4评论
11点赞
发布博客于 2 年前

SpringBoot实战(一):使用Lombok简化你的代码

【前言】 Lombok是一个十分不错的工程,项目中引入它后可以使用注解来简化代码,比如最为常见的get、set、tostring等等;【如何使用】 一、项目POM中引入相应的Jar包 <dependency> <groupId>org.projectlombok</groupId> <...
原创
4251阅读
1评论
11点赞
发布博客于 2 年前

Java 巧用占位符

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近自己负责设计和开发一套公司的通知系统,比如:短信提醒,推送通知等等;在设计的时候采用了消息模版和变量的方式来组装内容从而提高系统的扩展性。【经典案例】 一、场景简介 1、通知系统一般有模版,比如一个通知模版为 ...
原创
11499阅读
2评论
12点赞
发布博客于 2 年前

Java 巧用占位符

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近自己负责设计和开发一套公司的通知系统,比如:短信提醒,推送通知等等;在设计的时候采用了消息模版和变量的方式来组装内容从而提高系统的扩展性。【经典案例】 一、场景简介 1、通知系统一般有模版,比如一个通知模版为 ...
原创
11499阅读
2评论
12点赞
发布博客于 2 年前

只使用Feign不引入Eureka

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 随着业务不断的扩展以及开发团队的不断壮大,单体服务已经满足我们现在项目的需求;于是乎我们在新做的项目中果断采用了微服务,与此同时将我们的老项目逐步往微服务方向上改造; 在技术选型中,根据我们的需求以及未来发展的趋势,我们选择了SpringCloud全...
原创
12348阅读
8评论
14点赞
发布博客于 2 年前