BAE3Python版本上用cache存储django的session的方法
:Baidu    :kukei    :2013-11-04 13:06:52
:评论(2)

Django是一个自带session功能的python版web框架,session的支持存储方式支持memcache,数据库,文件等;当然最快的自然是memcache了,但是当将django应用部署到bae3上的时候会发现,按默认的配置是无法成功运行起来的,原因是bae3提供的cache是非标准memcache接口;

bae3提供的cache接口与标准接口相比有以下两个差异:

  1. cache初始化时需要提供用户名密码;这个可以理解,因为bae3的cache是分布式的,并非和应用在同一主机,bae需要搞清楚那个应用的cache在哪儿部署着呢。

  2. cache的key值必须是string类型,我用unicode就报错了。

鉴于以上的情况我们需要修改一些django提供的session引擎,就是修改setting.py文件中的“SESSION_ENGINE”为自己的类, 比如我就把它改为“SESSION_ENGINE = 'sd.com.lib.se.....

BAE3.0初探
:Baidu    :kukei    :2013-11-01 17:51:09
:评论(3)

BAE3.0发布了有段时间了,我早已经有了测试权限我还不知道,是在调试其他问题时BAE的工程师提醒我的,我就关注了一下BAE3.0,并且把我的应用sdlog迁移到了3.0上。

BAE3.0给我的第一感觉很好(难道是我对老界面审美疲劳了?),因为前一段我用BAE上的Frontia做了一些测试,还做了一个小的Android应用在百度商店发布了,所有这一切都在BAE3.0的界面上做的操作和管理。

就BAE3.0上的云引擎而言,已经摆脱了SAE模仿者的影子,是一个全新的模式;可以给一个应用调配多个执行单元(每个执行单元相当于一个虚拟机,据说一个单元可以支撑一天千万级别的访问,不带cache和数据库);mysql数据库提供了地址、用户名、密码、端口,这样开发者使用起来和迁移起来都更方便。提供了更多样的日志类型,提供了NFS功能以及原来2.0上的其他服务。这次还提供了本地开发环境,虽然很复杂,而且我也没安装成功,但是依然欣喜。

BAE上安装第三方.....

百度云平台上Frontia之初探(一)
:Baidu    :kukei    :2013-10-14 17:51:47
:评论(2)

使用百度云平台BAE已经有一段时间了,不过以前一直用的是web应用方面的服务,包括计算,服务器,数据库,网络,文件存储等。现在要说的是移动app开发的模块Frontia,它提供了一包,包括的数据存储(应用数据,应用文件,个人数据),推送,社会化登陆功能。

功能说明:

  1. 应用数据存储;存放在bae的MongoDB中,能在bae那个方便的查看和修改数据,不方便的是不能自由建立表,数据都存放在MongoDB的Frontia表中;数据存储的免费容量为1G。

  2. 应用文件存放,放在bae的云存储中,我现在还没使用,使用代码和应用数据类似。我觉得应该是在云存储中建立一个名字叫Frontia的Bucket,上传的文件放在这儿。

  3. 个人数据;这个是和百度个人云存储里关联的,就是上传的数据放在个人网盘里,想很好啊。

  4. 推送;

  5. 社会化账户登陆。


使用中遇到的问题:

  1. 报错“java.lang.NoClassDefFoundError: com.baidu.frontia.ba.....

测试百度相册的外链
:Baidu    :kukei    :2013-06-09 16:25:46
:评论(1)

关注百度相册已经有很长的时间了,想用它做图床,因为图片太耗流量了。

现在我用的bae的bcs放图片,1天5g的流出流量要收费4元左右,这个不好,应该想办法看看百度相册怎么使用。

先看看百度相册的图片能发不来不?


这个地址是那个百度相册中图片分享的那个中中得到,那个地址看百度加了个“referer=e44671690dd79123b9f7a04409b1”来判断来源,如果不加这个数就得不到图片,如下:


我们看到图片成了百度的公益广告了,看来关键点就在referer这个参数上,但是这个值是否是随机的,是怎么生成的还有待研究。

BAE-python使用了一段时间后的感受
:Baidu    :kukei    :2013-05-08 09:40:16
:评论(0)

正式将本站迁移到bae上短时间了,之所以能够决定迁移到bae是因为bae-python的性能提升上来了。如果整个页面使用缓存也能够达到50ms的耗时,但实际应用中许多情况是缓存数据然后用数据和模版生成页面,这样耗时为140ms左右, 这样速度我还是挺满意。看到这个效果后我最终决定将本站迁移到了bae。

其实想迁过来还有其他的考量:

  1. 技术支持人员多,交流快捷,无障碍。

  2. 看好百度云平台的发展势头。

  3. 希望能和百度网盘结合起来。

  4. 感觉百度搜索会优先考虑自己平台上的应用,自己感觉。

一些疑问:

  1. bcs流量收费,但是没防盗链,这样就等着被耍流量吧。今天得到回复,下周防盗链可以使用,拭目以待。

  2. 计费资源报表感觉与实际相差太大。我有一个站点,有天不到200的pv,计费统计竟然有4千多的请求次数,40M的流出流量。我的站点一个页面加上各种静态资源有10个左右的请求,但是静态都是走的cdn,所以我的估算不会有这么多请求和流量,亟待沟通。

  3. bcs上个cdn吧。

但是毕竟.....

百度云平台之BCS的疑问
:Baidu    :kukei    :2013-04-19 10:55:19
:评论(1)

云储存是各种ae云平台的标准配置,但是使用方法和提供接口各有不同。百度提供了基于网盘PCS和基于云计算的BCS(我认为两者的区别就是前者提供外链,后者可以提供)。和PCS类似的有金山网盘、新浪微盘,和BCS类似的有sae的云存储、google的云端硬盘(可惜据说世界上还有三个国家不允许使用,我们有幸在此列)。今天说的就是百度的BCS。

基于百度强大的服务器和网络,BCS性能还是可以让我们放心的;但是在使用上我就感觉到了诸多的不便,或许是百度想改变我们的使用习惯,或许是这些功能正在完善?不得而知。

急切的问题:

  1. 访问控制。

    可以设置属性为私有,但是无法设置白名单域名,即无法实现只有自己的域名才能访问云存储中的内容。这个功能sae是有的。

  2. 目录接口

    对象列表接口提供了指定前缀的功能,但是有关于目录的参数,会将目录和子目录下的所有对象全部列出;且没有目录列表接口。现在云存储默认的大小是20G,存1万个文件不夸张吧,不按目录管理,你想找到其中一个文.....

bae-python架构升级了,性能提升较理想
:Baidu    :kukei    :2013-04-17 20:37:51
:评论(0)

上周bae-python架构升级了,就是在底层框架预加载各种类库,不需要每次访问都加在一次,这样页面的响应时间就打打提升了。根据我自己的感受,同一个应用,响应时间由2.5缩减到了500ms了。可是500ms的不是我想要的,因为在sae上这个应用耗时200ms不到,我希望优化后的耗时至少比sae的小。最后经过cache的优化我的应用耗时到了60ms。

同一个应用在sae上的地址http://quke.org,在bae上的地址://bae.quke.org,下面这张图片是在17ce.com上的速度比较的图片:


上图显示的应用为同一个程序,cache的缓存都打开了,缓存的内容也一样。我们可以看到大部分节点bae都比sae快,总体上bae获胜。

对于这次bae架构升级,虽然在速度上能让人满意,但是还是有几个担心:

1.应用需要预热,需要每个云上都在底层加在了共享的框架。但预热多少次不知道。

2.稳定性不足,就是预热以后仍然偶尔出现耗时2.5s打.....

百度联盟的广告投放策略
:Baidu    :kukei    :2013-03-19 14:36:29
:评论(0)

今天用百度搜索了“职称英语”这个关键词,并浏览了一些搜索出来的连接。之后就发现了一些奇怪的现象,当我打开网站http://quke.org趣客时,发现这个上面的百度联盟广告全部显示的为“职称英语”相关的内容,什么“秘密试卷”,什么“一小时熟背就过关”等信息,而且这些信息在我关闭浏览器之后3小时候再上网同样会显示出来,难道这就是我的cookie被搜集后能实时跟踪到我的情况么?

场景

我使用的是360极速浏览器的极速模式打开百度首页,此时默认用的百度账号已经登陆了百度网站,我搜索了“职称英语”这个关键词,在百度所所列的连接中我打开了10个左右的连接,并浏览这些信息。随后又在“职称英语”这个此山加了“时间”,“打印”等次再次搜索,之后浏览信息,使用百度结束。

之后我用同样的浏览器打开网站http://quke.org趣客时发现,上面的百度联盟广告全部显示为我刚才搜索的关键词信息。

分析

问题:当我浏览网站http://quke.org趣客时,百.....

BAE收费策略公布了
:Baidu    :kukei    :2012-12-26 08:57:01
:评论(4)

在BAE上测试也已经有一段时间了,我一直使用python环境,对BAE有两个担心,一个是BAE对python不够重视,投入力量不足导致python环境的bug和稳定性不足;另个担心就是BAE一直未公布的收费策略,昨天晚上登录BAE的管理中心时看到了一些费用的提示,随后就在邮箱中收到了BAE的收费策略,我们来看看。

BAE计费说明

为了给您提供更加简单可依赖的应用托管服务,防止资源的恶意滥用,百度开发者中心计划于2012年12月25日起,对BAE(百度应用引擎)进行收费。
收费策略不以盈利为目的,致力于为开发者长期提供应用托管服务而制定。为了降低开发者的使用门槛,设有较高的免费配额,可以保证您在零付费的条件下,充分体验BAE。
除了免费配额以外,后期还会通过各种活动以优惠券的形式赠送开发者更多的优惠,请您放心使用BAE。

计费标准

云环境:按应用每天的实际消耗计费,每天凌晨生成前一天的消费账单

资源属性单价免费配额
流入流量0.6元/GB200.....
BAE平台2012年12月份的升级内容
:Baidu    :kukei    :2012-12-14 16:38:10
:评论(3)

我的应用虽然没有正式部署到bae上,但是我一直在bae上做测试,这几天看到bae有几个升级,值得一提。

  1. 每个应用一个云数据库。

    原来一个app账户下的所有应用公用一个云数据库,一开始接触bae我就觉得这样有问题,我不同的应用部署在一个账户下如果表明一样如何处理?终于昨天登陆bae控制台式发现了新的变化,就是一个应用至少有一个云数据库了,而且同账户下的云数据库可以共享,这样才符合使用习惯么,不错。

  2. 免费开通cdn功能。

    不爽的是cdn不是自动识别的,如果要用cdn,就要用cdn的路径。这样虽然可以自行控制哪些文件进行缓存,但是程序的迁移时会有麻烦。

  3. Execute request timeout问题似乎解决了。

    我以前一直抱怨的超时问题,经过bae系统升级似乎也解决,至少我手工测试阶段没再出现“Execute request timeout”错误。

另外值得注意的是bae的云存储还是所有app共用的,这个公用虽然问题不太大,但最好能增加一下容量.....