微服务入门(1)

##今天开始看springCloud的东西。(这个课是慕课网的,我再次记录我的学习过程)

一、Eureka

它是个服务发现框架,主要包括Eureka Server和Eureka Client。

核心功能:服务注册和服务发现

基本架构

  1. Eureka Server提供服务注册与发现
  2. Service Provider 服务提供方,将自身服务注册到Eureka Server从而让 Eureka Server 持有服务的元信息,让其他的服务消费方能够找到当前服务
  3. Service Consumer,服务消费方,从 Eureka Server 上获取注册服务列表,从而能够消费服务
  4. Service Provider/Consumer 相对于 Server,都叫做 Eureka Client

微服务入门(1)_第1张图片

单节点的 Eureka Server 能够实现基础功能,但存在单点故障的问题。只有一个节点,它出了问题,所有的服务信息都会受影响。

作业1:Eureka Server 维护了系统中服务的元信息,这些元信息包含什么你知道吗 ?

(作为菜比的我,连元信息都没听过,元信息和元数据一回事)元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...)等等。

Eureka的元信息有两种:标准元数据和自定义元数据。
       标准元数据:主机名、IP地址、端口号、状态页和健康检查等信息,这些信息都会被发布在服务注册表中,用于服务之间的调用。
      自定义元数据:可以使用eureka.instance.metadata-map配置,这些元数据可以在远程客户端中访问,但是一般不改变客户端行为,除非客户端知道该元数据的含义。

  • 父模块名称
    application:
    name: ad-eureka
  • 微服务端口
    server:
    port: 8000
  • 注册到Eureka Server的服务主机名、是否从EurakaServer获取注册信息、是否将自己注册到Eureka Server、默认的访问其他服务地址。
    eureka:
    instance:
    hostname: localhost //注册到Eureka Server的服务主机名
    client:
    fetch-registry: false //是否从EurakaServer获取注册信息
    register-with-eureka: false //是否将自己注册到Eureka Server
    service-url:
    defaultZone: http://eureka.instance.hostname:{eureka.instance.hostname}:eureka.instance.hostname:{server.port}/eureka/ //默认的访问其他服务地址

(先放上我能看的东西)

作业2:元信息又是怎么存储的呢 ?

      元信息的保存,可能是Eureka Server内部维护着一张表来记录这些元信息,Eureka服务器没有后端存储,但注册表中的服务实例必须发送心跳信号以保持其注册是最新的,所以这可能使内存中完成。客户端可能还拥有一个eureka注册的内存缓存,这样,client不必为每个服务请求都去注册表。

1.创建application.yml,并编辑元数据信息
2.修改配置后,通过mvn clean package -Dmaven.test.skip=ture-U 重新编译打包
3.执行jar包,java -jar

二、微服务架构机器应用场景

点对点:服务之间直接调用,每个微服务都开放Rest API,并调用其他微服务的接口

API-网关:业务接口通过API网关暴露,是所有客户端接口的唯一入口,微服务之间的通信也通过API网关。

 

你可能感兴趣的:(Spring)