- 技术文章
- 网关入门要点
- API网关,类似Nginx的作用,将所有用户的请求转发给后端的服务器。网关做的不仅仅只是简单的转发,也会针对流量做一些扩展,比如鉴权、限流、权限、熔断、协议转换、错误码统一、缓存、日志、监控、告警等。
- 这样将通用的逻辑抽出来,由网关统一去做,业务方也能够更专注于业务逻辑,提升迭代的效率。
- 网关要点
- API注册:插件扫描、手动录取
- 协议转换:http -> dubbo,需要注意很多问题,比如参数类型,如果类型搞错了,导致转换出问题,而日志又不够详细的话,问题会很难定位
- 服务发现:硬编码、域名、注册中心
- 服务调用:考虑支持使用异步调用方式,但要注意复杂度
- 优雅下线:健康检测机制
- 性能:同步阻塞模型、异步化
- 缓存:网关层面根据业务方指定的缓存头做一层缓存 (幂等性)
- 限流:单机、分布式
- 稳定性:参考zuul的方式,将所有的核心功能都基于不同的拦截器实现,拦截器的代码采用Groovy编写,存储到数据库中,支持动态加载、编译、运行
- 熔断降级:对接口降级由网关直接返回,可以基于Hystrix或者Resilience4j实现
- 日志:traceId
- 隔离:程序内部、业务外部
- 网关管控平台
- 其他
- API注册:插件扫描、手动录取
网友评论