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

网站建设网络公司做网站服务好

网站建设网络公司,做网站服务好,常见的网络推广工具,北京移动端网站优化文章目录SpringCloud微服务技术栈的注册中心Eureka简介Eureka特点操作步骤环境准备创建Eureka Server注册服务提供方调用服务消费方总结SpringCloud微服务技术栈的注册中心Eureka 简介 在微服务架构中,服务的数量庞大,而且每个服务可能会有多个实例。此…

文章目录

  • SpringCloud微服务技术栈的注册中心Eureka
    • 简介
    • Eureka特点
    • 操作步骤
      • 环境准备
      • 创建Eureka Server
      • 注册服务提供方
      • 调用服务消费方
    • 总结

SpringCloud微服务技术栈的注册中心Eureka

简介

在微服务架构中,服务的数量庞大,而且每个服务可能会有多个实例。此时,需要一个中心化的地方来管理和维护各个服务的相关信息,这就是微服务治理中很重要的一环:服务注册与发现。其中,服务注册是指将提供服务的应用实例注册到注册中心,而服务发现则是指从注册中心中获取服务实例列表并调用服务。本文将介绍SpringCloud微服务技术栈中的注册中心Eureka。

Eureka特点

Eureka是Netflix开源的一个基于REST的服务治理解决方案,主要包括服务注册与发现机制。Eureka的特点如下:

  1. 高可用:Eureka采用了Peer-to-Peer的复制方式,所有节点均可作为服务注册中心,这样就不会出现单点故障;同时,Eureka还支持使用Zookeeper、Consul等作为注册中心。
  2. 服务注册:服务提供方(Provider)通过HTTP方式向Eureka注册中心注册自己的服务实例,包括应用名、主机名、IP地址和端口等元数据。
  3. 服务发现:服务消费方(Consumer)通过Eureka注册中心获取对应服务的实例列表,并通过负载均衡算法选取其中一台实例进行调用。
  4. 心跳机制:Eureka利用心跳机制保证服务实例的可用性,即每隔30秒向注册中心发送一次心跳信号;同时,注册中心会定期清理没有心跳的服务实例。

操作步骤

环境准备

  • JDK 1.8
  • Spring Boot 2.0.3.RELEASE
  • Spring Cloud Finchley.RELEASE

创建Eureka Server

  1. 在Maven项目中添加以下依赖:

    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    
  2. 在启动类上添加@EnableEurekaServer注解:

    @SpringBootApplication
    @EnableEurekaServer
    public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}}
    
  3. 在配置文件中添加如下配置:

    server:port: 8761eureka:instance:hostname: localhostclient:register-with-eureka: falsefetch-registry: falseserver:enable-self-preservation: false
    
    • server.port:Eureka Server的端口号,默认为8761。
    • eureka.instance.hostname:当前Eureka Server的地址。
    • eureka.client.register-with-eureka:是否将当前应用注册到Eureka Server,默认为true。
    • eureka.client.fetch-registry:是否从Eureka Server获取服务注册信息,默认为true。
    • eureka.server.enable-self-preservation:是否启用自我保护机制,默认为true。
  4. 启动项目,访问http://localhost:8761/,即可看到Eureka Server的控制台界面。

注册服务提供方

  1. 在Maven项目中添加以下依赖:

    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    
  2. 在配置文件中添加如下配置:

    spring:application:name: demo-serviceserver:port: 8080eureka:client:service-url:defaultZone: http://localhost:8761/eureka/
    
    • spring.application.name:当前应用的名称,用于注册到Eureka Server中。
    • server.port:当前应用的端口号。
    • eureka.client.service-url.defaultZone:Eureka Server的地址。
  3. 在启动类上添加@EnableDiscoveryClient注解:

    @SpringBootApplication
    @EnableDiscoveryClient
    public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}
    
  4. 编写一个RESTful服务接口作为演示:

    @RestController
    public class DemoController {@GetMapping("/hello")public String hello() {return "Hello, World!";}}
    
  5. 启动项目,可以看到服务已成功注册到Eureka Server中。

调用服务消费方

  1. 在Maven项目中添加以下依赖:

    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    
  2. 在配置文件中添加如下配置:

    spring:application:name: demo-consumereureka:client:service-url:defaultZone: http://localhost:8761/eureka/
    
    • spring.application.name:当前应用的名称。
    • eureka.client.service-url.defaultZone:Eureka Server的地址。
  3. 在启动类上添加@EnableDiscoveryClient注解:

    @SpringBootApplication
    @EnableDiscoveryClient
    public class DemoConsumerApplication {public static void main(String[] args) {SpringApplication.run(DemoConsumerApplication.class, args);}}
    
  4. 编写一个RESTful服务接口作为演示:

    @RestController
    public class DemoController {@Autowiredprivate RestTemplate restTemplate;@GetMapping("/hello")public String hello() {String url = "http://demo-service/hello";return restTemplate.getForObject(url, String.class);}}
    
  5. 启动项目,访问http://localhost:8080/hello,会看到返回结果Hello, World!

总结

本文介绍了SpringCloud微服务技术栈的注册中心Eureka,并以实际操作的方式进行了详细的说明。在实际使用中,Eureka的高可用、服务注册与发现、心跳机制等功能都能够有效地提升微服务架构的可用性和稳定性。

http://www.yayakq.cn/news/427810/

相关文章:

  • 网站服务器租用4t多少钱一年啊微信如何注册小程序
  • 如何注册一个网站域名备案网站建设 字体版权
  • 南通网站的优化百度首页 百度一下
  • 门户网站开发平台wordpress 描述插件
  • 网站建设外贸广州网站的地图要怎么做
  • 优秀地方门户网站系统广州招聘网最新招聘
  • 儿童衣服刘涛做代言那个是什么网站兰州关键词快速上首页排名
  • 效果好企业营销型网站建设开发seo网站推广多少钱
  • Gzip 网站 能够压缩图片吗巴州区建设局网站
  • 点对点视频网站开发无人区在线影院免费高清
  • php和mysql网站毕业设计中文wordpress站点
  • 做便宜的宝贝的网站衡水网站设计
  • 博客网站制作苏州国内网站建设公司
  • 一些做义工的旅游网站长沙网站seo公司
  • 聚名网站wordpress网易云插件
  • 树莓派做网站服务器济南专门做网站的公司有哪些
  • 高级网站开发工程师证网页制作软件有哪些
  • 商城网站包括哪些模块上海市建设安全协会官方网站
  • 参加网站建设项目人员保障体系在相亲网站认识了一个做红酒生意的
  • 敲代码做网站多少钱珠海高端企业网站
  • 庐山市建设规划局网站网站百度搜不到
  • 班级网站开发网站建设国家有补贴吗
  • 如何查网站是织梦做的网页游戏网站手机
  • 怎样用虚拟空间做网站久久人才招聘网
  • 如何建设网站知乎wordpress课程表单
  • 网站制作系统哪个好软件界面设计要求
  • 微信端网站开发流程图手机网站设计哪家好
  • 英铭网站建设jsp网站开发实训
  • 网站接口怎么做主机建网站的优势
  • 常州建站服务辽宁建设工程信息网怎么入库