基础工程
文章平均质量分 91
it_lihongmin
不要觉得自己怎么样,现实就是比你厉害的人,比你更努力!
当才华撑不起自己野心的时候,老老实实地踏实学习吧!
展开
-
分布式限流之 - Nginx层限流
写在前面的话高兵发的三驾马车:缓存、降级、限流,这里仅仅说限流 常用的限流算法有:计数器算法、固定窗口算法、滑动窗口算法、漏桶算法、令牌桶算法;每种算法的特点和优缺点这里不展开,比较适用的限流算法基本都会选择令牌桶,并且这里基于Spring Cloud Gateway Redis本身默认就是基于令牌桶算法实现 限流按照类型分为:单机、分布式; 限流按照请求流量的路径分为:nginx、gateway、微服务 如果仅仅使用于单机环境:谷歌guava的RateLimiter、(AtomicIntege原创 2022-05-24 11:14:09 · 1357 阅读 · 4 评论 -
CentOS7搭建Zookeeper集群
首先,zookeeper安装依赖jdk环境,可以参考:CentOS7安装jdk1.8-源码安装、openjdk安装、docker安装一、CenOS7安装Zookeeper单节点Zookeeper的下载地址为:https://dlcdn.apache.org/zookeeper/,根据自己的需要选择对应的版本,这里将几个版本进行了下载(但是一定下载-bin.tar.gz 的包):如果可以不连外网,则可以使用上面的安装包先上传到对饮服务器位置;如果可以连外网则,先下载安装包: wget htt.原创 2022-05-07 18:11:29 · 2275 阅读 · 1 评论 -
CentOS7安装jdk1.8-源码安装、openjdk安装、docker安装
可以安装官方的源码包,也可以基于CentOS自动的openjdk包安装【这里选择的jdk为8】,也可以使用docker进行安装:docker安装jdk1.8可以使用已存在的官方镜像拉取安装,也可以自己编写DockerFile进行打包,而这里直接使用已有的docker镜像包拉取,并且基于该镜像进行打成压缩包(tar.gz),然后可以将该压缩包上传到其他内网服务器【不能连外网镜像拉取的环境等】,可以直接载入镜像使用。一、源码包安装jdk官网下载jdk包,上传安装包到服务器,或者可以下载百度链接:jdk-原创 2022-05-06 13:37:59 · 2216 阅读 · 0 评论 -
源码包安装Docker
官网https://download.docker.com/linux/static/stable/x86_64/选择合适的版本下载,这里18、19、20分别提供下面版本链接: https://pan.baidu.com/s/1erhtG_o_e_KCPPWv1tEpTg?pwd=u46f 提取码: u46f安装过程以 docker-20.10.0tgz进行说明,首先将包上传至待安装服务器。。。上传完成后使用 tar -zxvf docker-20.10.0.tgz 进行解压将包下.原创 2022-04-29 10:42:03 · 2777 阅读 · 2 评论 -
Mysql8 CentOS7 rpm和rpm Bundle安装
当下载包:wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm或者执行下载后上传,可以使用该百度网盘地址链接: https://pan.baidu.com/s/1dXIr8ypfwBCcURpTgXwREg 提取码: s2ca安装:rpm -ivh mysql80-community-release-el7-11.noarch.rpm查看:cd /etc/yum.repos.d/ 下面是否有mysq原创 2022-04-24 16:35:46 · 3046 阅读 · 0 评论 -
Centos7服务器镜像挂载
最近好些年都是做互联网相关项目,基本没有遇到过服务器Centos不能连外网拉取镜像的情况,导致自己在这反面一直是空白的,最近项目部署遇到了镜像基本是Centos空镜像,并且不能拉取的,写一下过程,方便后续遇到问题查看。当我们需要在Centos服务器安装比如Redis等服务时,只需要执行命令如:wgethttp://download.redis.io/releases/redis-6.2.0.tar.gz -- 下载redis服务包yum install -y gcc-c++ -- 安装c环...原创 2022-04-21 18:13:03 · 5618 阅读 · 0 评论 -
Pinpoint作为链路追踪和报警(监控spring boot服务)
pinpoint能做什么,可以服务的调用链路进行追踪并且当服务调用失败率等进行报警。从产品和功能上类似于 spring cloud sleuth + zipkin(或+kafka)实现的微服务链路追踪(可以参考之前写的:Spring Cloud Sleuth服务调用链路追踪、Spring Cloud Sleuth和Zipkin的基本概念)那么下面就对两种者进行一个对比: 对比点 Zipkin Pinpoint 说明原创 2022-04-14 00:06:42 · 5902 阅读 · 1 评论 -
promethous + grafana对Spring boot 2.x项目进行监控
1、Spring boot2.x项目改造在spring boot项目中添加 actuator、prometheus-core、micrometer-registry-prometheus(采集)maven, 并且需要注意版本关系(这里我spring boot的maven management使用了2.3.2但是引入的spring boot parent引入的是2.2.X导致整体引入的是 2.2.X但是prometheus还是1.5.3所有没有显示出来):Spring boot 2.3.X 对应 mi原创 2022-04-01 23:09:28 · 3342 阅读 · 0 评论 -
minio - 服务的搭建和使用
曾几何时,之前说的搭建分布式文件存储系统,好像唯一的选择就是 fastDfs,慢慢的发现好像周围的团队和项目都在选择Minio,进入了视野。Minio与Amazon S3云存储服务兼容,采用Golang实现,服务端支持Windows、Linux、 OS X和FreeBSD等操作系统;客户端支持Java、Python、Javacript、 Golang语言,下面会有基于java的sdk的相关集成和操作。Minio是Apache License v2.0下发布的对象存储服务器。它与Amazon S3云原创 2022-03-29 16:47:50 · 9564 阅读 · 1 评论 -
Jenkins - 部署vue项目以及环境配置和遇到的问题【图文】
Jenkins的环境搭建可以参考下面的链接,在此基础上执行vue项目的持续集成发布。Jenkins - 单机和集群搭建、基于git分支部署spring boot项目(脚本、docker发布)、gitlab钩子部署【图文详解】https://blog.csdn.net/it_lihongmin/article/details/123655868nodejs环境搭建需要jenkins有发布vue项目的能力则需要对vue项目进行打包,依赖nodejs环境,此时可以考虑直接在jenkins服务器上安装Nod原创 2022-03-28 10:18:21 · 7268 阅读 · 0 评论 -
minikube安装kubernetes(Centos7)【图文】
k8s有很多种安装方式minikube允许使用mac、linux、windows快速创建一个k8s集群;也可以使用kubeadm方式基于二进制快速安装一个集群;但是需要在生产环境执行的k8s集群需要使用官方发行的二进制进行安装,快速安装方式虽然方便但是屏蔽了很多底层的细节,发现问题很难发现问题,并且基于二进制方式创建也非常利于去理解其运行原理,更有利于后期的维护。能快速开始搭建也是蛮好的选择,否则就从可能放弃于繁琐的安装过程,kubernetes安装需要满足cpu 至少2核心、内存至少可用的1.原创 2022-03-25 02:09:41 · 1423 阅读 · 2 评论 -
Jenkins - 集群搭建和服务部署【图文】
Jenkins集群的搭建首先基于单台Jenkins搭建并且可以部署项目的基础上,搭建详细过程可以参考:Jenkins - 单机和集群搭建、基于git分支部署spring boot项目(脚本、docker发布)、gitlab钩子部署【图文详解】刚开始自己的理解是搭建Jenkins集群,肯定是需要在其他服务器上也部署 jenkins.war 包,并且将两者进行关联。其实Jenkins从节点不需要搭建服务,只是需要满足下面两个条件:1、jdk、git、maven环境一致符合Jenkins执行环境,包括原创 2022-03-24 15:28:57 · 4351 阅读 · 0 评论 -
nginx.conf一般配置说明
#所有的设置必须以分号结尾#user nobody; #只有被设置的用户或用户组才有权限启动nginx 如果希望所以的用户都能用:1 注销该设置 2 该值设置为 nobodyworker_processes 1; #并发处理请求的关键所在 理论上值越大越好但是也受环境的现在 可设置为 auto#error_log logs/error.log;原创 2016-08-16 23:27:41 · 775 阅读 · 0 评论 -
Docker的基本概念、环境搭建、常用命令【图文】
目录解决了什么问题?docker的几个概念Centos基于自动化脚本安装Centos基于yum安装docker常用命令docker images【或 | grep XXX】docker builddocker rundocker ps( | grep XXX)docker start|stop|restart container_iddocker kill container_iddocker rmDocker 是一个开源的应用容器引擎,基于Go 语言..原创 2022-03-23 16:33:45 · 3563 阅读 · 0 评论 -
Jenkins - 单机和集群搭建、基于git分支部署spring boot项目(脚本、docker发布)、gitlab钩子部署【图文详解】
目录Jenkins使用Docker方式安装直接使用 Jenkins.war 启动配置管理Jenkins1、Jenkins原理和基本初始化2、安装 Publish over SSH插件3、安装和配置工具【jdk、git、maven】4、配置项目5-1、脚本Docker部署5-2、脚本命令行部署之前也接触写了好几篇Jenkins的博客,但是自己使用最新版本的Jenkins【2.339版本】,然后去发布Spring boot项目,发现还是花了自己不少的时间,所以记录一下。.原创 2022-03-22 17:51:12 · 1527 阅读 · 0 评论 -
OpenAPI规范3-Swagger2
Info:之前使用的swagger是1.0版本,现在想将该规范使用到现在的项目中时,发现已经是基于OpenAPI 3的2.0版本,并且可以比1.0更方便的集成使用(1.0版本需要将GitHub中的swagger的web部分拷贝到项目下,现只需要引入maven依赖即可),后续再补充各种情况的demo。一、什么是swagger? OpenAPI规范(OpenAPI Spec...原创 2017-12-18 00:14:38 · 37570 阅读 · 1 评论 -
Swagger学习资源
简介以及原理Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger让部署管理和使用功能强大的API从未如此简单。原理:后台:后端部分与Java集成,后最终会产生一个json文件。转载 2017-05-01 22:01:35 · 1297 阅读 · 0 评论 -
Swageer学习文档
Swageer学习文档Swagger简介Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。按照现在的趋势,前后端分离几乎已经是业界对开发和部署方式所达成的一种共识。所谓的前后端分离,并不是传统行业中的按部门划分,一部分人只做前端(HTML/CSS/JavaScript等等),另一部分人只做后端(或者叫服务端),因为这种方式是不工原创 2017-05-01 21:42:17 · 2348 阅读 · 0 评论 -
IntelliJ IDEA的介绍和基本设置
一、基本介绍 1、由JetBrains公司开发的一系列开发工具:IntelliJ IDEA(java、scala、Groovy开发)、Android Studio(Android开发)、Webstrom(前端开发) PhpStrom(php开发)、RubyMine(Ruby开发)、PuCharm(Python开发) 2、IntelliJ IDEA支持语...原创 2018-06-18 10:39:31 · 12292 阅读 · 0 评论 -
IntelliJ IDEA的集成版本管理工具
idea对于项目的版本管理主要有两个菜单目录,File》Setting》Version Control 对版本管理工具的一些配置以及版本冲突等设置,而VCS(Version Control Setting)主要用于使用版本管理工具进行一些快捷操作,如检出项目等,如下:一、集成Git1、idea配置Git 首先需要按照git(该步骤省略),当按照好git后,...原创 2018-06-23 12:58:38 · 7618 阅读 · 0 评论 -
IntelliJ IDEA集成tomcat
一、maven的tomcat插件启动项目 若项目中引入了maven的tomcat(或者tomcat7)插件,则可以直接使用 -Dmaven.tomcat.port=8081 svn tomcat:run 方式进行启动,在idea中提供了界面化的启动方式,如下:二、spring boot启动项目 若该项目为spring boot项目,则有内置的容器,则可以使用内置服务器进...原创 2018-06-23 15:25:59 · 3662 阅读 · 0 评论 -
IntelliJ IDEA配置动态模板(Live Templates)
一、动态模板的配置步骤1)、在 Idea 的File -> Settings 中选择 Editor ->Live Templates , 先点击+号,为自己创建一个模板分组(图中为kevin),再在分组中创建每一个单独的模板。 如下图所示:2)、当点击步骤3创建单个实例模板时, 先在 4 中为模板取一个英文名词(也就是在使用的时候的快捷键),在 5 中为当前模板添加一...原创 2019-05-14 15:13:44 · 1596 阅读 · 0 评论 -
IntelliJ IDEA集成maven
一、idea中maven的配置 1、maven配置 首先需要在idea中对maven进行集成,目录为File》Setting》Build、Execution、Deployment》Build Tools》maven,若打开idea之前已经安装了maven,则idea会自动发现maven并进行关联,如下图: 并且需要注意maven的选相关配置: M...原创 2018-06-23 14:49:05 · 63090 阅读 · 7 评论 -
IntelliJ IDEA的常用设置和快捷键
一、idea常用设置1、报错级别 idea默认不会像eclipse一样需要ctrl+s进行保存,并且在保存时会进行编译(可以在File》Settings》Build,Execution,Deployment》Compilation中的make project automatically进行勾选设置)。但是idea同样能够对错误进行提示,并且我们可以设置错误的级别定义,可以在idea的...原创 2018-06-18 23:04:53 · 47618 阅读 · 5 评论 -
Jenkins的安装和使用(Centos7)
一、安装Jenkins最近发现yum安装老是连不上,可以使用第一种或者第二种方法进行安装,安装包地址为:https://pan.baidu.com/s/1sUgCSwDXOiE0jP-4M_eX1w,密码:7a1i 1、war包启动可以自己装一个tomcat或其他服务器,并且下载Jenkins.war的包,直接安装启动普通项目的方式配置。 2、rpm包安装下载je...原创 2018-06-26 14:34:59 · 14452 阅读 · 0 评论 -
Maven_基础
一、认识 在maven之前我们是怎样管理项目的,全手动--->半自动化的ant--->maven。(ant需要自己手动写maven的超级pom.xml中的配置)二、使用Maven好处(为什么要使用) 1、约定由于配置的思想 比如我们将java和resources配置资源按照规定放置,则maven就会帮我们做很多的事。在原创 2017-08-27 10:04:46 · 361 阅读 · 0 评论 -
Maven_使用和注意事项
一、pom.xml常用配置详解 1、4.0.0 与超级pom.xml的版本一致 2、groupId 公司域名的倒写 3、artifactId 功能名称 4、version 版本号 5、packaging 打包的格式,默认jar 可选项:war 、maven-plugin 6、propert原创 2017-08-27 11:27:10 · 864 阅读 · 0 评论 -
Maven_插件和私服
一、官方插件 1、常用的官方插件仓库 https://maven.apache.org/plugins/ 和 http://www.mojohaus.org/plugins.html 2、findbugs 静态代码检查的插件(基于字节码进行检查) 这个还是比较好用的,只需要在项目中引入下面的插原创 2017-08-27 16:33:37 · 1412 阅读 · 0 评论 -
cenos7 的gitlab 搭建和遇到的坑
一直都说自己搭建gitlab的,但是由于上次使用vagrant搭建gitlab的时候就遇到了坑,所以就搁置了,现在把搭建vagrant一起重新写一下。一、vagrant 环境的搭建1、windows系统中在网上下载virtualBox并进行安装,,再下载vagrant并进行安装,就不用说了(但是一定要按顺序安装),可以使用vagrant -v 进行检查。2、我是直接先下载好了cento原创 2017-06-11 16:28:15 · 4876 阅读 · 0 评论 -
Git_基础
一、Git简介 Git是由linux的版本管理问题而创建的,是分布式的版本管理控制工具,与svn的集中式的版本管理相对应,也可以说是中心化和去中心的体现。svn要求使用的客户顿必须联网,并可能存在硬盘损坏等的单节点故障问题。 二、git与svn的比较 1、底层操作 修改文件后svn的底层操作,将上一版本的修改的文件的变化进行记录,并原创 2017-09-02 17:49:44 · 296 阅读 · 0 评论 -
Git_常用命令
git 操作常用命令整理git 管理代码几个概念工作区: 仓库文件夹里除.git目录所有文件内容版本库: .git目录,存储着所有记录版本信息 暂存区: //文件修改完add操作后先存于暂存区 分支: //commit操作后,即将暂存区文件提交到当前分支 HEAD指针: //指向当前分支配置仓库git config user.name 'lou原创 2017-08-31 17:28:09 · 326 阅读 · 0 评论 -
GitLab安装和使用
一、使用中国镜像安装GitLab pre: 在centos7下安装GitLab之前,最好修改本地Centos的yum源为阿里的,参见第四、修改Centos的yum源部分。 直接vim /etc/yum.repos.d/gitlab-ce.repo,内容为:[gitlab-ce]name=Gitlab CE Repositorybaseurl=https://mirro...原创 2018-06-26 08:45:25 · 2094 阅读 · 0 评论 -
VirturlBox安装Centos7
前言:作为开发,在本地搭建虚拟机是比较基本的,但是每次都是使用过了就好久都不去管,下次需要使用的时候又需要搭建。使用过vmware、VirturlBox也使用过vagrant+VirturlBox的方式搭建,但是发现每次都有很多坑,所以这次直接写一下,方便下次使用,,,。但是首先省略掉重官网上下载VirturlBox和安装的过程。一、创建虚拟机需要注意的问题1、安装centos的时候需要选...原创 2018-06-25 00:53:08 · 591 阅读 · 0 评论 -
Git使用中遇到的问题
一、Git本地仓库jar包导入问题 Q: 最近在项目中使用idea工具,由于不是很熟练,所以搞不懂maven project中Dependencies报错,到底是不是真的导包错误。但是当我执行reimport等之后,再去执行install和运行项目发现还是不行。并且提示我找不到jar包,去远程私服也找不到对应的版本。那么有了将线上能跑的包拉下了,然后将jar包install到本地...原创 2018-07-21 10:09:09 · 282 阅读 · 0 评论 -
青花瓷(charles)的基本使用和注意事项
一、charles是什么 info:使用青花瓷也有一段时间了,之前都是用于抓自己项目app的http请求包,但是最近由于使用的时候遇到了https不能被展示的问题,结果遇到了一些坑,打算写一下,方便自己和别人。青花瓷可用于抓取安装青花瓷本地电脑的浏览器(http请求),可以在App(Android、ios)的手机上设置代理,用于抓取app发出的http或https(http+ss...原创 2018-07-21 17:23:55 · 4102 阅读 · 0 评论 -
Nexus-3 OSS安装
1、下载安装包Nexus安装包分为OSS(免费版)和PRO(收费版),我们一般使用免费版就可以了。当前选择Nexus 3版本。Windows下载地址:https://www.sonatype.com/oss-thank-you-win64.zipLinux下载地址:https://www.sonatype.com/oss-thank-you-tar.gz2、安装Windows安...原创 2019-05-15 15:34:16 · 1915 阅读 · 0 评论 -
Nexus-3 OSS的管理和使用
目录一、使用默认的私服仓库管理项目二、Nexus的设置1、只有在管理员角色登录后才能进行仓库的创建和管理2、仓库的创建三、将项目包提交私服1、配置mirror2、在settings配置文件中,设置访问nexus的账号密码信息3、在项目pom.xml中配置:4、使用maven的deploy命令将包推到Nexus私服中四、遇到的问题一、使用默认的私服仓库管...原创 2019-05-15 18:23:20 · 1602 阅读 · 0 评论 -
Jenkins部署传统项目和Spring Boot项目
在开启进行项目不是前不清楚Jenkins的运作流程的话,可以先参考之前写的Jenkins的安装和使用(Centos7),里面有一张Jenkins的运作流程图,个人觉得还是画的比较清楚的。在此之前一定保证需要用到的基本插件都安装完成,并且在jenkins端进行配置,主要包括git客户端和maven1、War包部署到远程Tomcat待更新2、部署Spring Boot项目...原创 2019-06-27 18:06:57 · 294 阅读 · 0 评论 -
Jenkins配置Gitlab钩子
目录1、安装Gitlab Hook Plugin插件2、在Jenkins的Job中配置获取钩子信息3、在GitLab端配置钩子4、页面测试钩子 在安装完Jenkins并配置了基本的基础组件(Jdk、git client、maven等,可以参考Jenkins的安装和使用(Centos7)),并且已经可以正常的使用Jenkins发布项目服务(可以参考Jenkins部署传统项...原创 2019-06-28 11:19:36 · 4814 阅读 · 0 评论 -
成功的 Git 分支模型
介绍一个成功的 Git 分支模型(master - hotfix - develop - feature - release)2015-12-23 12:17 本站整理 浏览(311)英文原文:A successful Git branching model在这篇文章中,我提出一个开发模型。我已经将这个开发模型引入到我所有的项目里(无论在工作还是私人)已经一年有余,并且它被证明转载 2017-05-25 18:32:19 · 462 阅读 · 0 评论