SpringCloud学习----阳哥(三)

一、热部署-----------------p11

1.添加依赖到子项目的pom文件

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>

2.添加build到父项目的pom文件

<build>
<finalName>cloud2020</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.2.2.RELEASE</version>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>

3.开启自动编译

 4.ctrl+Alt+shift+/ 打开rejistry

 二、客户端消费者-------------p12

1.新建:

1.)建立module

2.)修改POM文件

3.)yml文件新建

4.)主启动类

5.)主业务类

2.业务逻辑-------p13:

这里跟服务端有些区别(客户端不应该具备service 和 dao等,它只需要controller)

通过RestTemplate来实现服务。

此时的 order表示客户端 ,调取服务端的服务,按照之前惯例走的是 httpClient 但是当前更新的技术是 restTemplate

使用restTemplate首先需要配置文件,将其注入到容器中

1)新建config配置文件

 2)controller里面利用restTemplate来实现数据的增删改查

 3.测试

查询功能直接浏览器内测试通过

写功能,浏览器通过,但是实际上数据并没有进到数据库。

 需要在服务端,参数那个加一个 RequestBody

 4.开启run dashboard方便启动观察多个模块。

5.代码的重构---------p14

1. )新建一个公共的模块,存储所有模块共用的部分

cloud-api-commons

2.)改pom文件

3.)在该模块下新建entities,以及复制相应的实体类

4.)maven命令 clean install

5.)订单80和支付8001分别改造

删除原本的entities,引入自己定义的api调用包。(我本地代码重构未成功)

<dependency>
<groupId>com.atguigu.springcloud</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>${project.version}</version>
</dependency>

-------------------------------------------------------------------------------------------------------------

补充CPA理论:https://www.cnblogs.com/mingorun/p/11025538.html

CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性中:

  • 一致性(Consistency)
  • 可用性(Availability)
  • 分区容错性(Partition tolerance)

最多满足其中的两个特性。也就是下图所描述的。分布式系统要么满足CA,要么CP,要么AP。无法同时满足CAP。

对于分布式的结构,P永远需要满足。

一、三个注册中心的异同点

二:负载均衡两种。(本地负载均衡和服务端负载均衡)

三:服务降级Hystrix学习--P52(按顺序学习到52)

原文地址:https://www.cnblogs.com/maowuyu-xb/p/13773024.html