09 2020 档案
摘要:转载:https://blog.csdn.net/YYxiaobao0726/article/details/86577481 根组件引入其他组件 前言 一个.vue 文件就是一个单独的组件。 在 .vue 文件中, template 中都是html 代码,它定义了在页面中显示的内容,由于里面还有变
阅读全文
摘要:ab快速开始 1、yum -y install httpd-tools 2、测试是否安装成功:ab -V 测试示例: ab -n 10000 -c 50 http://localhost:8080/v1/posts -n表示总共发送的请求数 -c表示每次并发的请求数 详细使用 ab [ -A aut
阅读全文
摘要:Docker + Consul + registrator实现服务发现 Consul:分布式、高可用的,服务发现和配置的工具,数据中心 Registrator:负责收集dockerhost上,容器服务的信息,并且发送给consul Consul-template:根据编辑好的模板生成新的nginx配
阅读全文
摘要:连接数据库 下面演示如果连接数据库,使用gorm.Open()方法可以初始化并返回一个gorm.DB结构体,这个结构体封装了GORM框架所有的数据库操作方法,下面是gorm.Open()方法的定义: func Open(dialect string, args ...interface{}) (db
阅读全文
摘要:安装Gin 1、配置代理 请查看:https://github.com/goproxy/goproxy.cn/blob/master/README.zh-CN.md go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direc
阅读全文
摘要:XMeter API: 一站式JMeter接口测试SaaS服务 XMeter API提供了基于JMeter的一站式在线接口测试服务,包括了以下的服务: 1)优化的在线测试报告:如下图为在线的测试请求、返回结果查看,跟踪和预览 图形化的测试报告,报告可以随时共享给团队中别的成员。 2)持续测试的能力,
阅读全文
摘要:前期准备 1.beat插件安装 pip3 install django-celery-beat 2.注册APP INSTALLED_APPS = [ .... 'django_celery_beat', ] 3.数据库变更 python3 manage.py migrate django_celer
阅读全文
摘要:平均负载 实时监控平均负载,高亮显示变化的区域 watch -d uptime CPU指标篇 CPU个数 grep 'model name' /proc/cpuinfo | wc -l Sysstat Sysstat是一种在Linux系统服务器中常用的软件工具包,可以用来监控服务器的性能。比如可以监
阅读全文
摘要:python-redis-lock 多个redis客户端访问同一个redis服务端,控制并发。 github:https://pypi.org/project/python-redis-lock/ 在使用这个库之前,需要安装如下: pip install python-redis-lock 使用锁的
阅读全文
摘要:分支新建 用PyCharm打开clone至本地的Github_From_PyCharm项目,点击右下方的Event log下面的Git:master可以查到到该项目的分支信息,如下图:可以发现,该项目在本地、远程Github上都只有一个默认的master分支。点击“+New Branch”可以创建新
阅读全文
摘要:简单应用部署 一、目录结构: └── Pythonpro #目录 └── test.py #文件 └── requirements.txt #文件 └── Dockerfile #文件 二、编写Dockerfile文件 # 基于镜像基础 FROM python:3.6.4 # 创建代码文件夹工作目录
阅读全文
摘要:介绍 开发最常见的场景:我们要有数据库,应用代码,nginx,互相配合才是完整的环境。 docker 官方推荐每个 docker 容器中只运行一个进程,我们需要分别为我们的应用、数据库、nginx 创建单独的 docker 容器,然后分别启动它。 此时这几个 docker 是分散独立的,如果我们单独
阅读全文
摘要:目录准备 目录结构: ─/home/mysql ├── conf.d └── my.cnf ├── data ├── start.sh my.cnf:mysql配置文件 [client] default-character-set=utf8 [mysqld] character-set-server
阅读全文
摘要:lsof lsof(list open files)是一个列出当前系统打开文件的工具。 lsof 查看端口占用语法格式: lsof -i:端口号 实例 查看服务器 8000 端口的占用情况: # lsof -i:8000 COMMAND PID USER FD TYPE DEVICE SIZE/OF
阅读全文
摘要:1、拉取镜像首先执行如下命令将镜像下载到本地:注意:rabbitmq 是官方镜像,该镜像不带控制台。如果想要安装带控制台的镜像,则需要在拉取镜像时附带 tag 标签,例如:rabbitmq:management。 docker pull rabbitmq:management 2、创建挂载本地的da
阅读全文
摘要:目录 前言 hello Vue Vue挂载 数据绑定 事件绑定 计算属性和侦听器 条件渲染、列表渲染 双向绑定 前言 Vue.js 是一套构建用户界面的渐进式框架,你可以选择使用它的一部分功能,也可以使用全部功能。 以下代码的环境:https://codepen.io/pen hello Vue V
阅读全文
摘要:最近项目中用到celery很多,Django快速接入celery,这里给份教程。 准备 pip安装celery、flower、eventlet 快速接入 1.项目目录的__init__文件 from __future__ import absolute_import # This will make
阅读全文
摘要:一、创建vue项目 创建进入存放项目的目录 创建项目 vue init webpack 项目名 安装依赖 npm install 详细查看:https://www.cnblogs.com/-wenli/p/13714707.html 二、配置Pycharm 用pycharm打开vue项目 添加vue
阅读全文
摘要:Node.js安装配置 安装配置教程:https://www.cnblogs.com/aizai846/p/11441693.html 注意:使用npm下载包的时候配置代理 临时使用淘宝镜像 npm --registry https://registry.npm.taobao.org install
阅读全文
摘要:Flask-SocketIO服务端 安装Flask-Sockets很容易: pip install flask-socketio 注意Flask-SocketIO依赖gevent库,目前它仅可以在python2上运行(译者注:python3.6测试也可以)。gevent很快也会对python3支持。
阅读全文
摘要:平均负载 查看平均负载每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或者 uptime 命令,来了解系统的负载情况: 02:34:03 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.88 分别对应: 02:34:03 :当前
阅读全文
摘要:最近公司部门使用go-FastDFS做文件存储,在这里记录一下。 go-FastDFS 简介 项目地址:https://github.com/sjqzhang/go-fastdfs 编译版本下载地址:https://github.com/sjqzhang/go-fastdfs/releases 中文
阅读全文
摘要:前期准备 redis原生并不带布隆过滤器,需要单独下载并自行编译和加载。 1.下载redisbloom插件(redis官网下载即可) https://github.com/RedisLabsModules/redisbloom/ wget https://github.com/RedisLabsMo
阅读全文
摘要:Redis 中的 GEO(地理信息)类型 1 概述 2 GEOADD,添加成员的经纬度信息 3 GEODIST,计算成员间距离 4 GEORADIUS 基于经纬度坐标的范围查询 5 GEORADIUSBYMEMBER 基于成员位置范围查询 6 GEOPOS,获取成员经纬度 7 GEOHASH 计算经
阅读全文
摘要:JWT使用方式 关于jwt的三个部分,我这里不介绍了,我们看看JWT的使用方式: 首先,前端通过Web表单将自己的用户名和密码发送到后端的接口。这一过程一般是一个HTTP POST请求。建议的方式是通过SSL加密的传输(https协议),从而避免敏感信息被嗅探。 后端核对用户名和密码成功后,将用户的
阅读全文
摘要:前期准备 在虚拟开发环境中安装: pip install django-filter 在Django的项目配置文件中安装并配置django_filters应用: INSTALLED_APPS = [ ... 'django_filters', ] REST_FRAMEWORK = { # 过滤器默认
阅读全文
摘要:# -*- coding: utf-8 -*- # @Time : 18-11-23 上午10:27 # @Author : Felix Wang import requests import random import hashlib def get_pic(size=256): styles =
阅读全文
摘要:为项目设置目录结构是为了将功能类似的文件放置在同一目录内,增强项目的可读性和可维护性。如果一个python项目功能单一,代码量很小,那就没必要设置的这么复杂。 1,bin目录:是整个应用程序的执行文件目录,其中start.py文件是启动入口 2,conf目录:是整个应用程序的配置文件目录,confi
阅读全文
摘要:使用django实现注册登录的话,注册登录都有现成的代码,主要是自带的User字段只有(email,username,password),所以需要扩展User,来增加自己需要的字段 AbstractUser扩展模型User:如果模型User内置的方法符合开发需求,在不改变这些函数方法的情况下,添加模
阅读全文
摘要:背景 Celery 是一个强大的分布式异步任务处理和调度框架。基本上 Python 项目的异步任务,定时任务首先处理框架就是 Celery. 正因为 Celery 的处理时异步的并且是分布式的,当任务出现问题时追踪和调查就不是很容易。官方提供了 flower 可以用来查看任务的执行情况和执行时
阅读全文
摘要:1.找到file下setting的django配置: 项目根目录 项目的setting文件 项目的manage文件 2. 点击我这里vedio旁的下拉框,有一个add或者edit配置的选项,选择。 3.配置settings文件的位置,并选择python环境
阅读全文
摘要:今天推荐一个这样的开源工具,用于探索 Docker 镜像,各层内容以及发现缩小 Docker/OCI 镜像大小的方法。这个工具就是:dive。 工具地址:https://github.com/wagoodman/dive,Star 数:22k+。 这个工具可以清晰得看到镜像每一层都包含哪些内容,方便
阅读全文
摘要:快速测试 创建项目与app django-admin startproject mysite django-admin startapp app1 django-admin startapp app2 mysite下的urls.py文件 from django.contrib import admi
阅读全文
摘要:一、使用 1.首先下载最新分支版本xadmin: https://github.com/nocmt/Xadmin1.11.x/archive/master.zip 2.解压并将其中的xadmin文件夹全部复制到自己的项目下(app同级目录): 然后在 settings.py文件的INSTALLED_
阅读全文
摘要:前言 前面我有跟你介绍过 SQL 语句基本的执行链路,这里我再把那张图拿过来,你也可以先简单看看这个图回顾下。 首先,可以确定的说,查询语句的那一套流程,更新语句也是同样会走一遍。 MySQL 的逻辑架构图你执行语句前要先连接数据库,这是连接器的工作。前面我们说过,在一个表上有更新的时候,跟这个表有
阅读全文
摘要:本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构。 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_info where id = 1; 返回结果为: + + + + + + + + | id | user
阅读全文
摘要:CPU 1.worker进程数量应当等于cpu核心数配置语法:worker_processes number | auto;比如:worker_processes auto;配置位置:main 2.worker进程绑定cpu配置语法:worker_cpu_affinity cpumask 1000
阅读全文
摘要:k3s介绍 Kubernetes已经改变了如何大规模部署和管理容器化工作负载。现在开发人员面临的挑战主要在于设置过程的复杂性和资源需求量巨大。如果你深受内存不足的困扰,想要部署轻量级Kubernetes集群来减少内存占用,那么你一定要考虑由Rancher Labs发布的轻量级Kubernetes发行
阅读全文
摘要:简单介绍 Statsd:一个nodejs的客户端,用于向graphite的收集器发送数据,使用各类编程语言的客户端响起发送timer,counter等统计数据后,其通过udp定时向graphite发送数据。 Statsd 最早是 2008 年 Flickr 公司用 Perl 写的针对 Graphit
阅读全文
摘要:在上一节的基础上:Grafana+Prometheus:容器化运行Grafana+Prometheus 1、增加redis exporter #下载镜像 docker pull oliver006/redis_exporter #运行 docker run -d \ --name redis_exp
阅读全文
摘要:Grafana 官网地址:Grafana 官方文档:Grafana文档 Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点: 1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富
阅读全文
摘要:限制容器内存 压力测试工具 stress 为了测试容器的内存使用情况,笔者在 ubuntu 的镜像中安装了压力测试工作 stress,并新创建了镜像 u-stress。本文演示用的所有容器都会通过 u-stress 镜像创建(本文运行容器的宿主机为 CentOS7)。下面是创建 u-stress 镜
阅读全文
摘要:部署Redis容器 1.查找镜像 docker search redis 2.拉取镜像 docker pull redis 3.创建挂载本地的data目录与conf目录 mkdir -p /home/redis/data /home/redis/conf 4.创建配置文件 cd /home/redi
阅读全文
摘要:快速开始 1.查找 Docker Hub 上的 nginx 镜像 docker search nginx 2.拉取官方的Nginx镜像 docker pull nginx 3.在本地镜像列表里查到 REPOSITORY 为 nginx 的镜像 docker images nginx REPOSITO
阅读全文
摘要:开始之前 如果你有一些需要持续更新的数据并且希望持久化数据,或者需要在不同的容器之间共享数据,再者需要主机与容器之间共享数据,那么你可以使用数据卷来满足这些需求。 数据卷定义 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用。 对
阅读全文
摘要:概述 这篇文章分享 Git 分支设计规范,目的是提供给研发人员做参考。 规范是死的,人是活的,希望自己定的规范,不要被打脸。 在说 Git 分支规范之前,先说下在系统开发过程中常用的环境。 简称全称 DEV Development environment FAT Feature Acceptance
阅读全文
摘要:作者:池剑锋 译来源:Docker|2018-04-12 13:35 最近有些同学问我 NodePort,LoadBalancer 和 Ingress 之间的区别。它们都是将集群外部流量导入到集群内的方式,只是实现方式不同。让我们看一下它们分别是如何工作的,以及你该如何选择它们。 注意:这里说的每一
阅读全文
摘要:pod内部容器之间 在Pod中运行多个容器,使得它们之间的通信非常直接。他们自己的通信有几种方法。 通过共享卷通信 在Kubernetes中,Pod中的容器可以将共享卷当做一种简单和高效的共享数据方式。在大多数场景中,使用主机上的一个目录,并在多个容器间共享,是一种高效的方式,比如日志处理。 我现在
阅读全文
摘要:kubectl命令列表 kubectl run(创建容器镜像) kubectl expose(将资源暴露为新的 Service) kubectl annotate(更新资源的Annotations信息) kubectl autoscale(Pod水平自动伸缩) kubectl convert(转换配
阅读全文
摘要:k8s的控制器类型 控制器又被称为工作负载,pod通过控制器实现应用的运维,比如伸缩、升级等 Kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制Pod的具体状态和行为 1、deployment:适合无状态的服务部署 2、StatefullSet:适合有状态
阅读全文
摘要:yaml基础 yaml编写规则 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tal键,只允许使用空格 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 ”#” 表示注释,从这个字符一直到行尾,都会被解析器忽略 YAML只有两种结构类型需要知道: lists, maps YAML Maps
阅读全文
摘要:什么是Pod Pod直译为“豆荚” ,你可以把它想象成一个“豆荚” ,然后里面包着一组有关联关系的“豆子”(容器)。一个豆荚里的豆子,它们共同吸收着同一个养分,Pod也是如此,里面的容器共有着同一组资源。K8S官方文档对Pod的描述是:A Pod is the basic building bloc
阅读全文
摘要:Docker API种类 docker 的api遵循rest的风格,可以查看https://docs.docker.com/engine/api/; docker官方主要有三大对外api: Docker Registry API Docker Hub API Docker Remote API 1.
阅读全文
摘要:Docker Hub 目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了数量超过 2,650,000 的镜像。大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。 注册 你可以在 https://hub.docker.com 免费注册一个 Docker
阅读全文
摘要:互斥锁与自旋锁:休眠还是“忙等待”? 我们常见的各种锁是有层级的,最底层的两种锁就是互斥锁和自旋锁,其他锁都是基于它们实现的。互斥锁的加锁成本更高,但它在加锁失败时会释放 CPU 给其他线程;自旋锁则刚好相反。当你无法判断锁住的代码会执行多久时,应该首选互斥锁,互斥锁是一种独占锁。什么意思呢?当 A
阅读全文
摘要:起步 Python 提供的多线程模型中并没有提供读写锁,读写锁相对于单纯的互斥锁,适用性更高,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。 通俗点说就是当没有写锁时,就可以加读锁且任意线程可以同时加;而写锁只能有一个线程,且必须在没有读锁时才能加上。 简单的实现 impo
阅读全文
摘要:下面介绍使用python字符串替换的方法; Python字符串替换的几种方法 1. 字符串替换将需要替换的内容使用格式化符替代,后续补上替换内容; template = "hello %s , your website is %s " % ("大CC","http://blog.me115.com"
阅读全文
摘要:一、单个简单的key存储的value很大 二、hash, set,zset,list 中存储过多的元素 三、一个集群存储了上亿的key 四、大Bitmap或布隆过滤器(Bloom )拆分 背景 业务场景中经常会有各种大key多key的情况, 比如: 1:单个简单的key存储的value很大 2:ha
阅读全文
摘要:使用RabbitMQ消息队列时两个重要的考虑因素是:吞吐与可靠。有的场景要求高吞吐,有的场景要求高可靠。在系统设计时候如何平衡消息队列的的吞吐量与可靠性,是使用好RabbitMQ消息队列的关键。 这篇文章列出RabbitMQ的最佳实践,基于吞吐量与可靠性两个指标,给出怎么做是好的、怎么做是差的指导,
阅读全文
摘要:一.线程定时器Timer原理 原理比较简单,指定时间间隔后启动线程,适用场景:完成定时任务,例如:定时提醒-闹钟等等. # 导入线程模块 import threading timer = threading.Timer(interval, function, args=None, kwargs=No
阅读全文
摘要:前言 使用rabbitmq的时候,当你客户端与rabbitmq服务器之间一段时间没有流量,服务器将会断开与客户端之间tcp连接。 而你将在服务器上看这样的日志: missed heartbeats from client, timeout: xxs 这个间隔时间就是心跳间隔。 heartbeat通常
阅读全文
摘要:系统层面 - CPU - user, system, iowait & idle percentages - MEM - used, buffered, cached & free percentages - Virtual Memory - dirty page flushes, writebac
阅读全文
摘要:最近使用了分布式追踪系列:OpenTracing与Jaeger那些,日常的话可能很难使用,我实现了一种简单的调用追踪。 import uuid import os import time l = [] class Recorder(object): def __init__(self,servern
阅读全文
摘要:前言 在web应用中,为了节省流量,降低传输数据大小,提高传输效率,常用的压缩方式一般都是gzip,今天我们来介绍另外一种更高效的压缩方式brotli。Brotli 是基于LZ77算法的一个现代变体、霍夫曼编码和二阶上下文建模。Google软件工程师在2015年9月发布了包含通用无损数据压缩的Bro
阅读全文
摘要:转载:HTTPS和SSL优化使用心得之:减少等待时间与降低Https性能损耗(Apache/Nginx) 随着大家上网安全意识的增强,以及各大主要互联网公司对Https普及工作的推动,HTTPS SSL现在基本上成了建站的标配了。得益于Let’s Encrypt、Digicert、TrustAsia
阅读全文
摘要:HTTP发展历史 HTTP/0.9 (1989)短连接,无状态,它只有一个 GET 方法, 没有首部, 设计目标是获取HTML(没有图片, 只有文本) HTTP/1.0 (1996)在 HTTP/0.9 版本的基础上新增了大量内容,加入了许多重要概念: 首部 响应码 重定向 错误 条件请求 内容编码
阅读全文