1. SpringCloud Alibaba简介 1.1 为什么会出现SpringCloud Alibaba
Spring Cloud Netflix项目进入到维护模式
什么是维护模式?=> 将模块置于维护模式,意味着Spring Cloud团队将不会再向模块添加新功能(我们将修复block级别的bug以及安全问题,我们也会考虑并审查社区的小型pull request)。
进入维护模式意味着?=> SpringCloud Netflix将不再开发新的组件。新组件功能将以其他替代品代替的方法实现。
1.2 SpringCloud Alibaba有什么官网 诞生于2018.10.31,Spring Clooud Alibaba正式入驻Spring Cloud官方孵化器,并在Maven中央库发布了第一个版本。
能干什么?
功能 具体说明服务限流与降级 默认支持Servlet,Feign,RestTemplate,Dubbo和RocketMQ限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级Metrics监控。
服务注册与发现 适配Spring Cloud服务注册与发现标准,默认集成了Ribbon的支持。
分布式配置管理 支持分布式系统中的外部化配置,配置更改时自动刷新。
消息驱动能力 基于SpringCloud Stream 为微服务应用构建消息驱动能力。
阿里云对象储存 阿里云提供的海量,安全,底成本,高可靠的云存储服务。支持在任何时间,任何地点储存和访问任意类型的数据。
分布式任务的调度 提供秒级,精准,高可靠,高可用的定时(基于Cron表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有Worker(schedulerx-client)上执行。
使用SpringCloud Alibaba需要在POM文件中引入其依赖:
<dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.1.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> 2. Nacos作为服务注册中心官方文档
2.1 Nacos简介“Nacos”,前四个字母分别问Naming和Configuration的前两个字母,最后的s为Service,它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,说白了就是 注册中心 + 配置中心 的组合,等价于SpringCloud之前的 Eureka + Config + Bus,所以Nacos可以替代Eureka做服务中心,可以替代Config做配置中心。
2.2 Nacos安装与运行在Nacos官网下载地址中下载Nacos,在安装Nacos前需要本地Java8和Maven的环境已经准备好,然后下载其压缩包:
解压该压缩文件后直接运行在bin目录下的startup.cmd启动Nacos:
然后访问 :8848/nacos/ 进入Nacos,其默认的账号密码都是nacos,登录成功后即可看到如下界面:
在之前学习服务注册中心的时候讲过CAP理论,即
C A PConsistency Available Partition tolerance
强一致性 可用性 分区容错性
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性、可用性、分区容错性。
CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。在分布式架构中,P永远要求被保证,所以当前的分布式架构只有AP和CP两种。Nacos属于AP模型,再次对比这些服务注册中心:
服务注册与发现框架 CAP模型 控制台管理 社区活跃度Eureka AP 支持 低(2.x版本历史问题)
Zookeeper CP 不支持 中
Consul CP 支持 高
Nacos AP(事实上也可以支持CP) 支持 高
据说Nacos在阿里巴巴内部有超过10万的实例运行,已经过了类似双十一等各种大型流量的考验。
2.3 Nacos作为服务注册中心基于Nacos的服务提供者