本人前端,用某平台的开发app有一年多时间,现在对nodejs产生浓厚兴趣 ,学习一段时间,能搭建些小项目 ,但是对接触大点的项目,如app的需要电商,等复杂功能,好迷茫。怎样架构能支持app所需的各种需求。还是说 需要其他语言配合 。
我是坚决反对用node做电商平台的,PHP,Python,Java,有成熟很多的方案,这些平台的单机并发可能比不上node,但是作为一个电商方案,在乎的不是单机的那一点点性能,有比这更重要的东西。
@flamingtop 用node是因为 我们只会node 小团队 后台两个人都喜欢node 所以没考虑其他语言 其实不光是电商,最主要的是为app提供后台api服务。
PHP 的方案真的不少
OpenCart. PrestaShop. Magento Community Edition. Zen Cart. Spree Commerce. Drupal Commerce. osCommerce. simpleCart.
Python的成熟电商平台没有PHP多,但是从语言的角度来说,但语言本身比PHP的可维护性高一些,适合项目起步使用,复杂业务逻辑下用异步语言开发并不明智。
@xzduanerlei 架构是演进出来的,不是一步到位的,所以只有你知道瓶颈在哪里,那才是改进的动力,不要怕,电商类项目node处理是最简单的获取高性能的方式。另外非常好扩展
@xzduanerlei 一年多以前我有和你一样的苦恼,后来经过不断的摸索,终于解决了这个问题。其中困难不断,也没有银弹,需要结合实际问题一步步来。 为后台提供api服务这个倒是可以给你提供一个我们团队的开源产品:https://github.com/yfsoftcom/yf-api-server。 还有一些现成的客户端sdk:
- angular 1 https://github.com/yfsoftcom/ngapi
- nodejs client https://github.com/yfsoftcom/yf-fp-client-node
- java & android client https://github.com/yfsoftcom/yf-fp-client-java
目前产品已经在生产环境使用(10w用户,日均1千单,确实还小),状态不错。 使用的硬件配置也很屌丝(1核,1g内存),不过毫无压力。 希望对你有帮助〜
搭建一个功能丰富,性能强大的电商网站光用node是不满足的,node最擅长的还是个web app这个层,后面的service,分布式架构,MQ,DB,日志,运维,Cache都是一门学问,如果用node做这些最后是个大坑啊。
语言和架构不是一码事,对于大的电商网站来说,内部架构拆分为很多的微服务,每个服务又有很多的节点,全局上有服务治理的框架去统筹,然后做好监控,在发现哪个服务性能跟不上的时候,可以迅速的进行横向扩展提高吞吐能力。 在架构一团糟的时候,先去考虑语言的性能往往是一个舍本逐末的做法。