#Java之springcloud最简单粗暴讲解—ribbon,看一遍就懂
做开发都知道,不会让网址直接访问代码服务器(小项目除外),一般是通过nginx做反向代理和负载均衡。那么springcloud里我们用了另外2个东西来代替nginx的这两个功能。Ribbon就是代替负载均衡的组件。
一、基本概念讲解
负载均衡:比如我现在有个代码要做集群,相同代码A、B、C三份,如果只有一份那么服务器压力会很大,所以用多份,把每一个请求均摊到各个服务器上,这就是负载均衡。
二、搭建Ribbon组建
如果有想学习java的程序员,可来我们的java学习扣qun:79979,2590免费送java的****噢!我整理了一份适合18年学习的java干货,送给每一位想学的小伙伴,并且每天晚上8点还会在群内直播讲解Java知识,欢迎大家前来学习哦。
ribbon的包包含在eureka里,所以无需导任何包。
①创建一个消费者的项目
很简单的项目,不懂得童鞋可以看我发过的文章,上一篇有详细介绍。以下是maven的依赖。
项目结构:
以注解形式开启ribbon:
写一个简单的请求:
②创建生产者项目
这个就没啥好贴的,和消费者的项目基本一样,就是把RestTmplate和ribbon去掉就好了。
③开始实验
第一步,启动eureka项目
第二步,启动provider项目。这里我要先介绍一个idea如何修改端口使得一个项目启动2个实例。这么做主要模拟集群环境,实现我们ribbon的负载均衡。
在第一个provider项目启动成功后,做如下修改:
创建一个新的启动入口,并且修改项目配置文件里的端口,再启动新创建的启动入口。这样就有2个实例了。在eureka页面上就可以看到2个实例
第三步,启动consumer项目
第四步,访问consumer刚刚写的controller的接口
就会自动负载均衡响应我们的请求了。
总结:springcloud就是由这样一个一个组件搭起来的。一个组件可能也就1个小时就学会了。大家手动敲敲demo,跟着我把这几个组件全都做完,你也可以搭建自己的分布式项目了!最近公司要开展新项目就是用springcloud,最近我在调研和搭架构,所以比较忙,但是我能保证2周之内把springcloud的全部内容都分享完!