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

张掖市网站建设_网站建设公司_网站建设_seo优化

h5平台网站开发,六安城市网优选,个人网站建设与实现毕业设计,计算机网络中小型企业网络设计方案服务注册中心 Eureka Spring Cloud Eureka 是 Netflix 公司开发的注册发现组件#xff0c;本身是一个基于 REST 的服务。提供注册与发现#xff0c;同时还提供了负载均衡、故障转移等能力。 Eureka 有 3 个角色 服务中心#xff08;Eureka Server#xff09;#xff1a;…服务注册中心 Eureka Spring Cloud Eureka 是 Netflix 公司开发的注册发现组件本身是一个基于 REST 的服务。提供注册与发现同时还提供了负载均衡、故障转移等能力。 Eureka 有 3 个角色 服务中心Eureka Server服务器端。它提供服务的注册和发现功能即实现服务的治理。服务提供者Service Provider服务提供者。它将自身服务注册到 服务中心以便 服务消费者 能够通过服务器提供的服务清单服务注册列表来调用它。服务消费者Service Consumer服务消费者。它从 服务中心 获取已注册的服务列表从而消费服务。 Eureka 是 AP 架构可用性和分区容错性Zookeeper 是 CP 架构一致性和分区容错性。Eueka 优先保证服务的可用性Zookeeper 在 Master 节点因为网络故障与其他节点失去联系时剩余节点选取 leader 的时间太长这就导致在选举期间注册服务瘫痪。 1. 搭建单机Eureka注册中心 首先需要创建一个 spring-cloud 工程删除 src 目录然后在 pom.xml 文件中加入以下依赖 !-- 统一管理jar包版本 -- propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetspring-cloud.version2021.0.0/spring-cloud.versionspring-boot.version2.6.3/spring-boot.version /properties !-- 子模块继承之后,提供作用:锁定版本,子modlue不用写groupId和version -- dependencyManagementdependencies!--spring boot 2.6.3--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency!--spring cloud 2021.0.0--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency/dependencies /dependencyManagement创建 eureka-server-7001 模块然后在 pom.xml 文件中加入以下依赖 !-- 服务注册发现Eureka-- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId /dependency写 application.yaml 配置文件具体如下 server:port: 7001 eureka:instance:# eureka服务端的实例名字hostname: localhostclient:# 是否将自己注册到eureka serverregister-with-eureka: false# 是否从eureka server获取注册的服务信息fetch-registry: false# 设置与eureka server交互的地址service-url:defalutZone: http://${eureka.instance.hostname}:${server.port}/eureka/最后在启动类上加上 EnableEurekaServer 注解即可 EnableEurekaServer启动访问 localhost:7001 即可访问到 Eureka 注册中心的界面。 2. 创建服务提供者与服务消费者 创建服务提供者 provider-8001 和服务消费者 consumer-80 模块然后在 pom.xml 文件中加入以下依赖 !-- 引入Eureka 客户端依赖 -- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency服务提供者和消费者的依赖是一样的都是 eureka-client。 写 application.yaml 配置文件具体如下 server:port: 8001 spring:application:name: cloud-provider-8001 eureka:client:# eureka服务地址service-url:defaultZone: http://localhost:7001/eureka/server:port: 80 spring:application:name: cloud-consumer-80 eureka:client:service-url:defaultZone: http://localhost:7001/eureka/最后在启动类上面加 EnableEurekaClient 注解即可。 EnableEurekaClient先启动 Eureka 注册中心然后在分别启动服务提供者和服务消费者即可在 Eureka 服务注册中心看到相关信息。 3. Eureka 注册中心界面说明 访问上面我们搭建的注册中心localhost:7001界面如下 其中最重要的是中间服务信息的那一栏实例的状态有以下几种 UP服务正常运行特殊情况当进入自我保护模式所有的服务依然是 UP 状态所以需要做好熔断重试等容错机制应对灾难性网络出错情况OUT_OF_SERVICE不再提供服务其他的 Eureka Client 将调用不到该服务一般有人为的调用接口设置的如强制下线。UNKNOWN未知状态STARTING表示服务正在启动中DOWN表示服务已经宕机无法继续提供服务 4. 服务自保和服务剔除机制 服务自保机制Service Self-Preservation Mechanism是指 Eureka Server 中的一种机制用于保护在 Eureka 注册中心上注册的微服务实例免受意外删除的影响。当微服务实例在心跳超时时间内没有发送心跳信号给 Eureka Server 时Eureka Server 不会立即将其从服务注册表中删除而是认为该实例可能处于网络故障等临时异常情况会将其保留在注册表中提供一定的自我保护防止误删健康的实例。这样可以避免因网络抖动、服务器负载或其他临时问题导致服务实例被误删从而提高服务的稳定性和可用性。 服务剔除机制Service Eviction Mechanism与服务自保相对应是指当服务实例连续长时间未发送心跳信号、或注册中心发现某个服务实例心跳连续失败的次数超过一定阈值时Eureka Server 会将该服务实例从服务注册表中剔除。通过服务剔除机制可以排除不健康、异常或故障状态的服务实例防止其他服务继续调用故障的实例减少错误的传播范围提高系统的稳定性。 Eureka 中的服务自保机制是为了保护健康、可能出现临时异常的服务实例免受误删的影响而服务剔除机制则是为了及时剔除不健康、长时间未发送心跳或心跳连续失败的服务实例保障整个服务治理系统的正常运行。这两个机制的存在都是为了提高服务的可靠性和稳定性。 服务自保是默认开启的可以使用以下配置来关闭在 Eureka Server 的 application.yaml 配置文件中加入以下配置 eureka: server:# 参数来关闭保护机制,已确保注册中心可以将不可用的实例正确剔除,默认为trueenable-self-preservation: false5. Actuator 微服务信息完善 SpringCloud 体系里的服务实体向 Eureka 注册时注册名默认是 IP名:应用名:应用端口名。 我们可以通过 actuator 来修改完善注册名在服务提供者或消费者的 pom.xml 文件中加入以下配置 !-- actuator监控信息完善 -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId /dependency然后在 application.yaml 配置文件中加入以下配置 eureka:instance:# 实例名称instance-id: cloud-consumer01-806. 服务注册发现 Discovery 注册进入 Eureka 里面的微服务可以通过服务发现来获取该服务的信息。 在服务提供者模块controller类具体如下 Slf4j RestController RequestMapping(/provider) public class ProviderController {Autowiredprivate DiscoveryClient discoveryClient;GetMapping(/discovery)public Object discovery() {// 获取所有微服务信息ListString services discoveryClient.getServices();for (String service : services) {log.info(service:{}, service);}return this.discoveryClient;}/*** 供消费者调用*/GetMapping(/index)public String getMsg() {return success;} }RestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具它提供了常见的REST请求方案的模版例如 GET 请求、POST 请求、PUT 请求、DELETE 请求以及一些通用的请求执行方法 exchange() 以及 execute()。 在服务消费者模块中添加配置类具体如下 Configuration public class CloudConfig {LoadBalancedBeanpublic RestTemplate restTemplate() {return new RestTemplate();} }最后在服务消费者模块添加对应调用方法具体如下 RestController RequestMapping(/consumer) public class ConsumerController {Autowiredprivate RestTemplate restTemplate;GetMapping(/index)public String index() {// 远程微服务调用地址: 微服务名称String host http://cloud-provider-8001;// 具体URLString url /provider/index;// 发起远程调用// getForObject: 返回响应体中数据转化成的对象, 可以理解为json// getForEntity: 返回的是ResponseEntity的对象包含了一些重要的信息return restTemplate.getForObject(host url, String.class);} }浏览器访问http://localhost:80/consumer/index 地址即出现在服务提供者模块中返回的 “success” 字符串。
http://www.ihoyoo.com/news/119461.html

相关文章:

  • wordpress淘宝客类网站建设国内便宜机票网站建设
  • 百度商桥要怎么添加到网站网站建设朝阳
  • 自己网站可以加标志吗工商网企业信息查询系统营业执照
  • 关于网站建设的话术怎样做网站标题的图标
  • 网站地图表现形式鄂州北京网站建设
  • 网站文件夹权限设置工程建设数字化管理平台
  • 网站设计有哪些创新点dw+如何做自适应网站
  • 丰都网站建设价格东风地区网站建设公司
  • 网站开发背景400字长沙app开发报价
  • 做网站汉中数据网站建设成本
  • 主流门户网站有哪些wordpress电影列表页
  • 怎么导出wordpress 整个网站南阳微网站制作
  • 商务网站建设工程师php网站下载文件怎么做
  • 小游戏网站代码邮箱登录入口qq网页版
  • html5网站模板怎么修改学做网站书籍
  • 做律师网站电销自己设计图片的软件
  • discuz建网站个人主页搭建
  • 网站建设网站建设的网络公司网页设计工作内容怎么写
  • 珠海哪家做企业网站公司好聚企网
  • 定制衣服的网站自己做的网站
  • 大连做网站的广州市旅游商务职业学校
  • 用vscode做网站龙岗网络公司
  • 装修网站建设价格wordpress数据库内容调用
  • 自主网站什么是网站链接优化
  • 下载做网站ftp具体步骤泉州机票网站建设
  • 在线教育网站策划方案热门网站有哪些
  • 石家庄网站建设咨询薇电子商务网站营销方案
  • 浙江大学教室办事大厅网站建设成都旅游酒店住哪里比较方便
  • 微信分享 淘宝网站 怎么做新乡个人网站建设
  • 汕头网站推广排名商家怎么入驻微信小程序