聂同学

一个程序员和架构师的实践与思考

关于App服务架构风格的讨论

最近有架构师在架构师列表提问关于web/app服务器分离的架构风格。参与了讨论,摘录如下:

发起讨论邮件

现在在做一个面向企业用户的互联网的项目,我司一般的架构是基于web,app这样的架构。 我认为没有必要用app,只要web就ok了,本来的基于web,app的架构是想要将复杂业务逻辑的部门和面向网络IO的view层分离,做计算和IO的分离,但是一个简单的应用去用这样的架构是没有价值的,大家认为呢?
请大家发表下看法。

我的回复邮件

有一些看法供同学们参考、批评,如下:

  • “计算与IO的分离“不是一个目的,而是一个手段。用来解决某个工程风险的,比如性能、安全性等。要考虑web、app是否应该分离,不是考虑是否需要”计算与IO分离“,而是考虑是否存在这些工程风险,是否应该采用这种手段来解决。
  • 现在平安常用的web与app分离这个架构策略我理解有两个层面内容,这两个方面的必要性可以分开考虑。可以ab都要,可以只要a,也可以都不要……:
    • 逻辑划分层面,web和app放入不同的逻辑单元。这个是扩展性、互操作性的的考虑。比如有些系统会出现多个展示端,与其他系统的交互一般需要暴露在app层次等
    • 部署层面,web与app部署于不同节点。这个是安全、可用性方面的考虑。
  • w/a 分离作为企业推定架构策略,如果被裁剪是有一些隐性成本的,比如人员不适应,环境不标准等等。这些成本会削弱甚至抵消裁剪带来的成本降低,所以倾向于有确实的理由再裁剪。

8-D

架构

分享 -