|
传统的系统,有 2 个 Web 应用程序:
1.身份服务器 Web 应用程序:
用于身份验证和授权。这个 Web 应用程序提供了一些基本功能,比如用户管理(CRUD)、登录 / 注销、用户权限等等。除此之外,它还允许用户与他们的谷歌 /Facebook 帐户进行集成。
2.招聘 Web 应用程序:
这是整个系统的核心。作为一个用户,我们可以使用求职功能来找工作,通过传文件来上传简历…作为一个管理系统,我们可以使用报表功能以及通过客户沟通发送电子邮件、短信…
这些 Web 应用程序使用相同的数据库,称为“招聘”数据库。除此之外,系统还包括了消息队列、发送通知的后台作业、报表的数据处理……
2. 那么,问题在哪?

1:庞大的代码库
遗留系统太大,无法完全理解,特别是对新开发人员来说。
我们的客户承认,有一次他们不得不编写一个新函数来修复 Bug,而不是重构,因为导致问题的函数与其他函数紧密耦合。
问题 2:高昂成本
此外,他们必须购买一个好的服务器来部署系统。运营开发成本不小。
问题 3:可伸缩性低
系统中的模块有冲突资源,所以如果他们想扩展特定功能,例如“JobSearch”,就必须扩展整个应用程序。
这造成资源浪费,即使接受了这种浪费,他们也无法迅速扩大规模。
问题 4:可用性低:
一旦他们发布一个新功能或改进,甚至修复一个小错误,他们就必须部署整个系统。
问题 5:可靠性低
任何模块中的错误(如堆栈溢出)都可能导致系统崩溃。
此外,由于应用程序的所有实例都是相同的,因此 Bug 会影响整个应用程序的可用性。
问题 6:对新技术不开放
系统是用.NET 开发的,这意味着 Python、Java 的新特性永远都无法使用,因为采用新技术会破坏现有的系统。
我想,你可以在你的公司或者你的客户系统中找到类似的地方:)
3. 为什么要采用无服务器?
我不会直接给你答案,你可以通过以下事实找出答案:
(编辑:南昌站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|