最近公司新接了个app开发项目,客户就提到后台需要分布式搭建。现在应该很多开发的或者需要开发的人对分布式搭建都不是很熟悉。因为他们一般只想知道开发一款APP需要多少钱?开发一款APP需要多长时间?而有的外包公司就只是看来一下需求就直接报价多少万多少万,我认为这都是不负责的行为。首先你要给客户报价,那你就必须做一个工程排期,参与开发人数等等,根据这些来报价,而不是一口价多少万。
那我继续来说下什么是分布式搭建。分布式系的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数据量的任务。分布式系统由独立的服务器通过网络松散耦合组成的。每个服务器都是一台独立的PC机,服务器之间通过内部网络连接,内部网络网速一般都是比较快。因为分布式集群里的服务器是通过内部网络松散耦合,各节点之间的通讯有一定的网络开销,因此分布式系统在设计上尽可能减少节点间通讯。此外,因为网络传输瓶颈,单个节点的性能高低对分布式系统整体性能影响不大。因此分布式系统每个节点一般不采用高性能的服务器,而是性能相对一般的PC服务器。
总而言之,分布式系统是大数据时代企业级应用的首选平台,它有良好的可扩展性,尤其是横向可扩展性(Scale Out),使得分布式系统非常灵活,能应对千变万化的企业级需求,而且降低了企业客户对服务器硬件的要求,真正能做到应用服务层面的弹性扩展(auto-scaling)。