javascript - 关于nodejs作为中间层的疑问

查看:72
本文介绍了javascript - 关于nodejs作为中间层的疑问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

初学前端没有多久,想要使用nodejs来写一个项目练手,并且想尽可能模拟一下复杂的系统

假设我有三个独立的部分,

  1. 浏览器端开发能力(css,js)

  2. 服务器端开发能力(nodejs)

  3. 数据库端开发能力(mySQL) (假设使用python)

尽量让这三个部分独立开发各自的部分,所以数据库部分从nodejs里分离出来,nodejs只做服务器实现路由和提供静态文件功能。我觉得这大概是这种模式的优点吧。
这个方案是我在网上查资料时看到别人有用到,nodejs作为中间层,python作为后台数据提供源。
之前我写过的练手的项目,都是后台单一种语言,使用框架整合静态文件,连接数据库完成,比如python的flask,nodejs的express框架**


现在有两个疑惑的地方
1.现在服务端这里nodejs和数据库分离,想问下具体如何实现?比如用户点击某按钮,浏览器端ajax请求nodejs某路由/showdata,那么这个路由应该访问数据库取出data并以json格式返回给浏览器,我不太明白python作为后台,如何提供一个接口给nodejs,nodejs直接访问.py脚本?还是说服务器上运行一个python程序?希望得到一个尽可能详细的答案。
2.这种模式相当于多了一层数据通信,速度会更快吗?后台使用java或者其他语言带来的速度优势,可以弥补这多出来的一层通信带来的延迟吗?或者说仅仅是因为分离便于独立开发?

解决方案

  1. python提供http接口给nodejs用。

  2. 速度会慢一丢丢,但是职责会更清晰。

这样做的好处是

1.一个Server端(Python)可以服务于多个Client端(Node|iOS|Android)。
2.某一端可以随意换实现代码,只要保证http接口一样,比如后端某天想换java,写好接口测试直接换,都不用通知前端童鞋。

可以这样架构

Python负责数据存取。
Node负责页面渲染,用户权限验证。

这篇关于javascript - 关于nodejs作为中间层的疑问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆