[toc]

本篇为理论篇,内容略显枯燥,实际案例为下一篇

一、springcloud alibaba相关说明

1. 相关文档

官网:https://spring.io/projects/spring-cloud-alibaba#overview
git地址:https://github.com/alibaba/spring-cloud-alibaba
g版地址:https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html
中文文档地址:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md
下载地址:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

2、springcloud alibaba有哪些作用

  1. 服务限流降级:默认支持Servlet、Feign、RestTemplate、Dubbo和RocketMQ限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级Metrics 监控。
  2. 服务注册与发现:适配Spring Cloud服务注册与发现标准,默认集成了Ribbon的支持。
  3. 分布式配置管理:.支持分布式系统中的外部化配置,配置更改时自动刷新。
  4. 消息驱动能力:基于Spring Cloud Stream为微服务应用构建消息驱动能力。
  5. 阿里云对象存储:阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。
  6. 分布式任务调度:提供秒级、精准、高可靠、高可用的定时(基于Cron表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有Worker (schedulerx-client)上执行。

3、alibaba目前流行有哪些组件

  1. Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

  2. Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

  3. RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

  4. Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架。

  5. Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

  6. Alibaba Cloud ACM:一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。

  7. Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

  8. Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。

  9. Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

二、Nacos简介

image.png

1. nacos简介相关地址

官方地址:https://nacos.io/zh-cn/index.html
git地址:https://github.com/alibaba/Nacos
官方地址:https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_spring_cloud_alibaba_nacos_discovery

image.png
image.png

2. nacos作用

  1. 替代Eureka做服务注册中心
  2. 替代Config做服务配置中心

Nacos = Eureka+Config+Bus

3. 各注册中心对比

image.png
image.png

image.png

C是所有节点在同一时间看到的数据是一致的;而A的定义是所有的请求都会收到响应。

何时选择使用何种模式?
如果不需要存储服务级别的信息且服务实例是通过nacos-client主册,并能够保持心跳上报,那么就可以选择AP模式。当前主流的服务如Spring cloud和Dubbo服务,都适用于AP模式,AP模式为了服务的可能性而减弱了一致性,因此AP模式下只支持注册临时实例。

如果需要在服务级别编辑或者存储配置信息,那么CP是必须,K8S服务和DNS服务则适用于CP模式.
CP模式下则支持注册持久化实例,此时则是以Raft协议为集群运行模式,该模式下注册实例之前必须先注册服务,如果服务不存在,则会返回错误。

curl -X PUT 'SNACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP"
curl -X PUT '$NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP"

三、下载和安装

1. 下载

下载地址:https://github.com/alibaba/nacos/releases/tag/1.1.4

2. 环境准备

本地Java8+Maven环境已经OK

3. 运行

双击bat文件
image.png
image.png
image.png

可能存在的问题:
启动闪退问题
image.png

set MODE="standalone"
这个属性可能打开为cluster,如果单机启动把cluster修改为standalone即可。

Q.E.D.


只有创造,才是真正的享受,只有拚搏,才是充实的生活。