Spring Cloud系列之Eureka

什么是框架?

个人简单的理解,框架是一个半成品,在java开发中就是一种规范+一群jar包

使用框架开发的目的

用来提高开发效率,这一点个人最大的体会就是从学会使用struts到Spring Boot这两个框架之间的跨度。SpringBoot以他依赖优于配置的特点,获得不少java开发大佬的恩宠,一点点将Struts打入冷宫,至于为什么,相信用过这两种框架的大佬们都深有体会!

为什么要使用Spring cloud框架进行开发?

spring cloud是一个基于Spring Boot开发的微服务框架,SpringBoot可以开发单个的微服务。所谓微服务,就是按业务逻辑划分为独立的模块进行开发。

  1. 让专业的人做专业的事情,每个服务与服务之间互不影响。比如一个微服务专门做登录注册,这个微服务就只专注于登录和注册以及安全的问题,不涉及其他业务。不过微服务粒度的划分,个人感觉对技术和业务能力要求还是比较高。粒度如果划分不好仍然无法避免大量代码重复的诟病。
  2. 采用resultful风格设计接口(个人理解resultful风格提供API就是Http+JSON)
  3. 效率更高,更适合互联网公司敏捷开发,快速迭代产品。

Spring cloud之Eureka(注册中心)

说eureka前先理解这几个概念
  1. 注册中心概念:存放服务ip地址,端口号和服务名称等相关信息
  2. 服务注册:将自己的信息(ip,端口号,服务名称等)发送到注册中心
  3. 服务发现:从注册中心获取服务通讯地址,然后在本地远程调用
  4. 服务消费者:调用别人的接口
  5. 服务提供者: 提供服务接口
    注:一个服务既可以作为服务提供者,也可以作为消费者。
    在这里插入图片描述

Eureka 两大组件

1.Eureka server: 主要提供注册服务,也就是注册中心
2.Eureka client: 每个微服务模块,负责向Eureka Server发送心跳(也就是注册,默认是30S发一次)

Eureka 三大角色

Eureka server: 提供服务与注册
Eureka provider: 服务提供方,提供服务接口给别人用(指服务消费者)
Eureka consumer: 服务消费者,从Eureka Server获取注册列表和提供者信息从而在本地进行调用

Eureka Server 集群搭建

  1. 为什么需要搭建Eureka Server集群?
    Eureka server可以算是整个微服务核心,其他Eureka Client会定时连接Eureka server,获取注册信息并保存在本地缓存
    如果Eureka server被down调,其它Eureka Client就不能再从Eureka Server获取注册信息,缓存数据不能更新,慢慢会引起其它服务调用发生错误,影响整个系统性能
    在这里插入图片描述
    使 E u r e k a S e r v e r D o w n E u r e k a c l i e n t 30 S E u r e k a C l i e n t \color{#FF3030}{注:如果没有搭建集群的情况下,即使发生Eureka Server被Down调也不会立即出错,以为其它Eureka client默认调用的本地缓存,要30S才从Eureka Client拉取一次注册信息}

  2. 搭建Eureka Server集群的目的
    为了防止Eureka Server被Down掉对整个系统的影响,所以需要做集群

  3. 搭建Eureka集群的原理:
    通过运行2个或多个Eureka Server让他们相互注册的方式实现高可用部署

    在这里插入图片描述
    小结:单节点的Eureka Server只适用于开发环境。生产环境和线上环境需要搭建集群实现高可用,高性能。

发布了14 篇原创文章 · 获赞 78 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/LynneZoe/article/details/103326169