当前位置: 首页 > news >正文

成人用品批发商进货渠道武汉seo引擎优化

成人用品批发商进货渠道,武汉seo引擎优化,百度网址大全官网下载,雅虎搜索引擎目录 Eureka 介绍 角色 实现流程 单机构建 注册中心 服务提供者 服务消费者 集群搭建 注册中心 服务提供者 自我保护机制 原理分析 Eureka 介绍 Eureka是spring cloud中的一个负责服务注册与发现的组件,本身是基于REST的服务,同时还提供了…

目录

Eureka

介绍

角色

实现流程

单机构建

注册中心

服务提供者

服务消费者

集群搭建

注册中心

服务提供者

自我保护机制

原理分析


Eureka

介绍

Eureka是spring cloud中的一个负责服务注册与发现的组件,本身是基于REST的服务,同时还提供了负载均衡、故障转移等能力。

角色

分为3个角色:服务中心、服务提供者、服务消费者

Eureka Server:服务器端,它提供了服务的注册和发现功能,即实现服务的治理。

Eureka Provider:服务提供者,它将自身服务注册到服务中心,以便“服务消费者”能通过服务器端提供的服务清单来调用它。

Eureka Consumer:服务消费者,它从Eureka获取“已注册的服务列表”,消费服务

实现流程

1.搭建一个Eureka Server作为服务注册中心

2.服务提供者启动时,把当前服务器的信息以服务名的方式注册到服务注册中心

3.服务消费者启动时,把当前服务注册到服务注册中心

4.服务消费者会获取一份可用服务列表,该列表包含了所有注册到服务注册中心的服务信息(包含服务提供者和自身的消息)

5.在获得了可用服务列表后,服务消费者通过 HTTP 或消息中间件远程调用服务提供者提供的服务

        服务注册中心(Eureka Server)所扮演的角色十分重要,它是服务提供者和服务消费者之间的桥梁。服务提供者只有将自己的服务注册到服务注册中心才可能被服务消费者调用,而服务消费者也只有通过服务注册中心获取可用服务列表后,才能调用所需的服务

单机构建

注册中心

搭建一个Eureka Server作为服务注册中心

1.在pom文件中添加Eureka Server依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

2.在application.yml中添加配置

server:port: 7001 #端口
# 单机版
eureka:instance:hostname: localhost  #eureka服务端的实例名字   单机服务名称client:register-with-eureka: false    #表示不向注册中心注册自己fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务service-url:#设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/  #单机服务地址

3.启动类上添加注释

在启动类上添加 @EnableEurekaServer 注解

4.启动

访问 http://localhost:7001

服务提供者

1.在pom文件中添加Eureka client依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2.在application.yml中添加配置

server:port: 8001 #端口
eureka:client:register-with-eureka: true #是否向注册中心注册自己fetchRegistry: true #是否从注册中心抓取已有的注册信息 默认true,集群必须设置为trueservice-url:#      设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址defaultZone: http://localhost:7001/eureka #单机版instance:instance-id: cloud-provider-payment8001prefer-ip-address: true  #访问路径可以显示IP地址 鼠标悬停服务,右下角可以看到ip

3.启动类上添加注释

启动类上添加@EnableEurekaClient**注解

服务消费者

1.在pom文件中添加Eureka client依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2.在application.yml中添加配置

server:port: 80
spring:application:name: cloud-order- service
eureka:client:register-with-eureka: true #是否向注册中心注册自己fetchRegistry: true #是否从注册中心抓取已有的注册信息 默认true,集群必须设置为trueinstance:instance-id: cloud-consumer-order80prefer-ip-address: true  #访问路径可以显示IP地址service-url:#设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址defaultZone: http://localhost:7001/eureka #单机版

3.创建RestTemplate

@Configuration
public class ApplicationContextConfig {@Bean@LoadBalanced //让这个RestTemplate在请求时拥有客户端负载均衡的能力public RestTemplate getRestTemplate() {return new RestTemplate();}
}

4.先将注册中心启动,再启动服务提供者

5.创建测试类,使用RestTemplate进行测试

public class OrderController {//单机情况下,直接ip加地址public static final String PAYMENT_URL = "http://localhost:8001";@Resourceprivate RestTemplate restTemplate;@GetMapping("/payment/get/{id}")public CommonResult<Payment> getPayment(@PathVariable("id") Long id) {return restTemplate.getForObject(PAYMENT_URL + "/payment/get/" + id, CommonResult.class);}
}

6.浏览器访问

集群搭建

注册中心

两个注册中心的配置都差不多,区别就是端口、hostname、defaultZone属性值不一样。
现在是模拟的是2台机器做在集群,需要在defaultZone修改,让两台机器相互注册。
7001的defaultZone就应该是:defaultZone: http://eureka7002.com:7002/eureka/

7002的defaultZone就应该是:defaultZone: http://eureka7001.com:7001/eureka/

server:port: 7001
#集群版
eureka:instance:hostname: eureka7001.com    #eureka服务端的实例名字client:register-with-eureka: false    #表示不向注册中心注册自己fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务service-url:#设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址defaultZone: http://eureka7002.com:7002/eureka/  #这个是集群版开启 互相注册

服务提供者

修改配置文件,同时注册进两个注册中心:

server:port: 8001
eureka:client:register-with-eureka: true #是否向注册中心注册自己fetchRegistry: true #是否从注册中心抓取已有的注册信息 默认true,集群必须设置为trueservice-url:#      设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka  #集群版instance:instance-id: cloud-provider-payment8001prefer-ip-address: true  #访问路径可以显示IP地址 鼠标悬停服务,右下角可以看到ip

自我保护机制

        当我们在本地调试基于 Eureka 的程序时,Eureka 服务注册中心很有可能会出现如下图所示的红色警告,这个警告是触发了 Eureka 的自我保护机制而出现的

        默认情况下,如果注册中心在90秒内没有接收到某个服务提供者的心跳,就会将这个服务提供者提供的服务从服务注册表中移除,这样消费者就无法获取到该服务,更无法调用该服务。

        实际情况中,服务提供者可能会出于网络故障而无法与注册中心正常通信。若此时注册中心因为没有接收心跳而误将健康的服务从服务列表中移除,这显然是不合理的。而 Eureka 的自我保护机制就是来解决此问题的。

        Eureka 的自我保护机制:其中心思想就是,如果注册中心在一段时间内没有接收到服务提供者的心跳,那么注册中心就会开启自我保护模式,将所有的服务提供者的注册信息保护起来,而不是直接从服务注册表中移除。一旦网络恢复,这些服务提供者提供的服务还可以继续被服务消费者消费。

默认情况下,Eureka 的自我保护机制是开启的,如果想要关闭,则需要在配置文件中添加以下配置:

eureka:server:enable-self-preservation: false # false 关闭 Eureka 的自我保护机制,默认是开启,一般不建议大家修改

原理分析

1.当启动eurake客户端应用,比如上面说到的会员服务member,会把当前服务比如服务地址和端口以别名的注册到注册中心

2.当服务消费者比如上面说到的order订单服务,在接口调用的时候,使用服务别名也就是service id去注册中心获取实际的rpc远程调用地址

3. 服务消费者在获取到实际的rpc远程调用地址后,在本地使用HttpClient技术调用远程接口

流程图如下:

http://www.ds6.com.cn/news/115077.html

相关文章:

  • 建设企业银行登录快速seo整站优化排行
  • 邢台人民网站百度做网站需要多少钱
  • 网站顶部seo网站关键字优化
  • wordpress评论导出网络优化师是什么工作
  • 怎么把qq空间做成企业网站百度快速优化推广
  • 自己做网站需要学什么东西软文大全800字
  • 鞍山网站制作网络运营好学吗
  • 昆明网站seo诊断品牌推广方式都有哪些
  • 泉州做企业网站网络服务器的作用
  • 网站可以用视频做背景吗上海关键词优化公司哪家好
  • 临沂有哪几家做网站的百度网页版登录入口官网
  • 网站建设平台流程360营销推广
  • 做分享网站如何制作一个个人网站
  • 织梦网站手机版端设置百度竞价怎么操作
  • 电子商务网站建设思维导图电商网站建设开发
  • 建设本地网站抖音优化
  • 一 建设茶叶网站前的市场分析seo网站培训
  • 去年做啥网站致富百度广告电话号码
  • 秦皇岛黄金海岸收费吗seo技术有哪些
  • 南通建设工程造价信息网站淘宝运营主要做些什么
  • 泸州市建设委员会网站sem优化
  • 网站权限怎么设置方法南京seo网站优化推广
  • 网站建设案例咨询百度关键词权重查询
  • 网站建设中 动态图片自动seo系统
  • 长治门户网东莞网站推广优化公司
  • 网站seo文章该怎么写网络推广的渠道和方式有哪些
  • 做网站颜色黑色代码多少钱营销推广的作用
  • 合肥建行网站国际新闻界
  • 茂名建网站网络营销怎么做推广
  • 网站建设与管理综合实训西安seo排名