网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

springCloud入门学习(三):服务注册与发现-创新互联

为了解决硬编码的遗留问题,需要服务注册与发现机制来解决这些问题。

站在用户的角度思考问题,与客户深入沟通,找到蓬莱网站设计与蓬莱网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网站空间、企业邮箱。业务覆盖蓬莱地区。

服务注册与发现机制的作用:记录每个服务提供者的网络信息,向服务消费者提供所需服务网络信息。

一、服务发现组件

服务提供者、服务消费者、服务发现组件三者之间的关系:

1、每一个为服务启动的时候都会将自己的网络信息注册到服务发现组件中,服务发现组件将这些信息进行存储;

2、服务消费者从服务发现组件中查询服务提供者的网络信息,并使用这些信息对服务提供者进行访问;

3、每个微服务与服务发现组件之间通过存在通信机制,当服务发现组件长时间无法与某微服务进行联系,服务发现组件会将该实例注销;

4、微服务的网络信息进行变更时,会重新注册到服务发现组建中,该服务的调用方无需修改提供者的信息。

服务发现组件基本功能:

1、服务注册表:这是服务发现组件的核心。用来记录各个微服务的信息,包括微服务的名称、IP、端口等。服务注册表提供查询API和管理API,查询API用于查询可用的微服务实例,管理API用于服务的注册与注销;

2、服务注册与发现:

服务注册:微服务启动时将信息注册到服务发现组件中的过程;

服务发现:查询可用的微服务列表及其网络信息的机制

3、服务检查:使用一定的机制检测服务的有效性,如果检测到某微服务已经挂掉会自动将该实例注销。

二、Eureka

Eureka是springcloud提供的一种服务发现组件。

1、Eureka Server 和 Eureka client

Eureka包含两个组件:Eureka Server 和 Eureka client,二者关系如下:

Eureka Server提供了服务发现与注册的机制,微服务启动时会向Eureka Server注册自己的信息,Eureka Server会将这些信息进行存储。

微服务启动后,会在指定间隔(默认30秒)向Eureka Server发送心跳,表明服务正在运行;

如果Eureka Server长时间(默认90秒)没有收到来自某微服务的心跳,Eureka Server就会注销这个实例;

Eureka client缓存了服务注册表的信息。微服务无需每次都向Eureka Server查询服务状态,减轻了Eureka Server的压力。同时,如果Eureka Server挂掉,微服务依然可以从缓存中获取到服务提供者的网络信息并完成调用。

三、编写Eureka Server

项目结构如下:

springCloud入门学习(三):服务注册与发现

添加pom依赖:


   org.springframework.cloud
   spring-cloud-starter-eureka-server

启动类添加注解:

@SpringBootApplication
@EnableEurekaServer  //表明自己是一个Eureka Server
public class EurakaApplication {

   public static void main(String[] args) {
      SpringApplication.run(EurakaApplication.class, args);
   }

}

yml文件中添加配置:

server:
  port: 8761

eureka:
  client:
    register-with-eureka: false #表示是否将自己注册到Eureka Server中,默认为true。由于本项目就是一个Eureka Server,故此处设为false
    fetch-registry: false #表示是否从其他Eureka Server中获取信息,由于此处为单点Eureka Server,设为false即可
    service-url:
      default-zone:  # 设置与Eureka Server的交互地址,查询与注册服务都需要用到该地址,多个地址可以使用","分隔

此时启动项目并且访问http://localhost:8716/,得到如下页面,此时还没有任何微服务注册进来。

springCloud入门学习(三):服务注册与发现

四、将微服务注册到Eureka Server中

还以user项目为例:

pom依赖:


   org.springframework.cloud
   spring-cloud-starter-eureka-server

yml文件:

spring:
  application:
    name: user # 指定注册到Eureka Server中的应用名字
eureka:
  client:
    service-url:
      default-zone: http://localhost:8761/eureka/
  instance:
    prefer-ip-address: true #是否将自己的IP注册到Eureka Server中,如果不配置或设置为false,会将微服务所在的操作系统的hostname注册到Eureka Server

启动类添加注解:

@SpringBootApplication
@EnableEurekaClient //声明自己是一个注册服务
public class UserApplication {

   public static void main(String[] args) {
      SpringApplication.run(UserApplication.class, args);
   }

}

此时启动项目并且再次访问:http://localhost:8716/,得到如下页面:

springCloud入门学习(三):服务注册与发现

此时用户微服务已经注册到Eureka Server中。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:springCloud入门学习(三):服务注册与发现-创新互联
分享网址:http://bjjierui.cn/article/gpijg.html

其他资讯