springCloud-Alibaba微服务是一系列组件的组合,最终实现分布式、集群部署、动态配置、高可用、高并发、高可用等全面优化的一套微服务。涉及的主要组件包括:
keepalived:防止单点故障;
lvs:转发请求;
nginx:负载均衡;
gateway+JWT:路由网关、统一授权认证;
sentinel:熔断器;
sentinel控制台:web可视化系统;
ribbon:请求负载均衡;
nacos:注册配置中心,包括nacos-discovery(注册服务)、nacos-config(配置服务);
feign:简化http请求;
mq:消息队列;
nacos-address:nacos地址服务器;
actuator:应用监控;
admin:web可视化actuator系统;
sleuth:微服务跟踪工具;
zipkin:web可视化sleuth调用链系统;
beats:ELK生态集群中读取数据的工具;
logstash:ELK生态集群中抽取和处理数据的工具;
elasticsearch:ELK生态集群中存储数据;
kibana:ELK生态集群中查询和分析数据的web系统;
elasticsearch-head:一种查看和操作elasticsearch数据的web工具;
通过以上各种组件的配置使用,可以在微服务集群部署完成以后,可以让后台管理员,通过6个web系统+1个url接口来动态的管理和查看集群中的各种信息,详细介绍如下:
nacoss-address:通过url接口,可以让后台管理员动态的管理nacos中的nacos-config集群节点,可以增加、删除集群节点,而不用修改微服务中的nacos-config的配置信息。但是微服务中配置的nacos-discovery、sentinel等信息,需要在nacos控制台中的配置文件中进行修改。
nacos:通过web可视化系统,可以让后台管理员动态的配置各个微服务的配置文件,并且实现自动生效的效果。
sentinel控制台:通过web可视化系统,可以后台让管理员查看每个微服务对应的请求信息,以及配置各个接口数据规则,限制访问流量等配置信息,并且实现自动实时生效的效果。
zipkin:通过web可视化系统,可以让后台管理员查看每个微服务的请求调用的响应时间,请求调用的依赖关系等,可以及时的分析和定位问题。
admin:通过web可视化系统,可以让后台管理员查看每个微服务的健康信息,各个微服务应用的各种信息,让管理员方便全面的了解各部署应用实例。
kibana:通过web可视化系统,可以让后台管理员方便的查看各个部署实例的日志信息,并可以让后台管理员分析日志数据。
elasticsearch-head:通过web可视化系统,可以让后台管理员方便的对elasticsearch中的数据进行查询和操作。
具体的整个springCloud-Alibaba微服务架构图如下所示: