分离后端和前端

时间:2010-01-10 18:34:04

标签: asp.net architecture

是否有任何理由在同一解决方案下将不同网站的前端 FE 和后端 BE (针对管理和客户服务)分开。

实际上它导致我从缓存中删除项目时出现问题,(他们)决定将FE和BE放在不同的应用程序域中,这意味着不同的Cache对象!!

我告诉他们原因,他们说
1-不要内存不足并删除BE对FE性能的影响。
我对此表示怀疑,客户服务团队可能正在影响集中式数据库性能,但有点像将10个客户添加到我们的网站,它什么都没有!此外,App域内存在需要时扩展,据我所知,它不预先分配资源(请确认这一点!!)

2-如果网站出现故障,请避免同时丢失FE和BE。
我同意,但这并不是将整个BLL放入Web服务的原因,如果保护BLL !!!,如果IIS发生故障,我将不再支持。)


你觉得怎么样?

1 个答案:

答案 0 :(得分:1)

后端和前端是两个不同的项目,碰巧查询同一个数据库,因此将它们分成两个不同的网站。责任分工。

此外,拥有不同的网站具有以下优势:

  • 更容易安全(在IIS中)
  • 不同的行为,自定义错误消息
  • 处理器/内存上限
  • 关闭后端或前端,这很重要,因为后端系统将前端拖到他身边的一些错误
  • 每个项目的不同域
  • 轻松将其中一个项目移至另一台服务器

使用像memcached这样的分布式缓存系统,两个项目都可以访问相同的缓存,但我宁愿不与其他缓存进行交互。

最后,Web服务中的BLL是完全常见的行为。我们的后端进程访问IP封锁的公共API的扩展版本,并具有获取权限的安全令牌。