自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kim_Weir的专栏

技术分享,交流学习

  • 博客(153)
  • 收藏
  • 关注

原创 Python中 sys.argv[]的用法简明解释

因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多,但发现这个问题的比较详细的解释只有一个版本,大部分都是转载和复制的。给的都是简明python教程上那个一长串代码的例子,说看了就明白了,可我看得晕头转向的还是没真正明白,只知道“sys.argv[0]表示代码本身文件路径”这点,其实...

2020-01-07 15:19:20 341

原创 Kafka常用命令整理

1.前言 2.Broker默认端口号 3.启动Kafka 4.创建Topic 5.列出所有Topic 6.删除Topic 7.查看Topic 8.增加topic的partition数 9.生产消息 10.消费消息 11.查看有哪些消费者Group 12.查看新消费者详情 13.查看Group详情 14.删除Group 15.设置consum...

2019-12-01 17:24:08 1175

原创 kafka中partition和消费者对应关系

1个partition只能被同组的一个consumer消费,同组的consumer则起到均衡效果消费者多于partitiontopic: test 只有一个partition创建一个topic——test,bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --parti...

2019-12-01 17:15:48 454

原创 Kafka如何保证百万级写入速度已经保证不丢失不重复消费

Kafka如何保证百万级写入速度已经保证不丢失不重复消费一、如何保证百万级写入速度: 二、Kafka如何做到不丢失不重复消费 一、Produce端消息传递 二、Consumer端消息传递 三、精确一次 一、如何保证百万级写入速度:目录1、页缓存技术 + 磁盘顺序写2、零拷贝技术3、最后的总结“这篇文章来聊一下Kafka的一些架构设计原理,这也是互联网公司面试...

2019-12-01 16:58:29 308

原创 kafka常用命令及配置参数详解

1. 安装Kafka1.1 下载wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz如果下载很慢或者不方便,也可以用这里已经下载好的压缩包。链接: https://pan.baidu.com/s/1u8mSfubwZupFqKtK6PH6Qw提取码: v5em1.2 解压tar -xzf...

2019-12-01 16:21:45 1737

原创 kafka入门:简介、使用场景、设计原理、主要配置

一、入门 1、简介 Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例...

2019-12-01 15:26:46 206

原创 RTMP直播应用与延时分析

1. RTMP的特点如下:1) Adobe支持得很好: RTMP实际上是现在编码器输出的工业标准协议,基本上所有的编码器(摄像头之类)都支持RTMP输出。 原因在于PC市场巨大,PC主要是Windows,Windows的浏览器基本上都支持flash, Flash又支持RTMP支持得非常好。2) 适合长时间播放: 因为RTMP支持的很完善,所以能做到flash播放RTM...

2019-04-07 14:47:11 1027

原创 TLS 握手优化详解

随着 HTTP/2 的逐渐普及,以及国内网络环境越来越糟糕(运营商劫持和篡改),HTTPS 已经开始成为主流。HTTPS 在 TCP 和 HTTP 之间增加了 TLS(Transport Layer Security,传输层安全),提供了内容加密、身份认证和数据完整性三大功能,同时也给 Web 性能优化带来新的挑战。TLS 的前身是 SSL(Secure Sockets Layer,安全套接字...

2019-03-29 23:25:43 803 1

原创 SSL/TLS 握手过程详解

我们知道,HTTP 协议都是明文传输内容,在早期只展示静态内容时没有问题。伴随着互联网的快速发展,人们对于网络传输安全性的要求也越来越高,HTTPS 协议因此出现。如下图所示,在 HTTPS 加密中真正起作用的其实是 SSL/TLS 协议。SSL/TLS 协议作用在 HTTP 协议之下,对于上层应用来说,原来的发送接收数据流程不变,这就很好地兼容了老的 HTTP 协议,这也是软件开发中分层实现的体...

2019-03-29 23:24:45 525

原创 K8s常用运维命令

一. 查看集群信息[root@k8s-master~]# kubectl cluster-infoKubernetes master is running at http://localhost:8080To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.[root@k8s...

2019-03-23 20:30:54 16023 1

原创 Docker集群管理工具 -- Kubernetes 部署&使用说明

1. 环境准备ip地址 主机名节点功能172.18.41.205 k8s-master Master, etcd172.18.41.206 k8s-node02 Node02,registry172.18.41.207 k8s-node01 Node...

2019-03-23 20:07:37 3314

原创 Docker&Kubernetes介绍

一. Kubernetes 介绍Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S。K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的,Borg已经在Google大规模生产运行十年之久。K8S主要用于自动化部署、扩展和管理容器应用,提供了资源调度、部署...

2019-03-23 18:11:03 5130

原创 HTTP请求URL的大小限制

HTTP 1.1 协议对url是不做长度限制的,原话如下:"The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to han...

2019-03-05 22:31:16 5302

原创 Mysql数据库备份总结

前言我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么比数据跟更为重要. 那么我们该如何保证数据不丢失、或者丢失后可以快速恢复呢?只要看完这篇, 大家应该就能对MySQL中实现数据备份和恢复能有一定的了解。为什么需要备份数据?其实在前言中...

2019-03-04 22:58:06 316

原创 HTTP缓存机制(浏览器和CDN)

前言我们用http访问时,会先发送一个请求,之后服务器返回一个应答,在Chrome的开发者工具(按F12或右击选择检查)中展现了整个过程:第一部分General是概要,包含请求地址,请求方式,状态码,服务器地址以及Referrer 策略。第二部分是应答头部,是服务器返回的。第三部分是请求头部,是客户端发送的。一、引入客户端直接从源站点获取数据,当服务器访问量大时会影响...

2019-03-04 16:54:32 978

原创 基于 Docker 的 MySQL 主从复制搭建

Docker 是一个开源的引擎,可以轻松的为任何应用创建一个轻量级、可移植、自给自足的容器。Docker 通常用于如下场景:web 应用的自动化打包发布 自动化测试和持续集成、发布 在服务性环境中部署和调整数据库或其他的后台应用Docker 是一种新型的虚拟化方式,和传统的的虚拟化方式相比具有以下优势:Docker 容器的启动可以在秒级实现,这比传统的的虚拟机方式要快很多。 D...

2019-03-02 23:40:27 359

原创 mysql数据库误删除后的数据恢复方法

在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办???下面,就mysql数据库误删除后的恢复方案进行说明。一、工作场景(1)MySQL数据库每晚12:00自动完全备份。(2)某天早上上班,9点的时候,一同事犯晕drop了一个数据库!...

2019-03-02 23:25:41 2635 1

原创 CDN-回源鉴权

1. 为什么要回源鉴权热门资源经常被非法用户盗链,导致企业的影响力下降,甚至还要为额外的非法流量买单。避免盗链的常用手段:IP黑白名单,Referer防盗链,UA防盗链,但是不具有实时性。那什么是回源鉴权呢?鉴权功能用于保护网站资源不被非法下载盗用,减少带宽资源的浪费,满足资源保护的高实时性及高安全性的使用场景,是一种更加安全可靠防盗链方法。2.回源鉴权原理用户请求到 CD...

2019-01-09 13:51:57 3841 1

原创 websocket

什么是WebsocketWebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信,即允许服务器主动发送信息给客户端。因此,在 WebSocket中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,客户端和服务器之间的数据交换变得更加简单。Websocket的优势小Header:互相沟通的H...

2018-12-29 11:50:07 270

原创 Range回源和视频拖拽播放

1. Range回源Range回源是指客户端通知源站服务器只返回部分内容,以及部分内容的范围。这对于较大文件的分发加速有很大帮助。开启Range回源功能,可以减少回源流量消耗,并且提升资源响应时间。需要源站支持range请求,即对于http请求头中包含 Range 字段,源站能够响应正确的206文件分片。  Range回源 具体描述 示例 开启 该参数可以请求回...

2018-12-29 11:36:47 2000

原创 自定义设置HTTP响应头

HTTP消息头是指,在超文本传输协议( Hypertext Transfer Protocol,HTTP)的请求和响应消息中,协议头部的组件。HTTP消息头准确描述了正在获取的资源、服务器或客户端的行为,定义了HTTP事务中的具体操作参数。在HTTP消息头中,按其出现的上下文环境,分为通用头、请求头、响应头等。HTTP响应头参数可供自定义取值,参数解释如下:  参数 描述 Co...

2018-12-29 11:24:57 4581

原创 CDN-HTTPS/HTTP2/HSTS

1.HTTPSHTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即将HTTP用SSL/TLS协议进行封装,HTTPS的安全基础是SSL/TLS。HTTPS,是HTTP over SSL的意思,提到HTTPS就不得不先简单描述一下SSL/TLS协议。SSL协议是Netscape在1995年首次提出的用于解决传输层安全问题的网络协议,其核心是基于公钥密码学理论实现了对服务器身份...

2018-12-29 10:14:13 892

原创 web 服务器缓存策略配置

1.Apache缓存策略设置Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而...

2018-12-27 11:33:54 1387

原创 CDN常见问题-Trouble Shooting(三)

1. 304状态码客户端第一次向服务器成功发送请求,服务器会把内容正确返回给客户端,状态码是200,并会标记内容修改时间,和一个etag标记用来核实内容是否修改过,等下次同一客户端再次发送请求,会根据请求标记的修改时间,etag来判断文件内容在这期间是否修改过,如果没有修改过则返回304状态码,客户端直接加载web缓存内容,如果文件内容修改过则把最新内容返回给客户端,并返回最新文件修改时间,e...

2018-12-27 11:27:26 2343

原创 HTTP 协议中的 Transfer-Encoding:chunked

HTTP 协议中的 Transfer-Encoding分块传输编码一、背景:持续连接的问题:对于非持续连接,浏览器可以通过连接是否关闭来界定请求或响应实体的边界;而对于持续连接,这种方法显然不奏效。有时,尽管我已经发送完所有数据,但浏览器并不知道这一点,它无法得知这个打开的连接上是否还会有新数据进来,只能傻傻地等了。 用Content-length解决:计算实体长度,并通过头部告诉对...

2018-12-27 11:06:03 1836

原创 CDN常见问题-Trouble Shooting(二)

CDN 常见问题分析思路1. 访问CDN加速的资源返回状态码403,遇到该问题,可参照以下方法排查:Chrome 按F12 打开进行cdn加速的一个具体URL链接1)排查是否开启鉴权  鉴权报错 X-Tengine-Error:denied by req auth: no url arg auth_key解决:关闭鉴权就可以了的2) 报错The website ...

2018-12-26 09:47:41 1603

原创 CDN常见问题-Trouble Shooting(一)

CDN:内容分发网络(Content Delivery Network),通过将服务内容分发至全网加速节点,利用全球调度系统使用户能够在就近节点获取所需内容,有效降低访问延迟,提升服务可用性。CDN服务模型:  CDN诊断工具【客户端】:(1)用户本地IP和DNS地址获取:http://tools.cloudxns.net/Index/Diag       ...

2018-12-25 22:23:26 961

原创 HTTP协议的请求方法

http的请求报文由:请求行、首部、空行、主体四个部分组成。其中请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT1、http请求报文中常用方法1).GET最常见的一种请求方式,...

2018-12-21 11:14:40 724

原创 正则表达式学习总结(一)

1.什么是正则表达式正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。通俗的讲就是按照某种规则去匹配符合条件...

2018-12-18 22:52:13 261

原创 CDN 域名预热

通常大家理解的预热功能是,缓存预热。将需要预热的资源推送到CDN边缘节点,用户访问时将不需要再回源站,可以直接命中缓存。这样可以加快资源的首次访问,同时缓解突增回源流量给源站造成的压力。这里说的是域名预热。顾名思义,就是把域名准备好、推送到LDNS,以加快域名的首次访问。从图中可以得出结论,如若首次访问LDNS,缓存命中和没有命中一般至少节省3个RTT值(Round-TripTime)。那...

2018-11-30 10:53:52 804

原创 Linux管道和重导向等命令符号

管道和重导向:“|”、“>”、“>>”、“<”   重导向就是使命令改变它所认定的标准输出。“>”可将结果输出到文件中,该文件原有内容会被删除,“>>”则将结果附加到文件中,原文件内容不会被删除。“<”可以改变标准输入。如:    cat data1.txt>>data2.txt(将data1.txt文件的内容加在data2.tx...

2018-11-13 15:28:12 560

原创 在Mac命令行生成字符串的MD5校验

在Mac的bash下边默认有一个md5工具,所以直接调用即可,使用方法1.使用echo和管道echo "string" | md5b80fa55b1234f1935cea559d9efbc39a2.直接使用md5md5 <<< "string"b80fa55b1234f1935cea559d9efbc39a3.使用md5 -s "string"...

2018-11-13 15:26:16 4883

原创 各浏览器对常用或者错误的 Content-Type 类型处理方式不一致

标准参考content-type 用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据,此属性的值可以查看 MIME 类型。MIME (Multipurpose Internet Mail Extensions,多用途互联网邮件扩展) 是描述消息内容类型的因特网标准。MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。content-typ...

2018-10-15 18:49:16 6507

原创 FFmpeg 音视频处理

FFmpeg是一个用于音视频处理的自由软件,被广泛用于音视频开发。FFmpeg功能强大,本文主要介绍如何使用FFmpeg命令行工具进行简单的视频处理。安装FFmpeg可以在官网下载各平台软件包或者静态编译版本,也可以使用包管理工具安装。             - -y / -n            - -codec(-c)            - -ss            ...

2018-10-06 15:38:28 888

原创 SSL证书等级

如何查看SSL证书等级?不同等级SSL证书之间有什么差别根据审查验证的级别不同,SSL证书的等级也各不相同,目前业界最高验证级别的SSL证书为 Class 4级别的EV SSL证书。本文给大家介绍如何查看SSL证书等级以及不同等级SSL证书之间的区别。如何查看SSL证书等级查看SSL证书等级最快速的方法就是点击地址栏上的安全锁标志(前提是该网站已经安装了SSL证书),然后点击查看证书信...

2018-07-19 17:24:42 1931

原创 MAC 配置Python3 Flask

熟话说,万事开头难,为了运行这第一个程序,我可是碰了不少壁,接下来我将正确的方法交给大家.1.首先得有python和虚拟环境    (1)python环境苹果系统自带    (2)虚拟环境:            安装virtualenv:                方案一:pip install --user virtualenv (基于python2.7版本)   ...

2018-07-17 14:15:58 2139 1

翻译 dig命令详解

Dig HOWTO 中文手册--dig命令使用大全Dig简介:   Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。由于一直缺失Dig man page文档,本文就权当一个dig使用向导吧。   Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind的文档都不把它包括在内,但是在linux系统下,它通常是某个包的一部分,在Gentoo下...

2018-07-14 10:50:50 1313

原创 DNS-Resource Records

所有的RRs(Resource Records)都具有相同的顶级字段格式定义:owner  TTL CLASS TYPE RDATAowner指示拥有资源记录的DNS域名TTL对大多数资源记录,该字段为可选项。指明其它DNS服务器在期满放弃该记录信息之前对其缓存多长时间。TTL值为零的资源记录不会被缓存CLASSIN(Internet类)CS(CSNET类)、CH(CHAOS类)、HS(Hesio...

2018-07-14 10:49:22 743

原创 MAC 终端配色

效果图: ~/.vimrc 配置123456789101112131415filetype onset history=1000set background=darksyntax onset autoindentset smartindentset tabstop=4set shiftwidth=4set showmatchset guioptions-=Tset vb t_vb=set rule...

2018-07-13 22:43:52 1076

原创 MAC 设置环境变量path的几种方法

MAC 设置环境变量path的几种方法mac 一般使用bash作为默认shellMac系统的环境变量,加载顺序为:/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺...

2018-07-13 11:36:37 426

空空如也

空空如也

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

TA关注的人

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