nacos简介+分布式架构

分布式架构 ***          单体

    -- 项目搭建 

         maven  依赖

         配置问题 

学习分布式框架 

       SpringCloud && SpringCloudAlibaba  || apche dubbo

       学习分布式框架中各个组件的使用   Component 

       1、Nacos 

       2、OpenFeign

       3、Sentinel

       4、Gateway

       .....

前端:

       VUE2      Vue-admin-template 管理端前端脚手架

消息中间件:

       MQ (message queue) 消息队列 

       RabbitMQ  √

       Kafka     

搜索: 

****  业务题  *****    6套题  有个计划  

镜像加速===》安装完成docker后执行:

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json 

{

    "registry-mirrors": [

        "https://hub.uuuadc.top",

        "https://docker.anyhub.us.kg",

        "https://dockerhub.jobcher.com",

        "https://dockerhub.icu",

        "https://docker.ckyl.me",

        "https://docker.awsl9527.cn"

    ]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

1、安装 mysql 

2、安装 redis  

微服务框架:

(1) SpringCloud 

(2) SpringCloudAlibaba

  先出的 SpringCloud  后续 出来  SpringCloudAlibaba

  由于SpringCloud的一些组件停止更新维护了

  SpringCloudAlibaba 基于SpringCLoud开发出了一些组件来替代SpringCLoud停止维护的组件

  SpringCloud:

     Eureka    注册中心    停止        Nacos 

     feign     远程调用    升级        openFeign

     hystrix   熔断        停止        sentinel 

     ribbon    负载均衡             

     zuul      网关       升级        Gateway       

     springcloud config  配置中心     停止    nacos

     springcloud bus     消息总线     停止    nacos

  最终分布式架构搭建:既包含了 SpringCloud 又包含了 SpringCloudAlibaba

  第一个分布式组件: nacos 

  (1) 为什么需要使用 Nacos 

      a:Nacos 服务的注册发现中心

        1)、引入依赖

        

        

            com.alibaba.cloud

            spring-cloud-starter-alibaba-nacos-discovery

        

        2)、添加配置 

        spring:

          cloud:

            nacos:

              # 配置nacos注册发现中心的地址 项目启动的时候 会自动将当前的项目注册到 这个nacos中

              discovery:

                server-addr: 123.60.133.141:8848

      3)、启动类上添加注解    可以省略

           @EnableDiscoveryClient

      b: Nacos 服务的配置中心   配置文件 需要换名字 application.xxx -> bootstrap.xxx

      1)、 引入配置依赖

        

        

            com.alibaba.cloud

            spring-cloud-starter-alibaba-nacos-config

        

         

        

            org.springframework.cloud

            spring-cloud-starter-bootstrap

        

        2)、 编写配置 

        spring:

          cloud:

              nacos:

                config:

                  service-addr: 123.60.133.141:8848   指定nacos配置中心的地址 

        线上的配置需要自己去nacos配置中心添加 

        Data id:  配置文件的名称, 这个配置 不可以随意命名 有固定的规则 

        ${prefix}-${spring.profiles.active}.${file-extension}

        --- prefix: 默认取的是当前服务的名称  spring.application.name 的值   可以通过 spring.cloud.nacos.config.prefix=xxxx

        --- spring.profiles.active springboot的环境  可以配置也可以不配置  

              如果配置了    spring.profile.active=dev    -dev  

              如果没有配置   Data id: ${prefix}.${file-extension}

        --- file-extension 文件内容的格式  Properties[默认值] 或者 yaml  spring.cloud.nacos.config.file-extension=yml 来指定

        3)、 如果读取配置文件使用的是 @Value("${}") 需要配合使用 @RefreshScope 这个注解来实现配置的自动更新

 读取配置:

 (1) @Value("${}")   简答   不能自动更新配置  需要配合使用 @RefreshScope

 (2) @Configuration + @ConfigurationProperties(prefix="前缀") 

          属性名称 必须和 配置文件中除了前缀 之外的名字 保持一致 

          属性必须提供 set 方法 

  (3)  注入 Environment  对象 【spring上下文环境对象】  getProperties("key") 来获取值            

  nacos配置进阶

  命名空间:namespace   使用命名空间做配置的环境粗粒度隔离   开发环境   测试环境   生产环境     

  配置集:     各个配置的集合 就叫配置集  配置文件中包含了 数据源的配置  mybatis 的配置  redis  mq 。。。。。

  配置集ID:   Data id:  配置文件的名称

  配置分组:   可以做配置的细粒度的隔离     使用 命名空间做服务的隔离 配置 配置分组做环境和活动的隔离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值