Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

资源服务化

  我很怕开新项目,因为新项目总是需要浪费大量的资源。我总觉得这样做对不起党,对不起国家,对不起人民。有时候明明是一个没什么流量的项目,一旦开始做就要浪费大量的资源。如果不单独开项目,而且和别的应用放在一起又怕把原来在稳定影响的应用搞挂。
  一个新项目启动后首先需要准备应用服务器,而为了确保服务稳定,至少需要两台以上的应用服务器。多服务器跑应用就需要内存共享,于是又需要一个 redis 集群来做这件事。如果用到数据库的话还需要数据库服务器,而数据服务器可能还需要在不同的机器上部署主库、从库以及备份。应用服务器如果是面向终端用户的话还需要统一入口,这又需要一台机器来做负载均衡。总之,一个很简单的服务器,可能并没有多少流量,但正常部署下来也需要大量服务器。
  好在有 VPS 和云技术,使得服务器可以虚拟化,一台物理机上可以有多个服务器。但这依然没有完全解决资源浪费的问题,因为在软件架构上依然是多服务器,这些服务器级别的东西依然需要单独跑操作系统。所以如果要解决这个资源浪费的问题就应该从资源服务化做起来,从软件架构上干掉多服务器的部署方式。
  如果 redis 是一个服务,我们就不用再申请服务器来部署。如果 MySQL 是一个服务,我们就可以不用为自己的应用单独申请并部署数据库服务器。如果负载均衡是一个服务器,我们就可以不需要再申请服务器来做应用的负载均衡。
  这么做不仅可以节省大量机器,还可以让应用开发者可以专心做自己的事情,不必在意自己依赖的服务到底是如何部署的,部署在哪台机器上。而且如果有服务监控的话都是统一做的,避免了一些应用自己搭资源服务器没有监控的问题。
  目前这些特定资源服务化的技术已经比较成熟了,比如上面提到的存储服务化之类的东西好多知名的云服务提供商都有提供,如果觉得它们不靠谱也可以自己搭(虽然可能更不靠谱)。
网名:
23.20.64.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^