八、路由网关(Zuul、Gateway)
什么是路由网关?
路由网关通常是整个微服务架构体系的入口组件。
如何搭建一个路由网关的工程
1、添加依赖
2、配置application.yml
gateway的内置过滤器 - 限流:
什么是限流?
限流就是指对输入或者输出的流量进行限制。
如何实现限流?
令牌桶算法:令牌桶算法是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。
例如:10r/s,按照100毫秒的固定速率给令牌桶中填充令牌,令牌桶的上限为N。当令牌桶到达N时,后面的令牌舍弃。有请求达到时,申请令牌,申请到令牌的请求通过,并且令牌删除。没申请到令牌的请求则拒绝访问
如何使用gateway自带的限流过滤器进行限流(令牌桶算法):
九、分布式服务配置中心
什么是配置中心?
在整个微服务体系架构中,随着微服务也来越多,每个微服务的配置文件,就会变成越来越难以维护。分布式统一配置中心的目的就是将所有微服务的配置进行统一管理配置,降低程序的维护成本。
分布式配置中心的管理结构:
搭建分布式服务配置中心的服务端:
1、添加依赖
2、配置启动注解
3、配置application.yml - github版(用github管理配置文件)
4、在GitHub上准备一个仓库,然后上传一份配置文件到仓库上
搭建分布式服务配置中心的客户端:
1、添加依赖
2、编写一个controller去读取远程配置中心的配置数据(可选):
3、配置bootstrap.yml
练习:用Config-Server管理Ribbon和Feign的配置文件
修改config-server工程:
配置Config-Client自动更新配置
1、在所有的微服务中,添加依赖:
2、开放相应的接口