归档 2015年4月

最后更新于 .

最近这一周都在忙kpush的项目,其实看名字大家也应该很容易联想到 jpush,确实名字相似,功能也是类似的。

kpush主要是用来解决app实时推送的问题。

有人要问,为什么明明有了jpush,百度推,还有各种大公司的推送,我还要自己写一个呢?

因为我实在受不了他们的某些限制。

  1. 表面免费,实际不交钱就会把你的到达率卡在某个值上永远上不去
  2. 限制太多,又是发送频率不能超过多少,又是哪些统计数据不交钱不能看
  3. 推送太慢,可能由于接入应用太多导致用户量级太大,所以他们不得不做了很多延时发送的处理,但其实对于小体量(百万连接左右)的应用来说,直接实时下发就ok了。套用某广告说的:我要的,现在就要!

而相对的,kpush特意解决了这些问题:

  1. 完全开源免费,随意部署
  2. 自带统计后台,看到真实的到达率和点击率
  3. 与客户端保持tcp长连接,并30秒心跳一次。所有推送消息均实时下发,不做任何延时。至于发送效率,瓶颈主要在gateway端,测试过200万链接发送也只需要几秒,所以对一般小体量的应用,部署一台kpush服务器完全够用。
  4. 支持分布式。如果真的用户量级很大(千万级),也可以轻松搞定

kpush服务器端也是基于maple来实现的。

github地址为: https://github.com ...

最后更新于 .

首先是对死者的哀悼,望逝者安息。

 

我认为,这件事情唯一对我们有用的启示是:

控制好自己的工作节奏,不要最后得不偿失。

然而,很多人却并不止于此。

以这件事情为导火索,很多网友开始发起了抵制加班的号召,这在我看来真的是居心叵测的。

作为一个个体,你完全有选择加班或者不加班,在这家公司或者不在这家公司的自由,完全不需要去号召什么。

那么为什么还要号召呢?

因为这些人心里明白,我要是不加班,我要是不努力,就会落在别人后面,赚钱比别人少,生活比别人差。

所以怎么办呢?

简单,让大家都和我一样不加班吧,这样不就都和我一样停下来了?

看看他们的说辞:

你对公司这么忠诚,对项目这么认真,你出事了,公司处理这么冷漠,你还那么努力干啥?

初听起来好像有点道理,仔细想想却狗屁不通。

这里面其实偷换了一个概念:

我努力工作,是为了让公司对我好一点

但事实上是:

我努力工作,是为了让我的生活好一点

好的公司会对你的努力变现更快一些,但是差的公司也并非就一定要和你的人生绑定在一起。

所以如果公司无法回报你,你想的应该是换一种处事方式,再不行换一家公司。

而不是因此而放弃努力。

一方面说着:世上最可怕的事情就是比你成功的人还比你努力;这世上大部分努力的程度还轮不到拼天赋的程度。

一方面又说着:珍惜生命,远离加班。

朋友圈里充斥着这些言论,选一种真正适合自己的吧。

最后更新于 .

最近在grahite上看到响应时间变得很长,虽说之前没有特意去优化性能,但是感觉也不应该这么差才对。

QQ20150406 1

我们的服务器框架用的就是我之前开源的 maple,每个命令字都对应一个入口函数,如下:

@app.route(2)
def login(request):
    logger.error("login: %s", request.gw_box)
    uid = request.box.get_json()["uid"]
    request.login_client(uid)
    time.sleep(1)
    request.write_to_client(dict(
        ret=0,
        body="login %s" % uid
    ))

所以只要找到一种方法分析这个函数对应的内部调用情况就可以了。

很方便的,python内置了cProfile类来完成我们想要的功能,我给封装成为一个装饰器,用起来更方便一些,当然在django和flask中也可以直接用。

def monitor_profile(func):
    import cProfile
    import functools
    @functools.wraps(func ...

每日归档

上个月

2015年2月

下个月

2015年8月

归档