springcloud由以下组件组成:
1.Ribbon
2.Hystrix
3.Feign
4.zuul
springcloud需要创建下面的模块:
1.客户端
2.服务端
3.Eureka注册中心
4.zuul网关
我们该如何创建一个完整的Springcloud微服务呢?
这里讲讲大概的思路,首先创建上面说的四个模块,各自配置上启动类和yml配置,这里要注意的是Ribbon和Hystrix是几乎不需要配置的,因为Feign里面自带有的,Feign配置到客户端里面,去写一个接口,然后把相关需要配置负载均衡,熔断的方法写进来接口这里,然后再配置一个实现类,设置熔断方法,服务端可以部署多几个,然后访问服务端的时候可以采用负载均衡随机分配。
在客户端发送请求的时候,我们通过Eureka注册中心来进行注册,然后由路由分发给指定微服务进行服务。
zuul网关模块新建了后,就可以配置启动类,然后配置各种过滤器,配置过滤器的方法就是在网关模块那里添加一个继承类去继承网关zuulFiter方法,然后改写它的方法,那四个方法重点在于第四个,也就是业务逻辑方法,先把连接初始化,然后接收请求,判断请求是否为空,请求为空,方法就被拦截,注意最后返回的是null,因为这是过滤器,过滤器返回值为null说明放行你了。