Spring Cloud Alibaba

Spring Cloud Alibaba是阿里巴巴提供的一套微服务开发一站式解决方案
主要提供的功能:

  • 服务限流降级
  • 服务注册与发现
  • 分布式配置中心
  • 分布式事务
  • 阿里云对象存储
  • 阿里云短信
    提供的组件:
  • Sentinel
  • Nacos(呐扣斯)
    优势:
  1. 中文文档
  2. 没有另起炉灶,可以方便的集成到现有项目中
  3. 阿里本身在高并发、高性能上的经验,让我们有理由相信这些组件足够可靠。

Nacos

Nacos主要提供了服务发现,服务配置以及服务管理
基本特征:

  • 服务发现
  • 动态配置
  • 动态DNS服务
  • 服务及元数据管理

安装+配置中心

  • Docker 安装
docker pull nacos/nacos-server
# 查看镜像
docker images
# 启动nacos
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
# 登录密码默认nacos/nacos
# standalone代表着单机模式运行,非集群模式
doc

  • 下载源码自己编译安装/下载编译好的安装包
    首先下载安装包:https://github.com/alibaba/nacos/releases/download/1.2.0-beta.1/nacos-server-
    1.2.0-beta.1.tar.gz
    然后解压,解压后,如果 win,直接在 bin 目录下双击 startup.cmd 启动。
    如果Linux,bin 目录下执行 sh startup.sh -m standalone.
    注意,系统一定要配置好 jdk,测试一下 java 和 javac 两个命令要存在。
    Nacos 启动成功后,浏览器输入:http://192.168.91.128:8848/nacos 就能看到启动页面。
    如果有登录页面,登录的默认用户名/密码都是 nacos。

先来看配置中心,类似于 Spring Cloud Config
首先在服务端配置,点击配置管理->配置列表->+
这里主要配置三个东西,Data ID、Group 以及要配置的内容。
Data Id 的格式是 ${prefix}-${spring.profile.active}.${file-extension}
${prefix} 的值,默认为 spring.application.name 的值
${spring.profile.active} 表示项目当前所处的和环境
${file-extension} 表示配置文件的扩展名
配置完成后,新建 Spring Boot 项目,加入 Nacos 依赖:

然后,新建bootstrap.properties配置文件,配置nacos信息:

spring.application.name=nacos
spring.cloud.nacos.server-addr=192.168.91.128:8848
spring.cloud.nacos.config.file-extension=properties

最后再提供一个测试Controller

@RestController
public class HelloController {
    @Value("${name}")
    String name;

    @GetMapping("/hello")
    public String hello(){
        return name;
    }
}

注册中心

Nacos 做注册中心,可以代替 Eureka。
创建 Spring Boot 项目,添加依赖:

添加配置:

spring.application.name=nacos01
spring.cloud.nacos.discovery.server-addr=192.168.91.128:8848

然后再提供一个测试Controller

@RestController
public class HelloController {
      @Value("${server.port}")
      Integer port;
      @GetMapping("/hello")
      public String hello() {
            return "hello:" + port;
      }
}

再将项目打包,启动两个实例

java -jar nacos01-0.0.1-SNAPSHOT.jar --server.port=8080
java -jar nacos01-0.0.1-SNAPSHOT.jar --server.port=8081

再来创建一个 consumer ,配置基本与 nacos01 一致。

Sentinel(参疼NO)

  • 使用场景丰富
  • 有完备的实时监控
  • 广泛的开源生态
    Sentinel 整体上可以分为两个核心部分:
  • 核心库
  • 控制台

安装首先下载控制台jar,这是一个 Spring Boot 工程,下载好之后,直接用 Spring Boot 启动命令启动它
即可。
下载地址:https://github.com/alibaba/Sentinel/releases/download/1.7.1/sentinel-dashboard-1.7.1.jar

应用

创建一个新的 Spring Boot 工程,添加 Sentinel 依赖。

项目创建成功后,配置 sentinel 控制台地址:

spring.application.name=sentinel
spring.cloud.sentinel.transport.dashboard=localhost:8080
server.port=8081

再创建一个测试Controller

posted @ 2020-08-17 22:01  柒丶月  阅读(223)  评论(0编辑  收藏  举报