欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Magento从架构上来说,主流的评价如何?

程序员文章站 2022-05-16 09:55:50
...
先说下自己的一些看法。
magento 的可配置性很强,但是大量的xml导致了很多问题,比如,xml一个错误的配置很难跟踪到,而且没有工具,去维护xml会很困难。

magento 中存在的bug很多,比如,图片上传的那个flash工具,真的是各种恶心。还有在迁移过程中,很多时候并不顺利。还有比如合并CSS这个功能,基本上是不能用的。

js框架还用了prototype也是个很头大的问题。

等等。。。。

回复内容:

magento不适合国内企业构建自己的电商平台,理由如下:1、magento开发人员在国内虽然不少,但基本上都是专做外包或外贸类型的,并没有进入深层次的定制开发,即一句话:在国内要招聘对magento熟悉的人难;
2、magento上手难:这一点能创业型的公司注重成本上来看是致命的;
3、magento由于*的复杂型,magento2前的版本用的是EAV模型,虽然EAV模型听起来强大,但实际其复杂的逻辑其不利于快速开发,即开发效率低下,而且在magento2中已经彻底抛弃了EAV模型了。
4、升级困难:升级包括程序上的与数据结构上的,先不说程序上的那一大堆XML配置文件,就是数据表方面,由于magento2之前的采用的都是EAV模型,数据分散存储,不利于升级与迁移,迁移的话更是麻烦多多,错了一条记录都会记致命的异常。
5、复杂的逻辑必然导致执行效率低下。
从国内用magento来构建国内电商平台的数量上来看,magento在国内电商平台上根本不算主流。有时用magento我都有这样的感觉:magento的强大是否与我有关呢? magento很强大,只要你肯花功夫,他什么都能给你,多店铺什么的完全没有问题,如果单为了求快速就浪费了magento,基本上你需要的功能它都有,还有很多免费和收费的第三方插件,收费的也不贵。说magento性能不好都是技术不过硬,计算机基础不好的人,只要你技术过硬计算机基础好性能都不是问题。 magento处理几十万产品?
几十万产品,日访问量5万ip,两天独立主机都要瘫痪,magneto的EAV模型,查一个产品join大约十几个表,十几万就等着死吧。,当产品10万,对应的custom option 大约得40万行,甚至更多,除非你重写产品模块。
magento的初始化非常雍容,大量的xml初始化,或许你会告诉我,他可以缓存起来,就算是缓存,这么大的量也得解析吧
网上很多人,说magento很好用,然后扯优化,不建议,就说水平不行,magento的官网推荐产品是5000个,因为大量的表join不适合太多产品数据,了解EAV就会懂这个
其次就是magento的index manager 为了提高速度,magento吧eav表重新搞成flat 表,还有重写等其他,设计是很好的,但是在线上,时间久了,索引每段时间都会出问题,新产品上架频繁,经常出现sku搜索不到,url rewrite部分失效问题,需要重新刷新索引,重新刷新索引,产品少还好说,如果产品多,然后再开10个语言,数据就很大,之前维护的magento网站,3万产品,12个strore(语言),刷新全部索引,没有8个小时,根本不行,而且刷新index的时候会造成锁表,造成线上不稳定。
好了就说这些吧,magento只是适合中小网站,二次开发也很费劲,如果网站有大量的功能重构,噩梦就开始了,让你开发了50个模块左右,性能有多卡就知道了
太灵活的xml,造成出了问题,排查问题比较费劲,有时候开发一个功能,造成其他的地方失效。
对于高并发的,日均10万IP的magento网站,没有varnish
根本扛不住,或许有人说,自己在线下测试并发多块多快,具体真正的线上就看出来,没有varnish缓存抗,尤其是做广告,流量不均衡,有时候流量一大,magento能卡成一坨屎,linux负载飙升。
总之,magento的所谓优化,基本都是各个层缓存,xml加载的雍容初始化,和product 的eav模型的大量join,注定这是一个笨家伙。
上面完全的否定magneto的性能,从另外一个角度看,magento的框架结构层次,堪称架构的教学课程!引入xml 和 eav 的设计模式,让magento的插件开发基本可以实现在不修改源代码的情况下修改任意功能,这是其他的框架无法比拟的。总是,magento不适合做1万+产品的应用。 当初公司要做一个多店商城,开始准备用magento.
不过速度太慢,由于是zf框架,太过于复杂。

最后选择了opencart,功能自己开发。类CI模版的,感觉不错。
不过大多数模块都自己重写了。 Magento2中文版发布 可在麦进斗科技网站免费下载 通过不断的本土化深入开发,我们相信Magento麦进斗在中文内贸商城上逐步实现领先优势,在全球贸易上没有同档次的竞争对手。

magento社区版优点(注意,仅仅是社区版,更遑论还有无数的插件和第三方应用支持,还有更强大的企业版)

1·功能强大,免费开源,没有许可证费用,代码在自己手里,完全属于自己的网店(社区版)

2·多货币支持,600多种支付方式,支持paypal,支付宝

3·本地化搭建,对本区域客户更加友好

4·第三方平台整合,可以与亚马逊,ebay,淘宝整合

5·完整的插件整合系统(2015统计,有8000个插件可以供选择),可以实现强大的功能拓展性

5·完美支持seo优化,支持url重写,从底层至模板,均以搜索引擎优化作为重要的设计要求。 Google站点地图

6·过亿次下载,除了有官方升级支持,还有magento社区,与爱好者一起交流,帮你解决问题。

7·用户角色管理功能,适合多职位,多用户操作,非常适合中大型企业以及多个网站整体把控的需求(如销售专员只可以访问销售板块,客服只能访问客户反馈板块)

8·支持企业应用集成,与ERP,WMS,CRM等软件无缝集成

9·强大的商品属性集合(如团购,批量销售,老客户专享价格等)。

10.以及灵活化的税率管理。

11.多店面管理多店系统可以让您配置多个网店,多个域名,但使用统一的管理控制台,节约您管理的时间和成本。

12.高级站内搜索引擎,多种搜索过滤选项,提供更加准确的搜索结果。

说实在Magneto确实太复杂,我自己用了大概7/8年了,遇到几百个问题,但我就老外论坛找解决方案,自己发问题,如果你是搞开发的,有难度其实才好玩,我想要的模块基本都能买到,不然找人开发也不贵几百刀就搞定,现在出了2.0版本很想升级看看 我自己经验来看,如果请技术好(不是国内哪些建站公司的所谓技术哦,你懂的),可以针对magento进行针对国内客户需求进行改写。因为Magento的高扩展性问主使用Magento是必须的,如果企业做到后面越做越大,就会深深的明白Magento有多强大。 或许M2能改变速度这一现状。 用magento一定是做海外b2c, 早几年我有过接触。但看了看里边的代码,感觉跟国内ec之类有些不同。如后来在wordpress里感觉的一样,老外模板语言不像国内这么直白简单。
说重点,我对zcart和magento一直神往,但不曾有经验。不过可以给你提供国内两个主流b2c的经验:shopex最要批评,后台24小时不间断被工具 漏洞太多 弱点太多 甚至还有不稳定。 ecshop很好,但很老 会有漏洞不可能再升级了。当初客户也是要求ec升级shopex,后悔了。。。。。 就这吧,需要跟我探讨可以联系我