SaaS架构(一) 弱后端强前端的尝试和问题

最近在公司项目组内部沙龙的时候,提出一个"弱后端强前端"的概念,其实已经在项目内部新的服务有做试点,我们整个SaaS系统,后端主要是JAVA构建,前端是Angular构建。"弱后端强前端"的思想,就是把放在服务器端的业务运算,转移到客户端来做,可以节省服务器端资源,同时服务器端可以将精力集中到提升快速响应上。

我这边也将我们项目组讨论的问题汇总出来,也欢迎大家来讨论 

问题1

某些逻辑丢到客户端去做会影响用户体验(例如导致浏览器卡顿或者卡死)那就得不偿失,用户体验第一。

1.1 如果搬到前端的业务计算,涉及了频繁DOM操作,可能会影响到用户体验
1.2 如果搬到前端的业务计算,涉及了频繁调用API,可能会影响到用户体验

问题2:

用户的硬件配置是不可预知,而服务器的配置是可以预期的

问题3:

前端JavaScript和TypeScript计算精度的问题

问题4:

放在前端计算 - 高频的简易计算
放在后端计算 - 复杂、需要精准或计算有一定保密性的数据,例如涉及到财务、需要隐藏的算法

上面这种划分准确吗?有没有遗漏?


问题5:

SaaS系统内将计算能力搬到前端,需要注意保持项目内的一致性,好不好统一来管理。同类数据/逻辑,比如不能说一些地方服务器端跑,一些地方又客户端跑。

上面汇总的问题都属于开放性的问题,欢迎大家留言和补充新问题~

原文地址:https://www.cnblogs.com/hlkawa/p/12671161.html