Spring Cloud的设计理念是Integrate Everything,即充分利用现有的开源组件,数据库
在它们之上设计一套统一的规范/接口使它们可以接入Spring Cloud体系而且可以无缝切换底层实现。缓存
中间件向下屏蔽异构的硬件、软件、网络等计算机资源,向上提供应用开发、运行、维护等全生命周期的安全
统一环境与管理,属于承上启下的中间层。中间件本质上能够归属为技术构架,常见的中间件分别是服务
网络
治理中间件(如,Dubbo)、配置中心、全链路监控、分布式事务、分布式定时任务、消息中间件、API网关、架构
分布式缓存、数据库中间件。负载均衡
Spring Cloud 是一系列中间件合集,提供了一套完整的微服务解决方案。运维
服务治理中间件包括服务注册与发现、服务路由、负载均衡、自我保护、丰富的治理管理机制等功能。分布式
其中服务路由包括服务上下线、在线测试、机房就近选择、A/B测试、灰度发布等。负载均衡支持根据微服务
目标状态和目标权重进行负载均衡。自我保护服务降级、流量监控。测试
Spring Cloud 目前支持:
1)Euraka、Zookeeper、Consul做为注册中心;
2)Hystrix进行熔断自我保护;
3)Ribbon进行负载均衡;
在分布式系统中,因为存在多个实例,须要分别管理每一个具体服务工程中的配置,
上线须要准备Check List并逐个检查每一个上线服务是否正确。在系统上线后一旦
修改某个配置,就须要重启服务。这样开发管理至关麻烦。所以咱们须要把分布式
系统中的配置信息抽取出来统一管理,这个管理的中间件称为配置中心。配置中心
应该具有的功能,分别是支持各类复杂的配置场景,与公司的运维体系和权限管理
体系集成,各类兼容支持。Spring Cloud Config 是Spring Cloud生态圈中的配置中心中间件。
AIP Gateway,是出如今系统边界上一个面向API的、串行集中式的强管控服务,这里的边界是企业
IT系统的边界,能够理解为企业级防火强,主要起到隔离外部访问与内部系统的做用。网关在微服务架构中的位置:
做为一个网关中间件,至少应该具有以下四个功能:
1)统一接入功能:
2)协议适配功能:
3)流量管控功能:
4)安全防御;
Spring Cloud 第一代网关Zuul, 第二代网关Gateway。
在微服务架构中,分散在每一个服务下的日志信息不利于问题的排查定位问题发生的根本缘由。
此时,就能够了利用全链路监控中间件收集、汇总与分析日志信息,进行可视化展现和监控告警。
全链路监控中间件应具有以下功能:
1)定位慢调用:包括慢Web服务、慢REST或RPC服务、慢SQL;
2)定位各类错误:包括4XX、5XX、Service Error;
3)定位各类异常:
4)展示依赖和拓扑:
5)trace条用链:
6)应用警告: