自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 项目中错误类型的定义和思考

现在开发业务都是微服务,api调用rpc,rpc之间互相调用。除了常规的链接失败或超时以外,还有很多业务上的错误。为了使返回的错误码容易判断和查错,通常会靠一个统一定义的错误代码映射表。其实我们平时http的各种错误码也就是一个映射表。 有一种做法是代码里写死一个映射表文件,每次有新增去修改这个文件。但是当系统渐渐变大。业务可能会按模块进行拆分并接耦合,业务之间可能只是一个对接,代码repo...

2018-05-26 21:55:09 738

原创 Mysql死锁问题

最近遇到一个mysql抖动的问题,看写库的load和io其实都不高,但是会有突然的活跃链接的激增,查下来是发生了循环的死锁,以前不太了解这块知识,稍微看了一下,在这边总结下。INNODB通过MVCC实现了事务 在并发的环境中会有如下问题 1、脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据。 2、不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次...

2018-05-19 17:04:36 384 1

原创 python yield from用法

yield from是python3.3之后新增的用法,主要是作为caller和genertor之间的通道来使用的。先说从generator读,比如接受从yield出来的结构def generator(): for i in xrange(10): yield ifor i in (yield from (generator())) print i还...

2018-05-01 18:23:28 1712

原创 tornado实现python异步

这是facebook开发的一个异步调用库。gevent是future的模式,而tornado则是callback的那种形式。在其他语言比如java中,future本身就是一个实现好的接口,取值只需要调用get()获取返回然后再用框架比如Spring等等实现注入即可,而callback则预先需要定义好返回的结构体。在python中没有这个问题,因为是动态语言,返回的结果是可以即时的使用和处理的。 ...

2018-05-01 16:52:34 1138

原创 python用gevent实现异步

实际工作中,往往会使用碰到文件io或者网络io。 批处理大量文件或者做爬虫,如果使用同步的方式,大量时间都会消耗在io的等待上,尤其是网络IO,包括建立socket,下载,这个很大程度上取决于网络环境,比如我们去网上爬取一些图片做一些图像处理的训练啊等等。爬取后执行的动作耗时其实很短,90%的时间都耗在网络IO上了,我们就要考虑异步了。 比如我们爬取人人网,微博等平台的资料,因为大家的首页都是...

2018-05-01 13:45:38 4598 1

空空如也

空空如也

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

TA关注的人

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