SpingCloud Alibaba实战(1:微服务与SpringCloud Alibaba) (2)

服务如何监控。通常对于一个服务,我们最关心的是QPS(调用量)、AvgTime(平均耗时)以及P999(99.9%的请求性能在多少毫秒以内)这些指标。这时候你就需要一种通用的监控方案,能够覆盖业务埋点、数据收集、数据处理,最后到数据展示的全链路功能。

服务如何治理。可以想象,拆分为微服务架构后,服务的数量变多了,依赖关系也变复杂了。比如一个服务的性能有问题时,依赖的服务都势必会受到影响。可以设定一个调用性能阈值,如果一段时间内一直超过这个值,那么依赖服务的调用可以直接返回,这就是熔断,也是服务治理最常用的手段之一。

故障如何定位。在单体应用拆分为微服务之后,一次用户调用可能依赖多个服务,每个服务又部署在不同的节点上,如果用户调用出现问题,你需要有一种解决方案能够将一次用户请求进行标记,并在多个依赖的服务系统中继续传递,以便串联所有路径,从而进行故障定位。

3、微服务技术选型

对于大部分公司而言,自研来解决微服务架构的一些问题,成本是很难接受的。不过,幸运的是,有不少业界开源方案可供选择。

前几年比较火的是阿里的Dubbo,后来一度停止维护,最近两年又起死回生,重新焕发生机。

后来又出现了Spring体系下的微服务方案Spring Cloud,并迅速流行起来。

Spring Cloud本身不是新的框架,它是一系列框架的有机组合,利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。并非所有组件都由Spring提供,Netflix扮演了重要的角色。

注册中心Eureka、熔断器Hystrix、负载均衡组件Ribbon、网关Zuul等重要组件均由Netflix提供。

SpingCloud微服务架构

4、为什么要使用SpringCloud Alibaba

SpringCloud生态已经如此完善了。什么是SpringClou Alibaba? 为什么要使用SpringCloud Alibaba?

来自阿里云的说法:

Spring Cloud 本身是一套微服务规范,并不是一个拿来即可用的框架,而 Spring Cloud Alibaba 的开源为开发者们提供了这套规范的实现方式。同时,Spring Cloud Alibaba 提供的完整的微服务组件、中文文档和本地化的开源服务提高了开发者们接入微服务的速率,并降低了后续的运维难度。

简单说,Spring Cloud Alibaba是阿里开源的一套Sping Cloud规范的实现。

那么,第二点,为什么要使用SpringCloud Alibaba?

因为上面提到的SpringCloud官方版,或者说SpringCloud Netflix版一些重要组件如注册中心Euraka、Ribbon已经不再迭代更新了。

SpringCloud Alibaba恰逢其会开源孵化毕业,所以这两年热度迅速提升,甚至可以说是"SpringCloud2.0"。

来自阿里SpringCloud Alibaba总体结构图:

img

和SpringCloud Netflix的主要区别:

img

Spring Cloud Alibaba 各版本兼容表:

img


好了微服务和SpringCloub Alibaba的简介到此结束!


参考

【1】:小专栏:SpringCloudAlibaba微服务实战

【2】:Java日知录 SpringCloud Alibaba微服务实战

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxxgp.html