1.18总结

1.总结eureka微服务创建的流程

1.1 创建项目,导入eureka相关依赖
1.2 编写application.yml配置文件
	1.2.1  配置端口号,eureka 的配置,注意不要把自己注册进去,设置 Eureka Server 交互的地址,对外暴露自己的地址
1.3 创建启动类 加上@EnableEurekaServer //开启Eureka服务
1.4 启动测试,访问 7001 端口  http://localhost:7001
1.5 创建提供者和消费方,两个项目注意在pom 文件的基础上引入 eureka 的client包,
	1.5.1<!--eureka-客户端依赖-->  
			<dependency>
			    <groupId>org.springframework.cloud</groupId>
			    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
			</dependency>
1.6 创建启动类,启动类加上@EnableEurekaClient注解
	1.6.1 @EnableEurekaClient注解作用:提供者用来向Eureka注册自己信息(地址,提供什么服务),消费者:向Eureka订阅服务( 为了启用服务注册发现功能。)
1.7 提供者和消费方的yml文件添加关于 Eureka 的配置(注册进 Eureka 的服务中心),访问http://localhost:7001里面注册完成

2.如何搭建eureka集群
原理:Eureka 集群的原理,就是 相互注册,互相守望

 1. 运行两个Eureka的集群,端口分别为:70017002
	1.1、 模拟多个 Eureka Server 在不同机器上 : 进入C:\Windows\System32\drivers\etc\hosts  创建两个端口
 2. 创建两个服务中心项目,复制之前的7001的项目
 3. 修改配置文件
 	3.1设置与 Eureka Server 交互的地址,(Eureka 集群的原理,就是 相互注册,互相守望),7001注册7002地址,7002注册7001的地址
 4. 将提供者和消费者的地址注册进提供者8001的配置文件中
 

3.服务提供方集群如何搭建

 1. 复制之前的一分服务提供方,修改端口号,注意命名
 2. 两台服务提供者,消费方不知道要调用哪一个,修改消费方的url成yml的application的名称(服务名称)
 3. 根据服务名称不知道到底调用哪台服务提供方的机器,在启动类上加入 @LoadBalanced(负载均衡:默认是均衡调用)

4.RestTemplate如何使用?


 1. 创建配置类,注入到spring容器中
 	
 	@Configuration
	public class MyConfig {
    
    
	    @Bean
	    @LoadBalanced
	    public RestTemplate getRestTemplate() {
    
    
	        return new RestTemplate();
	    }
	}
	
		getForObject    postForObject两个方法    
     * 三个参数:param1 请求地址,param2 请求参数, param3 返回类型
   

5.简述eureka的自我保护模式? 如何配置其自我保护模式
在短时间内丢失了服务实例的心跳,不会立刻删除该服务,这是eurekaserver的自我保护机制的宗旨。主要是为了防止由于短暂的网络故障误删除可用的服务。
所以,一般进入自我保护模式,无需处理。如果,需要禁用自我保护模式,只需要在配置文件中添加配置即可:(测试环境、开发环境可以关闭自我保护机制,保证服务不可用时及时剔除)
配置方式:在server端 配置文件(application.yml)中添加server 配置
在这里插入图片描述
在这里插入图片描述

6.什么是CAP理论? cp ap原则的含义
CAP即:
Consistency(一致性)
Availability(可用性)
Partition tolerance(分区容忍性)
CP(一致性)时,如果由于网络分区而无法保证特定信息是最新的,则系统将返回错误或超时。CP组件有zookeeper,consul
AP(可用性)时,系统将始终处理客户端的查询并尝试返回最新的可用的信息版本,即使由于网络分区而无法保证其是最新的。AP组件有Eureka

7.eureka 和zookeeper consul的区别?
eureka是一致性和分区分区容忍性
zookeeper和consul 是可用性和分区容忍性
在这里插入图片描述

8.使用ribbon进行负载均衡的步骤

  1. 引入依赖,由于spring-cloud-starter-netflix-eureka-client这个依赖已经集成了ribbon,所以我们不需要单独引入。
    在服务消费方开启负载均衡:@LoadBalanced
  2. 创建一个负载均衡配置文件,注意不要放在SpringBoot主启动类的包内。
@Configuration
public class MyRule {
    
    
   @Bean //IRule 是Ribbond的核心组件
   public IRule myrule(){
    
    
       return new RandomRule(); //负载均衡规则定义为随机
   }
}
  1. 然后在主启动类上添加如下注解 @RibbonClient:两个参数:name:指定服务名称,configuration:配置文件的字节码(MyRule.clas)

9.ribbon负载均衡的策略有哪些?
轮训

10.如何自定义负载均衡

  1. 引入依赖,由于spring-cloud-starter-netflix-eureka-client这个依赖已经集成了ribbon,所以我们不需要单独引入。
  2. 创建一个负载均衡配置文件,注意不要放在SpringBoot主启动类的包内。
@Configuration
public class MyRule {
    
    
   @Bean //IRule 是Ribbond的核心组件
   public IRule myrule(){
    
    
       return new RandomRule(); //负载均衡规则定义为随机
   }
}
  1. 然后在主启动类上添加如下注解 @RibbonClient:两个参数:name:指定服务名称,configuration:配置文件的字节码(MyRule.clas)

猜你喜欢

转载自blog.csdn.net/weixin_46310452/article/details/112794761