环境搭建告一段落后,现在就是项目的搭建了,我们首先需要一个入口,一个所有请求的入口,这个入口就是我们的Api网关,那么什么是我们项目的网关,什么样的组件可以拿来就用呢,就是这个,Spring Cloud Gateway。为什么用这个不用Nginx,都是当入口,其实Spring Cloud Gateway更适合当服务的转发,用来对不同的业务做一个聚合。而Nginx适合对外,在最外层。
先说一下Api的作用。
- 性能:API高可用,负载均衡,容错机制。
- 安全:权限身份认证、脱敏,流量清洗,后端签名(保证全链路可信调用),黑名单(非法调用的限制)。
- 日志:日志记录(spainid,traceid)一旦涉及分布式,全链路跟踪必不可少。
- 缓存:数据缓存。
- 监控:记录请求响应数据,api耗时分析,性能监控。
- 限流:流量控制,错峰流控,可以定义多种限流规则。
- 灰度:线上灰度部署,可以减小风险。
- 路由:动态路由规则。
然后记录一下怎么和项目结合起来。
首先搭建我们的工程,需要这两个模块authorization-server gateway-server
用来认证客户的登录信息以及,对登录的信息拦截,配置我们的限流规则
先说gateway-