SpringCloud文章系列
- SpringCloud
- SpringCloud-注册中心
- SpringCloud-配置中心
- SpringCloud-链路跟踪
- SpringCloud-消息总线
- 【当前文章】SpringCloud-API网关
- SpringCloud-异步消息
- SpringCloud-同步调用
- SpringCloud-断路降级
- SpringCloud-监控管理
- SpringCloud-番外篇-临时任务
- SpringCloud-番外篇-文档生成
- SpringCloud-番外篇-源码解析
接入说明
- 目前采用最新的1.xRelease版本:1.5.15.RELEASE
- SpringCloud项目可以在start.spring.io下载,不过更方便的应该是通过idea新建项目,建立Spring Initializr项目
- 我一般习惯将具体实现服务用具体的服务名,而公共组件用service-xxx来命名,当然还有一些比较固定名字的公共组件
- 基于配置中心,请先按照配置中心章节,配置公共配置
- 依赖链路追踪章节
API网关
1. 新建项目
新建artifactId为api-gateway的服务
2. 导入依赖
依赖说明
- actuator用于暴露监控的接口
- eureka是Eureka客户端,注册到注册中心
- config是Config客户端,从配置中心拉取配置
- sleuth + zipkin是链路追踪客户端,用于监控链路调用
- bus-kafka是基于kafka的bus消息总线客户端,用于接收消息总线异步事件
- zuul是zuul网关的依赖
1 | <dependency> |
3. 编写启动类
打开ApiGatewayApplication,在class上加入@EnableZuulProxy注解
4. 修改配置
1 | server.port=9998 |
feign.httpclient.connection-timeout:API网关依赖Fegion客户端,而API调用时可能超时,一般远程调用的时间需要调整下
5. 启动main
6. 验证
访问 http://localhost:8761/ 看到api-gateway已经注册了一台
访问 http://localhost:9998/应用名/接口名 即可验证,被代理的接口是否调用成功
API网关集群
只要配置2个端口区分开即可,如9998,9999
客户端使用
启动代理后就可以通过代理访问请求了,所以无客户端
疑问
其他API网关
目前还有SpringCLoud亲儿子,基于SpringBoot2的SpringCloud API Gateway
快速接入
略…