如何用python开发环境移动App后台?需要掌握哪些技术

我的移动应用后端技术选型笔记 - 简书
我的移动应用后端技术选型笔记
我们的主业务逻辑采用php,另外有少量的node。
php从来都不是最好的语言,有些特性让人颇有微词,但是最适合我们。团队中基本所有人都比较熟悉php,而且上手快,出问题好解决。
部署方便,环境成熟,迭代方便。
主要是golang,其实用的不多,只是一些简单、又对性能有一定需求的服务。
比如ID生成服务,本机测试数据记不清了, 只记得局域网部署时跌到5w+/s左右,目前来看,在将来很久一段时间都是够用的。
这个服务我套用了memcached的服务端协议,所以php端可以直接复用memcached的php扩展。非常建议一些简单的服务器调用
直接套用成熟的协议,省时省力。
python2.7,virtual env管理环境
主要用在我们的代码发布系统。这个系统前后端都是我自己做的,也没考虑太多,会点python,直接选用了tornado框架。唯独比较
不爽tornado的会话管理。
python简单易上手,也不怕以后不好维护。这个系统上线有大半年了,目前稳定运行,但很待完善。
经典的lnmp环境,前端负载均衡+多台web服务。开始时测试搭建haproxy+keepalived,但是后来在aliyun上没法部署vip,便作罢用了aliyun的负载均衡。
数据库使用atlas做代理,很方便的实现分表(分库目前还没达到这个需求)。
我们的服务全部部署在aliyun上,主要考虑经验跟成本的问题。尤其在创业初期,机器托管维护的人力成本比较高的。云服务很大程度上可以帮我们解决这块短板。把精力集中到业务的开发上。
服务器的管理
目前采用的SaltStack,目前遇到一些问题就是SaltStack走zeromq时会有minion没回应或者超时就会丢机器的问题。
目前也在了解Ansible,好处是不要client,也支持多线程,关键是不会丢机器,缺点是playbook的依赖不如saltstack的sls好管理。
异步服务采用Gearmand,简单可靠,够稳定。我们用nodejs单独写了worker将job构造成fastcgj协议转发到php-fpm的服务上。好处是修改业务逻辑不再需要重启worker。
缓存使用了Memcached,没有使用redis是目前暂无持久化缓存的需求,而redis的结构化数据用的也很少,所以就没有引入新的概念。
日志目前使用rsyslog集中汇集到一台log服务器,日志量没有太大,用shell+awk清洗足够。后期需要加强。
另外采用Supervisord管理node、go、python等服务。
我们面临的问题
相对引入的技术偏多
环境不够成熟,需要完善(运维工具,性能调优)
缺少一个rpc服务(分离复杂的业务)
缺少大数据(现在的数据,awk足够,为了未来)
早知圈内事儿,关注“码农圈”1920人阅读
python+flask实现服务器:
安装python和flask略过,servicestest.py代码:
from flask import Flask, jsonify
app = Flask(__name__)
'id':1,
'title':u'Buy groceries',
'description':u'Milk, Cheese, Pizza, Fruit, Tylenol',
'done': False
'id':2,
'title':u'Learn Python',
'description':u'Need to find a good Python tutorial on the web',
'done': False
@app.route('/todo/api/v1.0/tasks', methods=['GET'])
def get_tasks():
return jsonify({'tasks': tasks})
if __name__ == '__main__':
app.run(debug=True)命令行下:python servicestest.py
之后浏览器:http://127.0.0.1:5000/todo/api/v1.0/tasks就可以看到运行的结果
运行结果:
description: &Milk, Cheese, Pizza, Fruit, Tylenol&,
done: false,
title: &Buy groceries&
description: &Need to find a good Python tutorial on the web&,
done: false,
title: &Learn Python&
}建议使用curl:
curl -i http://localhost:5000/todo/api/v1.0/tasks
运行结果:
虽然很简单,毕竟是第一次能运行,还是记录鼓励下自己。
参考:/vovlie/p/4178077.html
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:110794次
积分:1852
积分:1852
排名:千里之外
原创:66篇
转载:57篇
评论:17条
(1)(3)(2)(1)(1)(2)(1)(1)(1)(2)(3)(6)(4)(1)(1)(7)(3)(3)(2)(3)(1)(1)(5)(3)(2)(4)(6)(2)(2)(1)(2)(1)(2)(3)(15)(6)(3)(8)(8)(1)问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
我想做一个app,后台打算用python来写,业务不复杂,也不用考虑性能问题,但之前没怎么接触过后台,不知道需要搭建一个什么样的技术栈,什么服务器跟python搭配得比较好?还是不用考虑,直接来一个简单的http服务器就行?框架只是听过django,但它似乎是个大而全的全栈框架,用这样的框架会不会小题大做?
能不能列一下后台的技术栈?谢谢~
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
不会。 业务不复杂,没有高并发需求用 Django 写后台绰绰有余。 如果用 Django 的话通常的生产环境解决方案:
前端服务器: nginx 。主要做静态资源发送和动态请求转发至后端服务器;后端服务器: uWSGI 。主要做后端服务器,说白了就是运行 Django 应用的服务器;
需要注意的是用 Django 做 app 的后台需要写数据接口( API ),这块需要用到数据序列化( json、 xml )等, Django 提供的 serializer 序列的数据比较复杂,不适用于直接输出,可能需要
或者自己写个序列器,之前我写过一个序列化服务,如果需要你可以看看:
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
一般的app,都不需要考虑太多压力,又不是上百万日活的项目
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
如果项目不大的话。不建议用Python,可以试试PHP,开发部署都很快。django是一个比较大的框架,你可以试着按照官方网站上的教程走一边。轻量级的选择 flask,起码两个小时就能用。可以留下项目地址,帮你参考
同步到新浪微博
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 python开发工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信