02-微服务环境搭建

1. SpringCloud的相关

1.1. 什么是springCloud

SpringCloud是 Privotal(开发spring的团队)在2015年发布的一个项目 ,它提供了一些可以让开发者快速构建微服务项目的工具,比如配置管理,服务发现,熔断,路由等等,可以在任何分布式环境下很好的工作。

但是注意:springCLoud 并不是一个全新研发的框架,它只是把一些优秀的解决微服务架构中的优秀开源框架基于SpringCloud的规范进行了整合,采用SpringBoot这个框架再次封装屏蔽掉了复杂的配置 让开发者快递上手,不需要关注底层复杂的配置 只需要简单的配置就能开发微服务项目,所以SpringCloud是一套微服务架构的规范, 而它的实现有很多比如:springCloud netflix,SpringCloud Consoul SpringCloud Alibaba

1.2. springCloud的版本说明

SpringCloud的版本,并不是像其他的Spring框架那样 x.x.x的命名格式 而是采用了伦敦地铁站的名字根据字母表的顺序结合

 

1.3. Boot和Cloud对照关系

 

2. 环境搭建

2.1. 创建父工程

 

2.2. 添加坐标

<!--Springboot的版本管理-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <!--SpringCloud的版本管理-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR5</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2.3. 创建实体工程  

2.4. 添加依赖

   <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

2.5. 新建实体类

2.6. 新建Provider工程

 

2.7. 添加依赖

   <!--依赖-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.cloud.cn</groupId>
            <artifactId>cloud-entity</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

2.8. 编写主配置类

 

2.9. 编写controller

 

2.10. 启动测试

2.11. 新建consumer工程

 

2.12. 添加依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.cloud.cn</groupId>
            <artifactId>cloud-entity</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

2.13. 编写主配置类

 

2.14. 编写Controller

 

2.15. 编写配置文件

 

2.16. 问题描述

cloud-consumer和cloud-provider分别是不同的工程,我们工程之间如何调用呢??

3. RestTemplate的使用

3.1. 注入到容器

 

3.2. 使用远程调用

 

3.3. 启动测试

 

3.4. 问题说明

我们采用restTemplate远程调用的方式,实现了跨项目的调用,但是这个调用存在一定的问题   ​ 
问题一: RestTemplate官方文档说明 已经不更新 不支持异步   
问题二: RestTemplate远程调用时 URL地址写死了 如果provider的域名端口修改任意一处此时我们要修改源代码,并且如果provider是一个集群的情况下 这样写不优雅 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值