尚硅谷——谷粒商城项目开发记录——2021.11.20

尚硅谷——谷粒商城项目开发记录——2021.11.20

概念:

1.SpringCloud Alibaba:

  • 简介:
    • Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
    • Spring Cloud Alibaba
  • 优势:
    • 性能强悍,设计合理,项目开源
  • 技术搭配方案:
    • SpringCloud Alibaba - Nacos
      • 注册中心(服务发现/注册)
    • SpringCloud Alibaba - Nacos
      • 配置中心(动态配置管理)
    • SpringCloud - Ribbon
      • 负载均衡
    • SpringCloud - Feign
      • 声明式 HTTP 客户端(调用远程服务)
    • SpringCloud Alibaba - Sentinel
      • 服务容错(限流、降级、熔断)
    • SpringCloud - Gateway
      • API 网关(webflux 编程模式)
    • SpringCloud - Sleuth
      • 调用链监控
    • SpringCloud Alibaba - Seata
      • 原Fescar,即分布式事务解决方案
  • 依赖(注意版本):
    • 1.5.x 版本适用于 Spring Boot 1.5.x
    • 2.0.x 版本适用于 Spring Boot 2.0.x
    • 2.1.x 版本适用于 Spring Boot 2.1.x
          <dependencyManagement>
              <dependencies>
                  <dependency>
                      <groupId>com.alibaba.cloudgroupId>
                      <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                      <version>2.1.0.RELEASEversion>
                      <type>pomtype>
                      <scope>importscope>
                  dependency>
              dependencies>
          dependencyManagement>
      

2.Nacos注册中心:

  • Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
  • 文档地址:
    • 文档地址
  • 下载nacos-server:
    • 下载nacos
  • 启动:
    • 双击 bin 中的 startup.cmd 文件
    • 访问 http://localhost:8848/nacos/
    • 默认账号密码:nacos/nacos进行登录
      尚硅谷——谷粒商城项目开发记录——2021.11.20_第1张图片
      尚硅谷——谷粒商城项目开发记录——2021.11.20_第2张图片
      尚硅谷——谷粒商城项目开发记录——2021.11.20_第3张图片

3.如何使用Nacos作为配置中心统一管理配置:

  • (1).引入依赖
<dependency>
	<groupId>com.alibaba.cloudgroupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
dependency>
  • (2).创建一个bootstrap.properties。
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
  • (3).需要给配置中心默认添加一个叫 数据集(Data Id)gulimall-coupon.properties。默认规则,应用名.properties
  • (4).给应用名.properties 添加任何配置
    尚硅谷——谷粒商城项目开发记录——2021.11.20_第4张图片
  • (5).动态获取配置。
@RefreshScope:动态获取并刷新配置
@Value("${配置项的名}"):获取到配置。
如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置。

4.细节:

  • (1).命名空间, 配置隔离;
    • 默认: public(保留空间);默认新增的所有配置都在public空间。
    • 开发,测试,生产: 利用命名空间来做环境隔离。
    • 注意:
      • 在bootstrap.properties;配置上,需要使用哪个命名空间下的配置
        spring.cloud.nacos.config.namespace=9de62e44-cd2a-4a82-bf5c-95878bd5e871(命名空间唯一id)
        
      • 每一个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置
  • (2).配置集: 所有的配置的集合
  • (3).配置集ID: 类似文件名。
    • Data ID: 类似文件名
  • (4).配置分组:
    • 默认所有的配置集都属于: DEFAULT_GROUP;
    • 如: 1111,618,1212
    • 项目中的使用: 每个微服务创建自己的命名空间,使用配置分组区分环境,dev,test,prod

5.同时加载多个配置集:
* (1).微服务任何配置信息,任何配置文件都可以放在配置中心中
* (2).只需要在bootstrap.properties说明加载配置中心中哪些配置文件即可
* (3).@Value,@ConfigurationProperties。。。
* 以前SpringBoot任何方法从配置文件中获取值,都能使用。
* 配置中心有的优先使用配置中心中的

出现错误:

  • 1.IDEA updating indices很慢(2020版本):
    • 在idea没被打开的时候删除缓存,打开C:\Users\xxxx\AppData\Roaming\JetBrains\IntelliJIdea版本号\system
    • 删除里面的caches文件夹 随后重启IDEA
    • 或者去自己修改的路径下删除caches
    • 打开项目执行此操作,下次打开就不会卡在updating indices
      尚硅谷——谷粒商城项目开发记录——2021.11.20_第5张图片

2.构建SpringCloud微服务

  • 构建微服务项目时,一定要将SpringBoot的版本和SpringCloud的版本对应起来,否则启动会出现错误。
    尚硅谷——谷粒商城项目开发记录——2021.11.20_第6张图片

你可能感兴趣的:(java,spring,cloud,分布式)