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

宁波市网站建设_网站建设公司_需求分析_seo优化

wordpress 社交网站,成都专门做公司网站的公司,武威网站制作公司电话多少,淘宝客网站备案目录 Eureka 介绍 角色 实现流程 单机构建 注册中心 服务提供者 服务消费者 集群搭建 注册中心 服务提供者 自我保护机制 原理分析 Eureka 介绍 Eureka是spring cloud中的一个负责服务注册与发现的组件#xff0c;本身是基于REST的服务#xff0c;同时还提供了…目录 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依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId /dependency2.在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依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency2.在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地址 鼠标悬停服务右下角可以看到ip3.启动类上添加注释 启动类上添加EnableEurekaClient**注解 服务消费者 1.在pom文件中添加Eureka client依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency2.在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 {BeanLoadBalanced //让这个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 CommonResultPayment 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.ihoyoo.com/news/126781.html

相关文章:

  • 运城网站制作公司北京万户网络
  • 懂做网站的人就是好珠海建设工程交易中心
  • 承德很好的网络建站家政公司管理系统
  • 北京 网站开发 排行帮别人做网站自己为什么会被抓
  • 无锡哪家公司做网站wordpress 获取主题名称
  • 昆明网站建设哪家比较好网上电商平台开发
  • html网站开发例子自适应wordpress博客
  • thinkphp 网站下载吉林网站建设哪家好
  • 网站建立好如何做seo江门网站建设定制
  • 网站建设报表明细公司网站年费
  • 西安网站建设选任我行网络关键词调词平台
  • 免费建小程序网站山西太原制作网站人有吗
  • 国外游戏ui设计网站淘宝商城
  • 官方网站开发用什么语言wordpress导出
  • 半商城性质网站源代码织梦网站怎么加入引导页
  • 免费成品网站模板下载wordpress mysqli
  • 网站制作培训多少钱本地wordpress建站
  • 人才网站建设cms网站备案号怎么申请
  • 微信网站界面贵州seo培训
  • 做网站是什么软件网站建设主要课程
  • 怎么做网站上做电子书室内设计师网名专用
  • 做软件界面的网站前端开发工程师招聘要求
  • 在手机上怎么制作网站吗网站类的知识
  • 怎么在微信公众号建设微网站吉林大学学院网站建设群
  • 晋江网站开发专业做酒的网站有哪些
  • 烟台中企动力提供网站建设济宁百度推广开户
  • 房地产公司网站建设方案wordpress安装指令
  • 网站的建设好处erp登录入口
  • 营销型网站建设论文呼和浩特做网站的
  • 为什么企业建设银行网站打不开正规网站模板设计