微效劳架构案例(05):SpringCloud 基本组件运用设想
2019-11-18杂谈搜奇网75°c
A+ A-本文源码:GitHub·点这里 || GitEE·点这里
更新进度(共6节):
01:项目手艺选型简介,架构图解申明
02:营业架构设想,体系分层治理
03:数据库选型,营业数据设想计划
04:中间件集成,大众效劳治理
05:SpringCloud 基本组件运用设想
一、组件运用计划
1、注册中间
Eureka 组件是 Netflix 开辟的,用于定位效劳,基于RESTFul体式格局完成效劳注册与发明。包含一个EurekaServer效劳端(通常是指微效劳中的注册中间) 和EurekaClient客户端(通常指微效劳中的营业效劳)。Eureka支撑高可用的设置,当注册中间发明有毛病的效劳时,Eureka就会转入自动保护形式,毛病时不影响效劳的发明和注册,当毛病恢复一般时,注册中间的效劳会举行状况同步,继承供应效劳。
2、效劳挪用
Feign 组件是一个声明式的 WebService客户端。在Eureka注册的效劳中,能够运用Feign接口的情势来举行相干效劳间的要求挪用,并供应超时回退,疾速熔断的相干特征。Feign是一个方便的RestFul框架,简化挪用,经由过程ribbon在注册效劳器中找到效劳实例,然后对要求举行效劳分派,完成了负载平衡的结果,默许采纳轮询算法。
3、效劳网关
GateWay网关,能够让一切客户端要求先经由过程微效劳网关,跟网关举行交互,由网关举行各个微效劳的要求转发,客户端(前端)对多效劳架构无感知。下降客户端与微效劳之间的交互耦合度;便于监控,可在网关中监控数据;在网关层一致处置惩罚认证,计划切面编程;也就是说与营业自身功用无关的大众逻辑能够在网关层一致封装完成,相似设想形式中的门面形式。
二、注册中间
1、效劳端设置
eureka:
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 15000
instance:
prefer-ip-address: true
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://127.0.0.1:5001/eureka/
2、客户端设置
eureka:
instance:
prefer-ip-address: true
client:
service-url:
defaultZone: http://127.0.0.1:5001/eureka/
三、Feign组件
1、Feign接口
@FeignClient("MOPSZ-SOFT-ROCKET")
public interface UserSearchFeign {
@GetMapping("/mq/user/search/sendBookSearch")
void sendBookSearch (@RequestParam("msgContent") String msgContent) ;
}
2、Feign接口完成
@RestController
public class UserSearchController implements UserSearchFeign {
@Override
public void sendBookSearch(String msgContent) {
}
}
3、接口设置
该设置文件在完成Feign接口的项目中设置就好,也可针对特定要领设置。
feign:
hystrix:
enabled: true
client:
config:
feignName:
connectTimeout: 60000
readTimeout: 60000
4、Feign接口挪用
@Resource
private UserSearchFeign userSearchFeign ;
userSearchFeign.sendBookSearch("");
四、效劳网关
1、网关组件设置
zuul:
# 前缀,能够用来做版本掌握
prefix: /v1
# 禁用默许路由,实行设置的路由
ignored-services: "*"
routes:
# 设置 Token 效劳
pro6601:
serviceId: mopsz-basis-token
path: /api/6601/**
# 设置 UserClient 效劳
pro6102:
serviceId: mopsz-user-client
path: /api/6102/**
- 设置FilterConfig举行用户Token认证阻拦;
- 设置FallBackConfig举行效劳降级相应治理;
2、项目布置
在项目上线后,对外暴露一个网关效劳端口,其他效劳端口不对外暴露,一切的要求都必须经由过程网关阻拦或许转发,这就是微效劳供应效劳的一种罕见体式格局。
五、源代码地点
GitHub·地点
https://github.com/cicadasmile/husky-spring-cloud
GitEE·地点
https://gitee.com/cicadasmile/husky-spring-cloud