当前位置: 首页 > news >正文

对微服务网关的一些总结

对微服务网关的一些总结
一. 什么是网关
    网关是位于NGINX(或没有)与真实微服务间的转发服务。
    用户通过HTTP接口,连接到NGINX,然后NGINX反向到M个网关。
    网关根据[服务注册与发现],进行转发请求到具体的微服务上。
    由于网关可编码,对安全,扩容,认证等通用的需求,变得比较容易实现。
二. 为什么用网关
    1. 聚合
       支持服务注册与发现,根据不同的服务前缀,转发请求到不同的微服务。
       与NGINX的反向代理功能类似.
    2. 负载均衡
       同类型微服务之间进行负载均衡,采用轮询算法。
       跟NGINX的负载均衡类似。
    3. 限流熔断
       跟NGINX类似,可以编码实现,逻辑可以更加细致,比较容易。
    4. 授权
       将通用的认证功能,放到网关实现。
    5. 安全       
       可代码实现具体的逻辑,完成类似于WAF的功能。
    相对于NGINX,微服务网关具备可编码的优势。
    可以做更多的功能。
    所以才有一些网关(Kong,NGINX-LUA)基于NGINX扩展了支持LUA.
    但是对于数据库的访问,缓存服务的访问等等,还是使用JAVA更具有优势。
三. 怎么用网关
    网关有很多,Kong,Zuul,Gateway,等等。
    甚至可以用NGINX直接做动态配置更新。
    使用的时候,具体问题具体分析。
    结合当前的技术栈,与具体的项目需求,以及当前的现状,来做选择。
    如果业务比较单一,或者用量比较少,或者开发人员只有你一个的话,
    那么单体服务也没有问题,可以起多个实例,前面用NGINX做个负载均
    衡就可以了。
    实际多数的后端服务,瓶颈往往是数据库的IO。
四. 技术实现
    (ZUUL.Gateway)
    过滤器的模式,当WEB服务获取到HTTP请求的时候,在三个处理阶段做处理。
    因此对应了三种过滤器类型:
    1. Pre
    2. Route
    3. Post
    将这些过滤器根据顺序组织好,然后挨个调用。
    共同组合成了网关的各个功能。

http://www.lryc.cn/news/110810.html

相关文章:

  • 该选择WPF 还是 Winform?
  • 概念解析 | ChatGPT技术概览
  • 用Rust实现23种设计模式之 代理模式
  • 【nlp pytorch】基于标注信息从句子中提取命名实体内容
  • 图为科技加入深圳市智能交通行业协会 ,打 …
  • 大模型排行榜及相关基础技术
  • Python入门【​try和except结构、常见异常、with上下文管理 、traceback模块和生成异常日志、自定义异常类】(十八)
  • windows脚本获取管理员权限修改host
  • Flask简介与基础入门
  • Stable Diffusion 硬核生存指南:WebUI 中的 GFPGAN
  • IO模型-信号驱动IO
  • 每日一题——回文链表
  • OPENCV C++(一) 二进制和灰度原理 处理每个像素点值的方法
  • Python GUI编程(Tkinter)
  • K8S简介
  • 策略模式——算法的封装与切换
  • c++转换构造,拷贝构造,operator=
  • 支付宝蜻蜓设备abs调试
  • 论memset的时间代价
  • linux下绑定进程到指定CPU的操作方法
  • springboot+maven插件调用mybatis generator自动生成对应的mybatis.xml文件和java类
  • C# 根据前台传入实体名称,动态查询数据
  • Netty入门学习
  • 代客泊车对HUT功能交互规范
  • mysql的update_time
  • 避免安装这5种软件,手机广告频繁弹窗且性能下降
  • kafka-事务
  • 【安装】阿里云轻量服务器安装Ubuntu图形化界面(端口号/灰屏问题)
  • Python 扩展 快捷贴士:os模块下的创建目录的方式
  • Hi3798MV200 恩兔N2 NS-1 (一): 设备介绍和刷机说明