微服务的基础知识点

36 阅读2分钟

单体架构和微服务架构的区别

单体架构:是我们只需要完成一次用户登录、身份校验,就可以在所有业务中获取到用户信息 微服务架构:而微服务拆分后,每个微服务都独立部署,不再共享数据。也就意味着每个微服务都需要做身份校验,这显然不可取

我们的登录是基于JWT来实现的,校验JWT的算法复杂,而且需要用到密钥。如果每个微服务都去做身份校验,这就存在着两大问题:

  • 每个微服务都需要知道JWT的密钥,不安全。
  • 每个微服务重复编写身份校验代码、权限校验代码,代码重复不易维护。

网关鉴权是指在网关对请求进行身份验证的过程。这个过程确保只有经过授权的用户或设备才能访问特定的服务或资源。

2. 负载均衡

请求首先到达网关,网关从nacos获取服务实例列表,通过Spring Cloud LoadBalancer负载均衡器选取一个服务实例,请求转发到该服务实例上。

负载均衡的作用

1.提高可用性和可靠性:通过将请求分布到多个服务器中,即使有一个服务器发生故障,其他服务器仍然可以运用 2.增加可扩展性;可以根据流量的增长情况动态添加更多的服务器,可以处理更多的用户请求 3.通过智能地分配请求,避免了某些服务器过载而其他服务器闲置的情况,提高了整体系统的响应速度

应用场景

  1. web服务集群;为搞流量网站提高服务性能
  2. 数据库读写对于读多写少的应用场景,可以通过负载均衡技术将读操作分发到多个从库,只将写操作发送到主库分离;