SpringCloud 环境搭建eureka+ribbon+feign,可运行实例

简单介绍一下eureka,ribbon,feign

eureka (服务注册与发现)分为client与service,每一个spring cloud的项目都需要 注册之后才能使用,服务器配置服务端,客户端配置客户端。

ribbon 是做负载均衡的,当一个请求来的时候,分发给其他的服务,可以是同一个服务器的相同应用的多个服务,保证了系统的稳定。

feign (声明式调用服务) 可以说非常重要的,最主要的特点是通过服务名调用服务(前提也要先注册)。

spring cloud 还有根据其他的组件,例如zuul做网关,配合ribbon,还有Hystrix——熔断器等可以做一个十分强大的分布式系统。我按着例子跑了一遍,发现spring cloud 使用真的很方便,但是最系统架构设计要求比较高,怎样才能让系统设计得更合理,还有很长一段路要走。接下来查看例子。

首先从git上拉下来几个项目:

eureka服务端:   https://gitee.com/zhoujie1/eureka-server.git

eureka客户端:   https://gitee.com/zhoujie1/eureka-client.git

ribbon: https://gitee.com/zhoujie1/ribbon.git

feign :  https://gitee.com/zhoujie1/feign.git

导入到IDEA中。

启动eureka服务端,输入地址与端口,出现下图,表示服务端启动

SpringCloud 环境搭建eureka+ribbon+feign,可运行实例_第1张图片

启动client,再次访问该地址

SpringCloud 环境搭建eureka+ribbon+feign,可运行实例_第2张图片

发现会多一个服务,此时服务就注册好了。接下来咱把ribbon与feign也加上,在加上之前,需要先将客户端打成jar包,放入目录,运行。并指定另一个端口:java -jar helloEurekaclient-1.0-SNAPSHOT.jar --server.port=8763

启动成功,如下图

加入ribbon,两个服务交替出现,如下图

SpringCloud 环境搭建eureka+ribbon+feign,可运行实例_第3张图片

SpringCloud 环境搭建eureka+ribbon+feign,可运行实例_第4张图片

加入feign,我的接口定义的/feign,同样是交替调用服务。

SpringCloud 环境搭建eureka+ribbon+feign,可运行实例_第5张图片

SpringCloud 环境搭建eureka+ribbon+feign,可运行实例_第6张图片

此时,查看eureka主页界面可以看到所有服务

 

 

整个流程是,feign通过服务名调用时,被ribbon拦截,按照次序分发给不同的服务。此时系统运行成功。

遇到的问题:

1.maven导入spring cloud项目后eureka不会正常显示,将导入的包删掉,重新导入。

2.ribbon写调用服务名的时候,需要大写。

3.不同的版本的spring cloud的版本不同,需要的可以去参考https://www.cnblogs.com/jtlgb/p/9204069.html,而且调用方式也不一样

根据以下2篇博客搭建的,还有些东西没有用上,后面再学习。

参考博客:

https://blog.csdn.net/qwssd/article/category/7406590

https://www.cnblogs.com/chry/category/1045074.html

你可能感兴趣的