学习
实践
活动
工具
TVP
写文章

什么是分布式开发?

在一个庞大的企业项目之中(业务很负责,用户的访问量很高、信息的保密级别很负责、、、),那么分布式的核心概念实际上非常简单,就是将在一台服务器上完成的计算操作分给两台甚至更多台的主机一起完成,这样的开发模式就成为分布式开发。

例如,现在假设有一道数学计算:(1+2)*(2+3)*(3+10),而如果现在采用了分布式的计算,那么整体的设计结构如下。

分布式开发的本质就在于:虽然所有的主机物理上分布了,但是对于用户而言就仿佛是一个整体。我们的java开发人员而言,那么分布式开发的意义是什么呢?,也就是说哪里需要去使用分布式开发,在任何一个项目里面(MVC设计模式),业务操作是最为核心的部分,而所有项目之中你的业务操作是否完成直接决定了你的项目本身是否健壮。

最初的开发结构是使用单台服务器完成,这样就造成了一个问题:所有的业务接口以及所有的实现类都写在了一台服务器中,那么这台服务器除了要进行显示的处理之外,还需要处理大量的业务操作,所以这台服务器旺旺要求性能很高,但是即便你再搞性能的服务器,但是如果面对大用户的访问处理操作,那么你依然无所适从。

那么随着开发技术的不断发展,人们开始越来越多的发现,如果将业务层直接和前段开发混合在一起,那么将无法进行业务的重用操作,这样会带来非常麻烦的业务重复开发问题,所以开始讲业务的操作单独玻璃处理,让业务单独运行在一台服务器上,这样就可以组成每一个业务的服务器集群,那么这样的集群也可以将其称为业务中心。

然而不管RPC技术如何进行处理操作,所有进行远程端服务的接口必须提供有远程对象才可以提供给开发者进行调用。

当这些业务中心组成完成之后,实际上也就组成了一个数据库的集群,也就是说庞大的项目开发之中每一个业务中心都有一个自己的数据库服务器供用户使用,正因为如此,所以在很多的大型项目设计里面,对于数据之中的约束,大部分情况下我们都往往只会使用主键约束,而其他的所有约束都会通过业务层进行控制。对于每一个业务层后面所使用的数据库,你也可以进行数据库的架构设计,例如:进行库表的分离设计,或者直接使用MyCat进行分片处理。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180126A0OWH600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券