- 博客(31)
- 收藏
- 关注
原创 Keepalived + Nginx 实现高可用集群
一.使用场景介绍:nginx做负载均衡,来达到分发请求的目的,但是不能很好的避免单点故障,假如nginx服务器挂点了,那么所有的服务也会跟着瘫痪 。keepalived+nginx,就能很好的解决这一问题。一、Keepalived 简要介绍Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。Keepalived 以 VRRP 协议为实现基础,用 VRRP 协议来实现高可
2021-01-22 18:38:51
715
原创 Nginx负载均衡配置(二)
上一篇文章我们介绍了什么是负载均衡的意义以及Nginx的负载策略,详情见Nginx负载均衡配置(一),本文接着进行Nginx负载均衡配置的介绍介绍前建议大家提前了解下代理的相关知识,参考博文upstream模块配置说明upstream模块主要用来配置反向代理服务器组,Nginx会根据配置,将请求分发给服务器组里的某一台服务器。如下,loadServer是服务器组的名称。http { ...... upstream loadServer { ip_hash
2021-01-16 14:58:47
429
原创 Nginx负载均衡配置(一)
目录负载均衡的意义负载策略内置策略轮询策略加权轮询策略ip_hash策略扩展策略url_hash策略fair策略Sticky策略负载均衡的意义负载均衡的目的是为了解决单个节点压力过大,造成Web服务响应过慢,严重的情况下导致服务瘫痪,无法正常提供服务的问题。通常一个访问量非常大的Web网站(比如:淘宝、京东、12306等),由于一个Web服务同时能处理的用户并发请求的数量有限,同时还存在机器故障的情况,所以一个Web站点通常会在N台机器上各部署同一套程序。..
2021-01-16 10:52:25
443
原创 Python标识符命名规范
简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。Python中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。 标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。 Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。 在 Python 中,标识符中的字母是严格区分大小写的,也就是说,两
2021-01-14 17:02:46
245
原创 Python 2.x to Python 3.x
由于 Python 2.x 和 Python 3.x 的差别较大,因此 Python 2.x 的多数代码无法直接在 Python 3.x 环境中运行。而由于兼容性的原因,我们在网络上查找的资源多数是Python 2.x 的代码,如果想要在 Python 3.x 环境下运行,就需要修改源代码。针对这一问题,Python 官方提供了一个将 Python 2.x 代码自动转换为 Python 3.x 代码的小工具,它就是2to3.py,通过该工具可以将大部分 Python 2.x 代码转换为 Python.
2021-01-14 15:56:50
143
原创 Python 3.x 和 2.x 版本的区别
目录Python 3.x print函数代替了print语句Python 3.x 默认使用 UTF-8 编码Python 3.x 除法运算Python 3.x 异常Python 3.x 八进制字面量表示Python 3.x 不等于运算符Python 3.x 数据类型和 Python2.x 版本相比,Python 3.x 版本在语句输出、编码、运算和异常等方面做出了一些调整,本节就对这些调整做一下简单介绍。本节适合有 Python 基础的学员阅读,初学者可先跳过本节,整体.
2021-01-14 15:32:18
829
1
原创 Python的应用领域
目录Web应用开发自动化运维人工智能领域网路爬虫科学计算游戏开发Python作为一种功能强大的编程语言,因其简单易学而受到很多开发者的青睐。那么,Python 的应用领域有哪些呢?Python 的应用领域非常广泛,几乎所有大中型互联网企业都在使用 Python 完成各种各样的任务,例如国外的 Google、Youtube、Dropbox,国内的百度、新浪、搜狐、腾讯、阿里、网易、淘宝、知乎、豆瓣、汽车之家、美团等等。概括起来,Python 的应用领域主要有如下几个。We.
2021-01-14 11:11:45
754
原创 理解Python解释性语言的特性
我们编写的源代码是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令。所谓的二进制指令,也就是机器码,是CPU能够识别的硬件层面的“代码”,简陋的硬件(比如古老的单片机)只能使用几十个指令,强大的硬件(PC 和智能手机)能使用成百上千个指令。然而,究竟在什么时候将源代码转换成二进制指令呢?不同的编程语言有不同的规定:有的编程语言要求必须提前将所有源代码一次性转换成二进制指...
2021-01-14 10:46:39
638
原创 Python入门概述
Python 是一个有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme或 Java.Python的一些显著特点:使用优美的语法,使你编写的程序更加易读。 一种易用的程序语言,使用她可以容易地编写出你的程序。这使得Python目标为原型开发和其他特别编程任务,同时不损害其可维护性。 一个大型的标准库支持许多常见编程任务,诸如连接到Web服务器、 正则表达式全文检索、阅读及修改文件。 Python的互交模式使她容易测试小片断的代码。也有一个叫做IDLE的捆绑式开发.
2021-01-14 09:45:55
163
原创 Linux(一):关键字检索
关键字检索Linux命令 根据关键字查询日志单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号'/'后面跟关键字向下查找,符号'?'后面跟关键字向上查找,按n查找下一个,按N查找上一个。 多个文件可以使用grep命令,比如 grep ERROR /var/log/messages*。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。 还可以使用cat命令后面使用grep过滤等方法,不如上面两个实用。上面两个较常用。常用命令VI:单个文
2021-01-11 17:11:48
2656
1
转载 消息队列的使用场景
目录情景模拟消息队列的四大好处消息队列的使用成本消息队列的适用场景情景模拟小红是小明的姐姐。小红希望小明多读书,常寻找好书给小明看,之前的方式是这样:小红问小明什么时候有空,把书给小明送去,并亲眼监督小明读完书才走。久而久之,两人都觉得麻烦。后来的方式改成了:小红对小明说「我放到书架上的书你都要看」,然后小红每次发现不错的书都放到书架上,小明则看到书架上有书就拿下来看。书架就是一个消息队列,小红是生产者,小明是消费者。这带来的好处有:1.小红想给小明书的时候,不必
2021-01-11 15:36:40
248
原创 MongoDB(一):Spring Boot使用MongoRepository完成CURD和复杂查询
Spring Data简介Spring Data 是spring的组件之一,主要目的是为了让开发者再工作中能更加轻松的完成CURD,简化代码应该是所有框架的目的吧。今天介绍的Spring-data-mongodb只是其中的一个模块而已,Spring团队的强大不言而喻,有兴趣的请移步官网查看更多模块。Spring-DataSpring Data Jpa 方法定义规范网上的博文关于这部分大同小异,这里只贴部分内容,详细规则可以参考官方文档。这些方法只是在特定情况下才用的到,比如MongoReposi
2020-12-18 09:22:04
2229
1
原创 Git(四):版本回退
使用git进行版本回退之后,如何再恢复到对应的版本1.通过git reflog命令查看操作日志:git reflog2.查看对应的版本号$ git reflog783c5e4 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^2b8d58c (origin/master, origin/HEAD) HEAD@{1}: reset: moving to HEAD^03836a8 HEAD@{2}: commit: update2
2020-12-15 14:25:23
273
1
原创 Spring Boot 日志系统配置(下)
自定义日志配置根据不同的日志系统,可以按照如下规则组织配置文件名Logback: logback-spring.xml,logback-spring.groovy,logback.xml,logback.groovy Log4j: log4j-spring.properties,log4j-spring.xml,log4j.properties,log4j.xml Log4j2: log4j2-spring.xml,log4j2.xml JDK(Java Util Logging): logg
2020-11-18 17:11:54
1005
原创 Spring Boot 日志系统配置(上)
LogBack(默认日志)默认的情况下,SpringBoot会用LogBack来记录日志,并用INFO级别输出到控制台。添加日志依赖以maven依赖为例,添加spring-boot-starter-logging<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifact
2020-11-18 16:46:28
154
原创 Git(三):常用Git命令
初始化配置Git每次提交都需要用户名和邮箱,通过下面的命令全局配置你的名字和邮箱 git config --global user.name "xu_pengtao"git config --global user.email "xxx@163.com" 获取Git配置信息,执行以下命令: git config --list 仓库状态 ...
2020-03-05 14:40:31
189
原创 基于Vue的前端架构设计
架构图前后端分离总架构图前端架构设计图MVVM架构模式MVVM的简介MVVM 由 Model,View,ViewModel 三部分构成,Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。在MVVM架构下,Vie...
2020-02-24 23:49:54
27615
2
原创 Git(二):Push本地代码到远程仓库
在本地新建项目后,如何将代码推送到远程仓库?具体操作如下:首先找到你项目所在文件夹,比如项目名为Demo,在项目根目录所在包上右键打开Git Bash命令窗口,然后执行如下操作:1、初始化版本库$git init2、添加文件到版本库(只是添加到缓冲区)$git add . // " . "代表添加文件夹下所有的文件3、把缓冲区中的文件添加到本地版本库$git c...
2019-12-17 20:37:10
645
原创 HTTP状态码汇总
http状态返回代码1xx (临时响应)【表示临时响应并需要请求者继续执行操作的状态代码。】100(继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。http状态返回代码2xx (成功)【表示成功处理了请求的状态代码。】200(成功)服务器已...
2019-12-16 15:28:40
196
原创 Prometheus(一):Prometheus学习文档
Prometheus官方文档地址:https://prometheus.io/docs/introduction/overview/Prometheus中文文档地址:https://ryanyang.gitbook.io/prometheus/
2019-12-13 11:59:41
520
原创 Micrometer application monitor
Spring Boot 1.5Table of Contents(目录)1. Installing2. Configuring2.1. Meter Binders2.2. Atlas2.3. Prometheus2.4. Datadog2.5. StatsD3. Web monitoring3.1. Spring Web MVC3.2. Client-s...
2019-12-12 20:44:34
1534
原创 Git(一):创建新分支开发
在开发过程中经常用到从master分支复制一个新分支用来开发,下面分两种情况详细介绍下操作命令:一、远程没有分支需要新建1、切换到被复制的分支(这里是master,当然也可以是其它分支),并且从远端拉取最新的版本$git checkout master$git pull2、切换并创建分支$git checkout -b devSwitched to a new bran...
2019-12-12 15:37:09
1067
原创 springcloud(四):Spring Cloud开源项目
Spring Cloud 开源项目主要集中在 Github/码云 ,本文所有项目地址也均来自于这两个网站。1、awesome-spring-cloud首先给大家介绍的就是 Spring Cloud 中文索引,这是一个专门收集 Spring Cloud 相关资料的开源项目,也有对应的导航页面。产品主页http://springcloud.fun/项目主页https://gi...
2019-12-09 18:32:03
412
原创 RabbitMQ(一):环境安装配置
一、Erlang语言开发包安装安装RabbitMQ需要先安装Erlang语言开发包,直接下载地址:http://erlang.org/download/otp_win64_18.3.exe 安装完成后需要配置环境变量:新建系统变量:变量名 ERLANG_HOME 变量值D:\softInstall\erl8.3(Erlang安装目录) 添加到PATH:%ERLANG_HOME%\bin...
2019-12-06 13:36:53
178
原创 springcloud(三):服务提供与调用
这篇文章介绍一下如何使用eureka服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例。案例中有三个角色:服务注册中心、服务提供者、服务消费者,其中服务注册中心就是我们上一篇的eureka单机版启动既可,流程是首先启动注册中心,服务提供者生产服务并注册到服务中心中,消费者从服务中心中获取服务并执行。服务提供我们假设服务提供者有一个hello方法,可以根据传入的参数,...
2019-12-05 10:04:36
185
原创 springcloud(二):注册中心Eureka
Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。背景介绍服务中心服务中心又称注册中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等,比如dubbo admin后台的各种功能。由于各种服务都注册到了服务中心,就...
2019-12-04 17:38:54
204
原创 springcloud(一):Spring Cloud概述
1.什么是Spring Cloud?Spring Cloud是一系列框架的有序集合。2.Spring Cloud与微服务是什么关系?微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,springcloud就是这些微服务的大管家。3.Spring Cloud与Spring Boot是什么关系?Spring Boot是Spring的一套快速配置脚手架,可以基...
2019-12-04 17:28:46
242
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人