1、引言 【实现负载均衡集的技巧 负载均衡集群如何实现】刚学习Java时,我们编写的程序,运行时只有一个进程,这种程序就是我们常说的“单体架构”,最典型的单体架构图如下:
单体架构的软件,我们可以认为是没有架构的 。
软件的架构,从单体架构,发展到垂直多程序架构、分布式架构、SOA架构,一路狂奔,到了现在的微服务架构 。
虽然我们推崇微服务架构,但客观地说,单体架构依然盛行,包括很多比较大的软件,就是用单体架构来开发的,发布时也只有一个可执行程序 。
单体架构之所以盛行,是因为采用其他架构时,我们除了实现业务功能,还要实现架构,例如模块之间的相互调用,这些都很复杂 。
当我们使用SpringCloud开发微服务架构的软件时,会发现事情变得很轻松 。我们可以方便地对软件的处理能力扩容,可以用Eureka和Ribbon,实现模块之间基于RESTful的相互调用 。
说了这么多理论,估计读者都有点烦了,还是直接上代码吧 。
2、建立Eureka服务器和Eureka客户端 在上一讲《Java第66讲——微服务之Eureka》文章中,详细介绍了如何建立Eureka服务器和Eureka客户端,大家可以参考,因此这里不再赘述 。
我们建立的Eureka服务器的信息如下:
模块名称:register监听端口:8800注册url:http://localhost:8800/eureka/
Eureka客户端将会启动三个实例,其信息如下:
模块名称:producer监听端口:三个实例监听的端口分别为9901,9902,9903应用名称:service-producer
这些信息与《Java第66讲——微服务之Eureka》文章中实现的代码完全一致 。
从名称来看,register是注册中心,producer是生产者,此次开发,将增加一个消费者consumer,获得producer提供的服务:
3、Ribbon功能介绍 Ribbon是一个用来实现负载均衡的组件 。
当我们有多个producer处于运行状态时,consumer可以根据负载情况,获得其中一个producer,然后进行调用 。
使用Ribbon,我们可以根据系统当前的负载情况,决定增加或者减少producer数量 。
通过Ribbon,我们轻松地实现了集群的能力 。
4、在producer中增加一个CallController类 在producer中增加一个CallController类,用于提供服务,该类的代码如下:
package com.flying.producer.controller;im
推荐阅读
- js实现文件下载功能 html图片按钮代码
- 在钉钉上还可以实现哪些功能 钉钉打卡软件好用吗
- 讲解java枚举实现单例模式 java枚举的使用是什么
- 教大家美图GIF iPhone版照片如何实现分身术的方法
- 提高茶叶卫生质量 实现茶叶清洁生产
- 车载音响均衡器怎么调,10段均衡器最佳效果图
- Python图例边框如何设置?Python画图图例无边框线怎么实现
- 怎么样自制营养均衡的鱼食 鱼食的配方自己怎么配
- Python全角转半角怎么实现?Python全角半角如何互转
- 玛雅人五大预言最后的真相解析 玛雅人五大预言实现了吗