提升的Web框架/插件,适用于Twisted/Cyclone/Tornado(Web登录/用户/管理员)?

2024-06-07 21:08:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我在为可伸缩的物联网应用程序选择一些架构。在

我选择将我的项目建立在Twisted的基础上,并通过Cyclone框架来提供许多Tornado便利(websockets、auth decorators、安全cookies等)

使用扭曲的核心对我来说效果很好。我有许多IP协议和硬件接口,所有这些都证明在twisted内部有很好的库支持(向我的应用程序添加新的协议和接口是我最有可能的项目范围蔓延的角度),所有这些都需要非常低的CPU和提供非常高的连接计数。在

我的问题是二阶webapp功能。在

我加入了Cyclone,认为有了它的auth goodies(OpenID、oauth、user auth decorators和secure cookies),在我的webapp中实现用户/会话/管理功能不需要太多。在对我的数据库进行了500多行的抽象(通过txmongo)和只是建立用户登录之后,我清楚地发现我两个:

  1. 不明白旋风/龙卷风给用户/会话/管理空间带来的影响有多小,以及
  2. 如果你尝试构建一个多用户的auth webapp,你不知道要用多少代码来填补空白

一个朋友指给我看Flask,起初我认为这是完全多余的,直到我找到{a6}。Flask-Login和{a8}的组合将完全满足我的用户、会话和用户管理需求,从而使我无法编写我猜想的大约2k行代码。不幸的是,flask插件中充斥着阻塞代码和对阻塞库的调用。即使使用WSGIcontainers,我也不认为它们与我的项目兼容,因为每次页面加载都会出现用户/会话功能(另外,我看不到任何捷径可以让我将它们移植到异步世界,而不必进行大致等同于重写它们的工作)

我的问题是:

在python异步空间(。。。希望在Twisted空间中,考虑到我的协议需求),是否有任何插件或替代框架可以提供与Flask login和Flask admin类似的现成用户/登录/管理功能?在

另外,我把Klein看作是Flask的明显扭曲版本,但它似乎没有插件生态系统,而且我在那里找不到任何强大的用户/会话/管理员。在

在我写这个问题的时候,我已经写了我自己的(糟糕的)用户登录会话系统。所以我真正想要的是“管理”功能(用户风格记录上的自动CRUD函数,包括webui呈现,都是以扭曲/异步的方式设计的)。我在问题中询问了user/login,以防有一个已经集成的解决方案(比如flask login和flask admin),在这种情况下,我很乐意放弃我的代码,转而使用它。在


Tags: 项目代码用户功能插件auth应用程序协议
1条回答
网友
1楼 · 发布于 2024-06-07 21:08:03

你真的需要一切都异步吗?考虑异步WebSockets,但同步页面呈现。如果必须,可以添加一个异步下游代理或负载平衡器,这将实际上消除应用服务器的IO开销。在

相关问题 更多 >

    热门问题