- 浏览: 983611 次
- 性别:
- 来自: 上海
最新评论
-
hsluoyz:
PyCasbin 是一个用 Python 语言打造的轻量级开源 ...
django guardian 对象级别权限设计 -
phncz310:
厉害了,我的哥
python黑魔法异常重试的次数,间隔的装饰器涵数 -
adamoooo:
Zabbix二次开发,可以试试:乐维监控www.91lewei ...
zabbix二次开发及app -
shi3689476:
你好,模块下载地址还能提供一下吗?
NGINX开发杀手锏-线程池 -
tobato:
Elasticsearch 和 Influxdb 为何选了El ...
elastic作数据源,对比kibana与grafana
文章列表
这个功能类似于chrome浏览器的网络诊断工具,不同点在于web,手机端化了。功能也没那么强悍。
需求:
解决用户打开app打开慢的疑问
环境:
kotlin
react
npm打静态资源包
gradle打动态资源包
编译及启动:
成品:
后期改进:
...
使用多线程注意点避免产生脏数据。如下三种方式避免产生脏数据。
第一种互斥锁
l = threading.Lock()
l.lock()
a = 10
l.release()
第二种使用本地变量
...
1.1. 背景
系统的有些业务时需要定时发消息通知。但是这些消息又不是有规律可循的。比如,商品的优惠是限时的。在之前的实现是有一个排查任务每5分钟都去去商品表中查询哪些有做活动的商品,并比较是否过了限时折扣的时间。但是类似的排程多了,就会出现在某个时候数据库的资源使用率特别高。
1.2. 解决思路
1、将参与限时活动的商品保存在另外一张表。
2、使用消息队列机制,选择限时商品的时候将商品信息和限时的时间传入消息队列。
看图说话.....................................................................................................................................................
产生worker timeout 的背景
while 1:
.....
time.sleep(1)
gunicorn运行起来,只等待了30s,就卡住了,没报任何异常或err,查了gunicorn 官方文档,原来是线程默认等待30s 就kill 掉,再restart
http://docs.gunicorn.org/en/stable/settings.html
timeout
-t INT, --timeout INT
30
Worke ...
需求背景:
海外购物即视感
技术echarts+ajax+django
echarts显示地图
ajax异步加载数据
django计算数据的后台,提供api,token验证
初步效果:
以上数据都是ajax从django后台计算好后,加载过来。
技术点分析:
(1)echarts基本语法
...
django的官网
celery的官网
rabbitmq官网
虽都有官网介绍使用方法,但在实际操作中,总会遇到坑,浪费不少时间去绕过坑。
坑1.官网没有说明rabbitmq对erlang的版本有要求,只说是fix了这个bug。
坑2.是内部原因,原来出于安全,封了不同网段,端口
坑3.celery加了装饰器,但函数进不到task,原来是默认配置设定了tasks,用了别的模块名就识别不了
坑4.使 ...
1.系统背景
统一收集各处系统的日志,方便后期统一查询,审计
2.系统技术栈
redis队列,用于接收接口post过来的数据
celery+rabbitmq,异步队列把post过来的数据存入mysql
http_api,接口
token认证
大表关联小表,并按月分区
简单的bootstrap页面
django
3.系统流程图
第二版方案
4.前端u ...
vanilla是django的一个框架,更高效,不过使用思路有点与众不同。
先看官方文档说明:http://django-vanilla-views.org/api/model-views
只有两种模式:base views ,model views
使用思路:
1.url层配 ...
异步任务用提celery.
队列用的是redis,rabbitmq两种
celery思路:
(1)引用celery
#coding:utf-8
from __future__ import absolute_import
from celery import Celery
app = Celery('T1',include=['T1.tasks','T1.call_tasks'])
app.config_from_object('T1.config')
if ...
在做一个系统jiraconnector,打通jira与cmdb,以工作流方式,让ira也能成为一个发布系统。
原理:
jira也cmdb本身是没有关联,需要一个扭带jiraconnector,通信是双向的,我这里用到了勾子,python_jira的api
画工作流:
再根据工作流设计程序流程图:
设计勾子,触发事件
...
动态流量切换路由降级方案之设计篇
nginx动态负载upstream四种方案之调研篇
动态流量切换路由降级方案之实现篇
1.流程图:
共享内存配置同步持久化到nginx.conf
cli操作方式:
3.web方式操作
adjx 式交互
总结:
看图说话!
app repository(版本仓库集中管理)系列之代码篇
app repository(版本仓库集中管理)系列之方案篇
app repository(版本仓库集中管理)系列之web篇
灵活扩展:
结合docker,把docker当成一个包,可以进行各种操作。
项目背景:
很多公司对于打出的包处理方式大概有:1.scp 传到各个节点 2.ftp跳到板(手动) 3.直接pull,compile .....
没有象maven这样方便包管理的工具,于是对标maven的包结构,自研一个。
护展1:在这基础上 ...
花了一天时间整理思路,把吸收知识吐出来,但发现知识结构太完善,太广了,一时不知从何说起,每一个点都值得深入,每一个面又是一个点,点与面又形成一个平台,好绕人。不过,把自已做过的东西跟大神一比,知道自已努力方向是对,想法是对的,差距也很明显,补。
简单总结各场次的相同点:
1.工具化
2.产品化
3.运营化
不同的业务场景需求:
1.cmdb
2.链路监控(从用户,本地网络,isp,cdn,负载,中间容器,缓存,db)
...
app repository(版本仓库集中管理)系列之代码篇
app repository(版本仓库集中管理)系列之方案篇
app repository(版本仓库集中管理)系列之web篇
思路:
提供两种方式上传,下载大文件:web,client_api
ps:下期出一个完整系列,期待,加入更多功能,重构代码,提供坚壮,高效,优雅的可复用的设计。
分步执行
1.服务端,客户端提供功能点:上传,下载,版本变更(流式解决大文件,避免占用内存)
2.定义路径。环境_应用_版本号_时间戳
3.多线程执行(上传,下载,版本号变更)
4.重传 ...