02-微服务环境搭建

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。02-微服务环境搭建,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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的命名格式 而是采用了伦敦地铁站的名字根据字母表的顺序结合

02-微服务环境搭建

 

1.3. Boot和Cloud对照关系

02-微服务环境搭建

 

2. 环境搭建

2.1. 创建父工程

02-微服务环境搭建

 

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. 创建实体工程  

02-微服务环境搭建

2.4. 添加依赖

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

2.5. 新建实体类

02-微服务环境搭建

2.6. 新建Provider工程

02-微服务环境搭建

 

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. 编写主配置类

02-微服务环境搭建

 

2.9. 编写controller

02-微服务环境搭建

 

2.10. 启动测试

02-微服务环境搭建

2.11. 新建consumer工程

02-微服务环境搭建

 

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. 编写主配置类

02-微服务环境搭建

 

2.14. 编写Controller

02-微服务环境搭建

 

2.15. 编写配置文件

02-微服务环境搭建

 

2.16. 问题描述

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

3. RestTemplate的使用

3.1. 注入到容器

02-微服务环境搭建

 

3.2. 使用远程调用

02-微服务环境搭建

 

3.3. 启动测试

02-微服务环境搭建

 

3.4. 问题说明

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192873.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!