#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

做开发都知道,不会让网址直接访问代码服务器(小项目除外),一般是通过nginx做反向代理和负载均衡。那么springcloud里我们用了另外2个东西来代替nginx的这两个功能。Ribbon就是代替负载均衡的组件。

一、基本概念讲解

负载均衡:比如我现在有个代码要做集群,相同代码A、B、C三份,如果只有一份那么服务器压力会很大,所以用多份,把每一个请求均摊到各个服务器上,这就是负载均衡。

二、搭建Ribbon组建

如果有想学习java的程序员,可来我们的java学习扣qun:79979,2590免费送java的****噢!我整理了一份适合18年学习的java干货,送给每一位想学的小伙伴,并且每天晚上8点还会在群内直播讲解Java知识,欢迎大家前来学习哦。

#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

ribbon的包包含在eureka里,所以无需导任何包。

①创建一个消费者的项目

很简单的项目,不懂得童鞋可以看我发过的文章,上一篇有详细介绍。以下是maven的依赖。

#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

项目结构:

#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

以注解形式开启ribbon:

#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

写一个简单的请求:

#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

②创建生产者项目

这个就没啥好贴的,和消费者的项目基本一样,就是把RestTmplate和ribbon去掉就好了。

#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

③开始实验

第一步,启动eureka项目

第二步,启动provider项目。这里我要先介绍一个idea如何修改端口使得一个项目启动2个实例。这么做主要模拟集群环境,实现我们ribbon的负载均衡。

在第一个provider项目启动成功后,做如下修改:

#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

创建一个新的启动入口,并且修改项目配置文件里的端口,再启动新创建的启动入口。这样就有2个实例了。在eureka页面上就可以看到2个实例

#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

第三步,启动consumer项目

第四步,访问consumer刚刚写的controller的接口

#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂

就会自动负载均衡响应我们的请求了。

总结:springcloud就是由这样一个一个组件搭起来的。一个组件可能也就1个小时就学会了。大家手动敲敲demo,跟着我把这几个组件全都做完,你也可以搭建自己的分布式项目了!最近公司要开展新项目就是用springcloud,最近我在调研和搭架构,所以比较忙,但是我能保证2周之内把springcloud的全部内容都分享完!