2.这么服务器,请求该往哪发送?用nginx服务器来分发请求,实现负载均衡。
虽说集群能够解决部分问题,但并不能解决所有问题,无论是从公司成本还是运营成本来说,显然这种传统的集群架构是不适应现在的互联网行业的,而且对于一般的公司来说也不可能去花大价钱做这种布置。
所以,这种情况下我们就必须对我们的架构来进行优化了,那么如何在服务器只有一定数量的情况下,让我们的项目的成本能达到一定控制,并且让我们的项目达到一个最优化的并发的访问量呢?那么就需要对现有的这种架构进行再次拆分,让我们的项目成为面向服务的分布式架构。
面向服务的分布式架构(SOA):1.webserver如图所示,第一种方式还是有着明显的缺点的,如服务层的网络抖动或是服务层进程繁忙,可能有人对这两个名词不太理解,这里就解释一下:网络抖动:当有大量用户访问时,可能会出现service层的延迟现象,而web层因为长期得不到响应,则会抛出时间超出异常进程繁忙:这个的意思和前边的差不多,都是指service层业务太多,顾不上web层的请求,web层的请求就只能一直在那等着,时间长了也就抛出超时异常了2.dubbo原理讲解:看了第一种webservice的方法之后,我们采用了第二种方法,即dubbo这种中间件的方式,采用这种方式有什么好处呢?好处:当服务器启动时service会把所有的对象通过dubbo注册给zookeeper,而以后每次需要请求获取对象时,就可以直接从dubbo中异步获取,不需要再去访问service层,这样就解决了服务层网络抖动和服务层进程繁忙的弊端。
zeekeeper可以看成是一个数据库,用来存储数据的,具体的原理以后会专门开篇文章描述它。
这种方式是目前最常用的,起码是我最常用的,顺嘴一提,dubbo是阿里巴巴开发的一款中间件,性能强大。
总结分布式架构特点:优点:1.大幅提高并发访问量2.可以节省开发成本3.实现了服务层与表现层的解耦合
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)