今天给大家带来一个微服务集群框架小白都可以直接上手!
这张图片上面的架子是github上超火的一个开源微服务框架
码云链接:https://gitee.com/smallc/SpringBlade?_from=gitee_search
下面是小余哥自己搭建的一个基于springCloud一个微服务集群框架
Eureka集群
Feign声明式服务调用
Feign 是 Spring Cloud Netflix 组件中的一个轻量级 RESTful 的 HTTP 服务客户端,实现了负载均衡和 Rest 调用的开源框架,封装了 Ribbon 和 RestTemplate,实现了 WebService 的面向接口编程,进一步降低了项目的耦合度。
Feign 内置了 Ribbon,用来做客户端负载均衡调用服务注册中心的服务。
Feign 本身并不支持 Spring MVC 的注解,它有一套自己的注解,为了更方便的使用,Spring Cloud 孵化了 OpenFeign。
Feign 是一种声明式、模板化的 HTTP 客户端(仅在 Consumer 中使用)。
Feign 支持的注解和用法请参考官方文档:https://github.com/OpenFeign/feign 或 spring.io 官网文档
Feign 的使用方式是:使用 Feign 的注解定义接口,调用这个接口,就可以调用服务注册中心的服务。
这里当我们把项目都启动好后浏览器输入
http://localhost:8761/
就可以看到服务注册中心控制台
我们这里做了两个provider两个生产者,一个consumer消费者
现在我们来测试一下是否做到负载均衡
provider01的端口我们设置为7070
然后我们在provider的controller的主键查询商品的接口上打印这个端口
相同的provider02也做这样的操作
provider02端口7071
Controller
consumer配置
然后打开浏览器输入
http://localhost:9090/order/1
然后 我们直接连续请求两次看一下 两个生产者会不会都打印出端口号
这里可以看到 全部都打印出来了完美做到负载均衡~
这个项目的源码我会分享出来 大家基本就可以直接拿来吧你!!!
然后想学习怎么搭建的话,可以先看下面这个链接,然后把我项目的pom文件复制过来就OK了!!!
单独来看的话 这个项目是一个大的聚合框架,可以一直拓展,不过每个聚合框架里面的包都是可以拆解成一个一个的单独项目。这样在做企业级集群部署的时候就可以完美兼容了!!!