我发现我最近在做的一个东西,向服务器发一个请求,再把数据取回来,要花2秒多的时间,相当影响页面的加载。
这一块也会产生瓶颈吗?你们有事怎么处理的?
ps:说实在的,因为搞这个分离,导致要开发很多接口,后端和前端的压力都大了不少……让我总对这种分离的思路很不看好。
这一块也会产生瓶颈吗?你们有事怎么处理的?
ps:说实在的,因为搞这个分离,导致要开发很多接口,后端和前端的压力都大了不少……让我总对这种分离的思路很不看好。
|
yemoluoSep 8, 2014
1
先做了再说. 分离前期很痛苦,后期很欢乐
|
|
learnshareSep 8, 2014
2
前后端分离,其实是降低了服务器的压力,提高了响应速度才对。后端搞成 RESTful 的话,应该有很多框架可以用,能够大大降低开发难度和工作量。
响应慢的话,测试一下慢在哪里就好了。实在很慢,可以加一个 loading 效果到页面里,这样也比整页空白要好的吧。 |
|
3
|
|
ferockSep 8, 2014 via iPhone
4
慢怎么都慢,不分离你就快了?
|
|
gno23xSep 8, 2014
5
2s多,这时间一般不是耗在建立请求,看下服务端的io操作耗时多少吧。
|
|
fansekeySep 8, 2014
6
经过长期测试,前端获取数据这种方式,性能很是问题。
组建大UI才是王道。可以服务器端架设UI层,来从数据层获取数据支撑业务逻辑、模板渲染。 UI层可以直接由前端负责,后端依然是restful接口。 |
|
loadingSep 8, 2014 via Android
9
不说具体场景都是耍流氓!
|
|
chshouyuSep 8, 2014 via iPhone
10
我们这的后端不懂jsonp。。。
|
|
fengliu222Sep 8, 2014
11
个人认为,先分析一下这2秒钟都花在了什么地方,如果是服务器端返回的慢,那应该不是前后端分离的问题。
|
|
kanegSep 8, 2014
12
如果你不是做什么很复杂的业务操作,后台操作2s基本上认为是有性能问题
|
|
learnshareSep 8, 2014
13
2s 可能的原因有很多啊,细细排查一下问题在哪里。
前后端分离利大于弊吧,不过就需要独立前端了,对小团队来说还是一个麻烦。 |
|
lygmqklSep 8, 2014
14
感觉不太可能出现这样大的差别。
|
|
wsph123Sep 8, 2014 via iPhone
15
这两秒又不是前后端分离本身导致的呀
这样放在一起才更慢,找为啥慢 别怨前后端分离 |
|
kzzhrSep 8, 2014
18
可以加个loading 进度条之类的动画来缓解延迟感
也可以参考coding.net这样先加载默认内容 反正不要把blank留出来就行 |
|
20
|
|
learnshareSep 8, 2014
25
@kokdemo 系统规模大的话,一定要好好规划,否则后边都是坑
|
|
missdeerSep 8, 2014
27
怎么感觉跟我司做法有点像,哦哈哈
|
|
incompatibleSep 8, 2014
28
@fansekey 这跟传统的cgi编程有啥区别?
|
|
fansekeySep 9, 2014
29
@incompatible 其实是现实的一种折中,把业务展现相关的交由同一拨人去开发,剩下的一波人就可以努力完善数据了。
|
|
takatoSep 9, 2014
31
@fansekey 单元测试可以,但是代码这道壁垒是很多测试工程师不愿意越过的(或者越不过的),而开发的思路总体和测试思路是不太一致的。所以会导致这个点上风险其实是比较大的,因为你的数据已经被包装成UI
|
|
fansekeySep 10, 2014
32
@takato 1. RESTful的数据接口是可以通过单元测试搞定。 2. UI层这块还是按照以前的测试方式可以搞定,因为原先最多就是直接访问数据库,并没有什么不同。3. 对于很多测试工程师不想越过代码,这个原因优点牵强。 如果是这样,单测完全可以由开发自己搞定,可以上ci等系统来保证功能正常。
|
|
35
@takato 嗯,你说的确实是现状。但是为啥有那么多的开发不愿意写单测,这个问题值得考虑。是否是写感觉浪费时间疑惑是写单测太难,或者单测经常修改。找到这些根结,是否就可以督促开发写单测了呢。比如单测太难,可能是设计分层有问题,经常修改可能是抽象不理想。写单测完全对开发是个互惠的过程。
虽然现状是这个样子的,但在有效的模式下是可以达到单测保证质量的这个目标的,只是时间问题。 |