首先是Getway,Spring Cloud 官方推出的第二代网关框架,取代Zuul 网关。做路由的转发和身份的认证
使用了一个 RouteLocatorBuilder 的 bean 去创建路由,除了创建路由还是用了filters,用来对请求做各种判断和修改。
其次使用了nacos的配置中心和注册中心
1.注册中心主动检测客户端状态:
临时实例采用心跳模式上报自己的状态临时实例心跳不正常会被剔除
2.Config配置中心:在微服务系统中,有很多的服务,而每个服务都有自己的配置文件,管理起来很麻烦。就需要使用config配置中心进行统一管理配置文件,它支持本地配置文件,也支持将配置文件放到远程仓库git集中管理【我们现在使用的是Nacos对配置文件进行管理】并且支持动态刷新配置,无需重启应用。
我们还使用了Ribbon进行请求之间负载均衡 Ribbon是一个客户端负载均衡器,当一个微服务有多个集群时,Ribbon会根据指定的负载均衡策略选择一个可用的服务提供者,并将请求转发到该服务提供者上。
OpenFeign是SpringCloud提供的声明式REST调用工具,可以让开发者以接口的方式调用远程服务,从而简化了服务间通信的代码编写。在启动时生成接口的代理对象,当调用接口方法时,Feign会将方法参数序列化成HTTP请求并发送到指定的服务提供者,再将返回结果反序列化成对应的对象返回给我们。我们主要是使用openfeign来完成服务之间的相互调用