什么是微服务网关?为什么需要服务网关?

Sherwin.Wei Lv7

什么是微服务网关?为什么需要服务网关?

回答重点

微服务网关是一个用于代理客户端请求并将其分发到后端微服务的服务器。它接收来自不同客户端的请求,根据配置的路由规则将请求转发到相应的服务,并可以对请求进行验证、转换、聚合等操作。

其可以实现服务调用入口与出口的统一管理,从而简化服务的调用和管理

使用微服务网关主要有以下几个方面的好处:

1)提高性能:通过服务网关,由于其可以通过缓存一些静态资源的方式来加速访问,并且可以实现协议转换等功能,从而提高服务的响应速度以及服务的性能。

2)方便调用:我们上面说过,服务网关可以将多个服务的调用进行入口和出口的统一管理,这样的话,服务间的调用通过网关,然后网关路由转发就可以实现了,这样从一定程度上简化了服务的调用和服务的管理。

3)配置简化:通过使用服务网关,可以从一定程度上简化服务的配置以及管理,因为服务的调用统一管理了,从一定程度上可以降级系统的服务管理成本。

4)服务保护:网关可以实现鉴权、负载均衡、流量控制等操作,从一定程度上可以实现对于服务的保护,提高服务的可用性以及稳定性。

扩展知识

微服务服务网关常见功能

1)路由转发:服务网关可以通过路由转发的方式,将请求分发到不同的服务实例上,在实现之前可以结合注册中心实现负载均衡和流量控制(流量控制这个可以通过算法,也可以通过其他中间件)的功能。

2)安全鉴权:这个也是项目中经常用的,在之前单体架构的时候,我们实现安全鉴权这个操作放在拦截器中,这种方式非常方便,但是在微服务架构中,每个服务都这样就会导致代码冗余了,因此我们可以考虑将鉴权功能放在网关进行,比如身份认证、授权、加密等功能。

3)缓存加速:这个应该是大家比较少接触的点,网关其实是可以通过缓存一些信息的方式来加快访问速度以及提高性能的,即通过缓存一些静态资源来降低响应时间,提高访问速度。

4)协议转换:主要是指网关的协议泛化调用,比如 HTTP 协议转换为 RPC 协议或者 HTTPS 协议,这个都是可以在网关层现的。

5)日志监控:因为网关可以统一管理服务的出口以及入口调用,因此可以很方便的进行日志监控以及请求统计,方便开发者了解服务的使用以及性能状况。

Comments