自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 资源 (1)
  • 收藏
  • 关注

转载 使用 openssl 生成证书(含openssl详解)

使用 openssl 生成证书(含openssl详解)一、openssl 简介openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。官网:https://www.openssl.org/source/构成部分密码算法库 密钥和证书封装管理功能 SSL通信API接口用途建立 RSA、DH、DSA key 参数 建立 X.509 证书、证书签名请求(CSR)和CRLs(证书回收列表) 计算消息摘要 使

2021-01-10 01:14:16 2964 1

原创 Docker 数据持久化的三种方案

容器中的数据可以存储在容器层。但是将数据存放在容器层存在以下问题:数据不是持久化。意思是如果容器删除了,这些数据也就没了主机上的其它进程不方便访问这些数据对这些数据的I/O会经过存储驱动,然后到达主机,引入了一层间接层,因此性能会有所下降Docker 提供了3种持久化数据的方式:volumes:存于主机文件系统中的某个区域,由Docker管理(/var/lib/docker/volumes/ on linux)。非Docker进程不应该修改这些数据。卷是Docker中持久化数据的最好方式b

2020-06-07 16:48:04 580

原创 Docker四种网络模式

实现原理Docker使用Linux桥接(参考《Linux虚拟网络技术》),在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法通过直接Co

2020-05-30 12:08:17 273

原创 Dockerfile制作镜像

docker 镜像的制作,可以基于容器创建镜像,也可基于 dockerfile 构建镜像。但需要注意的是,我们并不是真正"创建"新镜像,而是基于一个已有的基础镜像,如 centos 或 ubuntu 等,构建新镜像而已。1.基于容器制作联合文件系统(UnionFS)挂载提供了容器的文件系统,任何对容器内文件系统的改动都会被写入到新的文件层中,这个文件层归创建它的容器所有。而我们就对做出改动的容器进行镜像构建。我这儿使用 busybox 作为 base image,我们可以认为 busybox 为一个精简

2020-05-24 23:37:38 178

原创 动态缓存技术之CSI,SSI,ESI

平时我们谈页面,大都数是以页面为单位的。一、CSI (Client Side Includes)含义:通过iframe、javascript、ajax等方式将另外一个页面的内容动态包含进来。原理:整个页面依然可以静态化为html页面,不过在需要动态的地方则通过iframe,javascript或ajax来动态加载!例子: src="http://abroad.e2bo.com/in...

2019-10-19 04:14:26 425

原创 Nginx SSI支持配置

什么是SSIServer Side Include,通常称为服务器端嵌入,是一种类似于ASP的基于服务器的网页制作技术。大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server等均支持SSI命令。为什么要用SSI用个例子来说明,一个静态化的页面中,需要嵌入一小块实时变化的内容,。例如首页,大部分的页面内容需要缓存但是用户登录后的个人信息是动态...

2019-10-19 03:58:20 171

原创 MSS 与 MTU 区别

MTU:maximum transmission unit,最大传输单元,由硬件规定,如以太网的MTU为1500字节。MSS:maximum segment size,最大分节大小,为TCP数据包每次传输的最大数据分段大小,一般由发送端向对端TCP通知对端在每个分节中能发送的最大TCP数据。MSS值为MTU值减去IPv4 Header(20 Byte)和TCP header(20 Byte)得...

2019-09-25 22:55:23 324

原创 Nginx处理请求的11个阶段

Nginx 处理请求的过程一共划分为 11 个阶段,按照执行顺序依次是 post-read、server-rewrite、find-config、rewrite、post-rewrite、preaccess、access、post-access、try-files、content 以及 log。1、post-read最先执行的 post-read 阶段在 Nginx 读取并解析完请求头(r...

2019-09-24 16:09:52 321

转载 白话解析:一致性哈希算法 consistent hashing

摘要:  本文首先以一个经典的分布式缓存的应用场景为铺垫,在了解了这个应用场景之后,生动而又不失风趣地介绍了一致性哈希算法,同时也明确给出了一致性哈希算法的优点、存在的问题及其解决办法。声明与致谢:  本文转载于朱双印博主的个人日志《白话解析:一致性哈希算法 consistent hashing》一文。一. 引子  在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,...

2019-09-24 15:59:04 95

原创 nginx开启gzip、gzip_static

gzipgzip属于在线压缩,在资源通过http发送报文给客户端的过程中,进行压缩,可以减少客户端带宽占用,减少文件传输大小。一般写在server或者location均可;server { listen 6002; server_name **.234.133.**; gzip on; gzip_proxied any; gzip_types text/css t...

2019-09-24 02:38:26 1309

原创 Redis Lua脚本

1 介绍Redis自2.6.0加入了Lua脚本相关的命令,EVAL, EVALSHA, SCRIPT EXISTS, SCRIPT FLUSH, SCRIPT KILL, SCRIPT LOAD,自3.2.0加入了Lua脚本的调试功能和命令。Lua脚本可以运行在任何平台上,也可以嵌入到大多数语言中,来扩展其功能。Lua脚本是用C语言写的,体积很小,运行速度很快。使用Redis Lu...

2019-09-19 22:56:33 462

原创 布隆过滤器

本文是站在小白的角度去讨论布隆过滤器,如果你是科班出身,或者比较聪明,又或者真正想完全搞懂布隆过滤器的可以移步。不知道从什么时候开始,本来默默无闻的布隆过滤器一下子名声大燥,仿佛身在互联网,做着开发的,无人不知,无人不晓,哪怕对技术不是很关心的小伙伴也听过它的名号。我也花了不少时间去研究布隆过滤器,看了不少博客,无奈不是科班出身,又没有那么聪明的头脑,又比较懒...经过“放弃,拿起,放弃,拿起...

2019-09-17 00:24:40 157 1

转载 ZooKeeper分布式锁实现java例子,附完整可运行源代码

本原创入门教程,涵盖ZooKeeper核心内容,通过实例和大量图表,结合实战,帮助学习者理解和运用,任何问题欢迎留言。目录:zookeeper介绍与核心概念安装和使用ZooKeeper分布式锁实现ZooKeeper框架Curator分布式锁实现及源代码分析zookeeper 开发实战(java客户端)分布式锁有多种实现方式,比如通过数据库、redis都可实现。作为分布式协同工具Zoo...

2019-09-10 16:16:35 234

转载 库存设计

库存管理作为供应链管理的重要组成部分,不论对于电商企业还是实体企业都至关重要。库存体系的构建异常复杂,目前没见到特别满意的库存体系介绍。笔者有幸参与多系统的搭建,特从电商供应链产品体系总结了库存体系,希望能够给电商同仁一定的帮助。先说重点:电商库存体系分为三层:销售层、调度层、仓库层; 库存的变动又分为自上而下、自下而上两种; 每一层库存数量的变化有可总结为增加、锁定、解锁、...

2019-07-30 18:15:31 2123

转载 linux 安装 Elasticsearch5.6.x 详细步骤以及问题解决方案

在网上有很多那种ES步骤和问题的解决 方案的,不过没有一个详细的整合,和问题的梳理;我就想着闲暇之余,来记录一下自己安装的过程以及碰到的问题和心得;有什么不对的和问题希望及时拍砖。第一步:环境linux 系统 Java 1.8.0_151 elasticsearch-5.6.3第二步:下载2.1 JDK的下载可以去官网上直接下载,再次声明一下不要下载最新版本 JAVA 9 版本本人...

2019-03-03 05:44:53 263

原创 记一次线上由nginx upstream keepalive与http协议“协作“引起的接口报错率飙高事件

年前接到个任务,说要解决线上一些手机客户端接口报错率很高的问题.拿到了监控邮件,粗略一看,各种50%+的错误率,简直触目惊心.这种疑难杂症解决起来还是挺好玩的,于是撸起袖子action.最终的结果虽然报错问题得到了解决,但是感觉并不是最根本的解决方案.下面把解决的过程和目前的问题放出来一起探讨下.第一步,针对错误进行跟踪,初步定位问题由于之前客户端同学在请求中添加了唯一标示requ...

2019-02-20 07:40:43 696

转载 Nginx中的rewrite指令(break,last,redirect,permanent)

rewite在server块下,会优先执行rewrite部分,然后才会去匹配location块 server中的rewrite break和last没什么区别,都会去匹配location,可以留空location中的rewirte:不写last和break - 那么流程就是依次执行这些rewrite 1. rewrite break - url重写后,直接使用当前资源,不再执行lo...

2019-02-20 05:30:27 256

转载 nginx+memcache实现页面缓存应用

一.前言nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出,后续的请求不再经过应用程序处理,如php-fpm、django,大大的提升动态页面的速度。nginx只负责从memcached服务器中读取数据,要往memcached写入数据还得需要后台的应用程序来完成,主动的将要缓存的页面缓存到memcached中,可以通过404重定向到后端去处理的。...

2018-10-02 00:58:46 412

转载 后端nginx使用set_real_ip_from获取用户真实IP

随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址.实例环境:用户IP 120.22.11.11 CDN前端 61.22.22.22 CDN中转 121.207.33.33 公司NGINX前端代理 192.168.50.121...

2018-09-01 03:31:59 22285

转载 nginx如何处理TCP/UDP session

nginx会在几个连续的步骤中处理来自client客户端的TCP/UDP session,这些步骤也叫阶段。1 Post-accept 阶段这是接收客户端连接后的第一个阶段。在这个阶段 ngx_stream_realip_module插件会被调用。ngx_stream_realip_module插件是用来转换client端地址(address)和端口(port)为PROXY协议header...

2018-09-01 03:24:34 571

原创 nginx是如何处理请求的

一、nginx如何选择适当的虚拟服务器来处理请求?(server匹配)(1)基于主机名匹配来选择合适的虚拟服务器     对比请求头中的host字段与server中的server_name,选择匹配的服务器。如果都不匹配,则选择该端口所对应默认的服务器。如果没有指定默认服务器,默默为服务器列表中的第一个,可以通过listen port default_server来显示指定。值得注意的是,默认...

2018-08-27 00:16:43 519

原创 发送信号控制 nginx

编译自:http://nginx.org/en/docs/control.html目录修改配置 滚动日志文件 在运行中升级可执行文件可通过发送信号给 nginx 进行控制。nginx 主进程的 PID 默认被写入 /usr/local/nginx/logs/nginx.pid。pid 文件的路径被可在配置时修改,使用 pid 指令指定其他路径。nginx 主进程支持如下信号:...

2018-08-26 18:48:22 426

转载 Keytool用法说明

Keytool是一个key与cert的管理工具。使用keytool可以管理public key、private key,以及与key之相关的certificate。 1、command和option说明1.1 command使用keytool工具时,可以使用15种命令: 1.2 optionOption是命令的参数,要了解某个命令的参数可以使用keytool –co...

2018-08-19 23:56:39 3026

原创 arp命令

[功能]管理系统的arp缓存。 [描述]用来管理系统的arp缓存,常用的命令包括:arp: 显示所有的表项。arp  -d  address: 删除一个arp表项。arp  -s address hw_addr: 设置一个arp表项。 常用参数:-a 使用bsd形式输出。(没有固定的列)-n 使用数字形式显示ip地址,而不是默认的主机名形式。-D 不...

2018-08-10 21:24:02 5915

转载 keepalived+LVS超时设置产生的realserver的tcp连接不释放问题

redis的集群使用keepalived+LVS做的负载集群persistent时间设置为30s而ipvsadm的超时时间则为900 120 300【使用ipvsadm -l --timeout】第一个为tcp超时时间,第二个为tcpfin超时时间,第三个为udp超时时间由于在这种设置下ActionConn的连接数在高频访问下总是不会释放,恒定在100,【5个客户端恒定TCP连接每台1...

2018-08-06 10:06:25 1209

转载 RabbitMQ详解

介绍RabbitMQ前,有必须先了解一下AMQP协议。AMQP协议是一个高级抽象层消息通信协议,RabbitMQ是AMQP协议的实现。它主要包括以下组件: 1. Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程。2. Virtual Host:其实是一个虚拟概念,类似于权限控制组,一个Virtual Host里面可以有若干个Exchange和Queu...

2018-08-05 16:18:48 174

转载 消息队列中点对点与发布订阅区别

背景知识JMS一个在 Java标准化组织(JCP)内开发的标准(代号JSR 914)。2001年6月25日,Java消息服务发布JMS 1.0.2b,2002年3月18日Java消息服务发布 1.1. Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异...

2018-08-05 13:22:57 250

转载 eureka集群高可用配置

网上讲这个东西的很多,抄来抄去的,大部分类似,多数没讲明白为什么那么配置。譬如eureka.client.register-with-eureka和fetch-registry是否要配置,配不配区别在哪里;eureka的客户端添加service-url时,是不是需要把所有的eureka的server地址都写上,还是只需要写一个server就可以了(因为server之间已经相互注册了)?如果写上...

2018-08-04 22:50:39 392

转载 微服务化的Spring Cloud Config高可用配置中心

上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:一、准备工作继续使用上一篇文章的工程,创建一个eureka-server工程,用作服务注册中心。在其pom.xml文件引入Eureka的起步依赖spring-cloud-start...

2018-08-04 22:39:46 124

转载 spring cloud config

在分布式系统中,每一个功能模块都能拆分成一个独立的服务,一次请求的完成,可能会调用很多个服务协调来完成,为了方便服务配置文件统一管理,更易于部署、维护,所以就需要分布式配置中心组件了,在spring cloud中,有分布式配置中心组件spring cloud config,它支持配置文件放在在配置服务的内存中,也支持放在远程Git仓库里。引入spring cloud config后,我们的外部配置...

2018-08-04 22:23:53 92

转载 Spring Boot 配置优先级顺序

Spring Boot 项目存在一种优先级配置读取的机制,后面详细介绍一下:外部化的配置Spring 框架本身提供了多种的方式来管理配置属性文件。Spring 3.1 之前可以使用 PropertyPlaceholderConfigurer。Spring 3.1 引入了新的环境(Environment)和概要信息(Profile)API,是一种更加灵活的处理不同环境和配置文件的方式。但是 ...

2018-08-04 21:17:06 2105

转载 快速开发一个自定义Spring Boot Starter,并使用它

众所周知(不知道?点此),Spring Boot由众多Starter组成,随着版本的推移Starter家族成员也与日俱增。在传统Maven项目中通常将一些层、组件拆分为模块来管理,以便相互依赖复用,在Spring Boot项目中我们则可以创建自定义Spring Boot Starter来达成该目的。Spring Boot Starter 可用来简化依赖,如:spring-boot-starte...

2018-08-03 16:35:38 625

转载 Keepalived安装与配置

一、简介Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换机的功能。主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务。  上图是K...

2018-08-01 22:23:37 1346

原创 解决Linux上解压jdk报错gzip: stdin: not in gzip format

最近在阿里上买了个服务器玩,需要安装jdk,在解压过程中遇到了一些问题,又是一番Google度娘,终于解决了。问题原因让我有点无奈……输入 #tar -xvf jdk-8u131-linux-x64.tar.gz,执行命令后报错如下: gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is no...

2018-08-01 19:55:38 429

转载 /proc/sys/net/ipv4/

/proc/sys/net/ipv4/下文件详细解释: 1) /proc/sys/net/ipv4/ip_forward  该文件表示是否打开IP转发。  0,禁止  1,转发  基本用途:如VPN、路由产品的利用;  出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,...

2018-07-31 09:38:15 220

转载 ifconfig、route、ip route、ip addr、 ip link 用法

 网络管理是一个复杂而庞大的体系,博主最近刚好学了一点关于网络的知识,就跟大家分享一下如何管理网卡、配置及查看ip地址和路由表。主要通过以下几个命令来演示一下。    现在一些旧的命令由于功能上有欠缺,已经逐渐被新命令取代。 旧命令 新命令 ifconfig ip addr route ip route   ip link 一、ifconfig   ...

2018-07-30 22:17:29 307

转载 keepalived的脑裂问题

1、什么是脑裂    脑裂(split-brain):指在一个高可用(HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争抢共享资源,结果会导致系统混乱,数据损坏。    对于无状态服务的HA,无所谓脑裂不脑裂;但对有状态服务(比如MySQL)的HA,必须要严格防止脑裂。2、解决keepalived脑裂问题    检测思路:正常情...

2018-07-30 16:55:13 819

转载 tcpdump抓包规则常用命令

下面的例子全是以抓取eth0接口为例,如果不加”-i eth0”是表示抓取所有的接口包括lo。   首先安装tcpdump包:yum install -y tcpdump       1、抓取包含172.16.1.122的数据包   # tcpdump -i eth0 -vnn host 172.16.1.122       2、抓取包含172.16.1.0/24网段的数据包   #...

2018-07-30 15:58:13 167

转载 TCP十一种状态

   2、全部11种状态    2.1、客户端独有的:(1)SYN_SENT (2)FIN_WAIT1 (3)FIN_WAIT2 (4)CLOSING (5)TIME_WAIT 。    2.2、服务器独有的:(1)LISTEN (2)SYN_RCVD (3)CLOSE_WAIT (4)LAST_ACK 。    2.3、共有的:(1)CLOSED (2)ESTABLI...

2018-07-30 15:53:58 722

转载 详解网络传输中的三张表,MAC地址表、ARP缓存表以及FIB路由表

一:MAC地址表详解说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的。在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据这张表负责将数据帧传输到指定的主机上的。交换机的工作原理交换机在接收到数据帧以后,通过目标mac地址在mac表查找有无对应的接口,有则通过此接口将数据帧发送出去(也就是单播),如果没有,则会...

2018-07-26 17:26:23 486

mybatis generator

mybatis generator cmd 执行语句 java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite

2018-01-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除