springcloudalibaba01

整合springcloud 和 springcloudalibaba,,,

版本对应关系
springcloudalibaba01_第1张图片

<dependencyManagement>
        <dependencies>
            

            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-dependenciesartifactId>
                <version>Hoxton.SR12version>
                <type>pomtype>
                <scope>importscope>
            dependency>

            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                <version>0.9.0.RELEASEversion>
                <type>pomtype>
                <scope>importscope>
            dependency>
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-dependenciesartifactId>
                <version>${spring-boot.version}version>
                <type>pomtype>
                <scope>importscope>
            dependency>
        dependencies>
    dependencyManagement>

使用nacos

   
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-alibaba-nacos-discoveryartifactId>
        dependency>

还有一个alibaba里面的nacos,,,区别:
springcloudalibaba01_第2张图片
alibaba里面的nacos,,不依赖于 Alibaba Cloud SDK ,,更加灵活的使用nacos

使用nacos
  • 查看nacos对应的版本:
    springcloudalibaba01_第3张图片
    去下载对应的版本,并启动: 输入:http://localhost:8848/nacos

  • 项目中引用nacos的包

springcloudalibaba01_第4张图片

  • 配置文件 ,注册地址
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/content_center
    hikari:
      username: root
      password: root
      driver-class-name: com.mysql.cj.jdbc.Driver

  application:
    name: content-center
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

  • 怎么在同一个代码开启多个应用

springcloudalibaba01_第5张图片
springcloudalibaba01_第6张图片

检测nacos是否注册成功了服务

springcloud提供了一个类 DiscoveryClient,这个类可以获取同一个服务的所有实例

  • getInstance()
@RestController
public class TestController {

    @Autowired
    DiscoveryClient discoveryClient;

    @GetMapping("/test")
    public  List<ServiceInstance> setDiscoveryClient(){
        // 查询指定服务名字 所有的实例
        List<ServiceInstance> instances = discoveryClient.getInstances("user-center");
        // 所有服务的名字
        List<String> services = discoveryClient.getServices();
        services.forEach(System.out::println);
        return  instances;
    }
}
nacos服务领域模型

namaspace : 空间上的分离
group : 将多个微服务划分到一个组里面
service : 微服务
cluster :一个微服务,可能分布在多个地区,,一个地区上的所有实例的集群
instance : 实例

创建命名空间:
springcloudalibaba01_第7张图片

springcloudalibaba01_第8张图片

springcloudalibaba01_第9张图片

点击详情:可以看到设置的集群
springcloudalibaba01_第10张图片

nacos元数据
  • 通过页面配置元数据
    springcloudalibaba01_第11张图片
  • 通过代码设置 metaData
spring:
  cloud:
    nacos:
      discovery:
        #指定nacos server的地址
        server-addr: localhost:8848
        # 配置命名空间的id 不能写名称
#        namespace: f31bc1eb-efdb-4c9f-9d51-3afcc6951d4b
        # 指定集群名字
#        cluster-name: chengdu
        metadata:
          instance: hehe
          version: v1

springcloudalibaba01_第12张图片

你可能感兴趣的:(springcloud,springcloud)