负载均衡集群如何实现(实现负载均衡集的技巧)

负载均衡集群如何实现(实现负载均衡集的技巧)

刚学习Java时,我们编写的程序,运行时只有一个进程,这种程序就是我们常说的“单体架构”,最典型的单体架构图如下:

负载均衡集群如何实现(实现负载均衡集的技巧)
单体架构的软件,我们可以认为是没有架构的。

软件的架构,从单体架构,发展到垂直多程序架构、分布式架构、SOA架构,一路狂奔,到了现在的微服务架构。

虽然我们推崇微服务架构,但客观地说,单体架构依然盛行,包括很多比较大的软件,就是用单体架构来开发的,发布时也只有一个可执行程序。

单体架构之所以盛行,是因为采用其他架构时,我们除了实现业务功能,还要实现架构,例如模块之间的相互调用,这些都很复杂。

当我们使用SpringCloud开发微服务架构的软件时,会发现事情变得很轻松。我们可以方便地对软件的处理能力扩容,可以用Eureka和Ribbon,实现模块之间基于RESTful的相互调用。

说了这么多理论,估计读者都有点烦了,还是直接上代码吧。

在上一讲《Java第66讲——微服务之Eureka》文章中,详细介绍了如何建立Eureka服务器和Eureka客户端,大家可以参考,因此这里不再赘述。

我们建立的Eureka服务器的信息如下:

Eureka客户端将会启动三个实例,其信息如下:

这些信息与《Java第66讲——微服务之Eureka》文章中实现的代码完全一致。

从名称来看,register是注册中心,producer是生产者,此次开发,将增加一个消费者consumer,获得producer提供的服务:

负载均衡集群如何实现(实现负载均衡集的技巧)

Ribbon是一个用来实现负载均衡的组件。

当我们有多个producer处于运行状态时,consumer可以根据负载情况,获得其中一个producer,然后进行调用。

使用Ribbon,我们可以根据系统当前的负载情况,决定增加或者减少producer数量。

通过Ribbon,我们轻松地实现了集群的能力。

在producer中增加一个CallController类,用于提供服务,该类的代码如下:

新增consumer模块的过程如下:

负载均衡集群如何实现(实现负载均衡集的技巧)

代码编写完成了,现在准备进行测试。

负载均衡集群如何实现(实现负载均衡集的技巧)

负载均衡集群如何实现(实现负载均衡集的技巧)

负载均衡集群如何实现(实现负载均衡集的技巧)

负载均衡集群如何实现(实现负载均衡集的技巧)

负载均衡集群如何实现(实现负载均衡集的技巧)

这是第一次测试时显示的web页面:

负载均衡集群如何实现(实现负载均衡集的技巧)
刷新页面,显示的web页面为:

负载均衡集群如何实现(实现负载均衡集的技巧)
刷新两次页面后,显示了下面的web页面:

负载均衡集群如何实现(实现负载均衡集的技巧)
不敢想象,没有编写多少代码,借助于Spring Cloud,竟然轻松地实现了集群功能,实现了负载均衡功能!

负载均衡集群如何实现(实现负载均衡集的技巧)

版权声明:拓辰网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 nctcnet@vip.qq.com 举报,一经查实,本站将立刻删除。

(0)
wnneolwnneol贡献者

相关推荐

  • 项目设计文档怎么写(软件开发设计文档)

    在大厂,写得一手好文档是一个非常吃香的技能。这可不只是一个锦上添花的东西,而是很多工程师晋升,打造自己话语权的武器。 我这两年在组内的深刻体会就是,大部分厉害的高级工程师(不包括那些纯混日子靠资历晋升的人),写文档的能力一点也不含糊,很能抓住上级和项目的G点。 可能有人会觉得,我技术牛逼就行了,为啥还要提高写文档的能力,有这功夫我还不如多看看源码分析?这是一些初级或者刚入门的工程师的普遍的困惑。这…

    2023年10月4日
    0
  • array负载均衡配置(四层和七层负载均衡的区别)

    ** 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;**同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;七层通过虚拟的URL或主…

    2023年6月26日
    0
  • 买网站服务器多少钱(自己买服务器搭建网站推荐)

    一般一个企业站,用不了多大的服务器空间,100M起,500M几乎封顶。但目前市面上卖的服务器,已经很少有几M的,而都是几个G的空间容量了。一般的范围就是:1G~5G。而一般的刚做好的网站,大概会有10M左右,加上图片之类也不超过100M。 服务器选购技巧 可以说,对于企业网站来说,90%以上的,1G就可以了。 有部分用了3~5年,图片数量增加了,可能会达到2G左右。 几乎没有企业网站会超过5G的,…

    2023年6月26日
    0
  • kettle javascript脚本解析对象(js脚本编写教程)

    每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。 放弃不难,但坚持很酷~ 我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法。所以有些时候,我们可以自定义一些方法,来供 JavaScript 使用。 在项目中,创建 utils 工具类,比如 计算总页码 的一个方法。代码如下: 工具类方法开发完毕后,可通过 命令进行打包,在 …

    2023年6月25日
    0
  • 游戏服务器接单

    游戏服务器接单:打造无限可能的世界 随着游戏的普及,游戏服务器接单已经成为了一个不可或缺的职业。在这个虚拟的世界里,玩家可以尽情发挥想象力,打造自己独一无二的游戏角色,获得无限的乐趣。 游戏服务器接单,是一种新型的职业发展方式,可以让游戏玩家在游戏中获得收入,同时还可以提升自己的技能和经验。在游戏服务器接单的过程中,玩家需要掌握一定的技术和沟通能力,才能够胜任这个职位。 游戏服务器接单不仅可以让玩…

    2023年7月2日
    0
关注微信