【SpringCloud】SpringCloud 和 微服务 (一)

24 篇文章 0 订阅
9 篇文章 0 订阅

微服务是一种架构风格,也是一种服务

微服务的颗粒比较大,一个大型复杂软件应由多个  微服务组成

它采用UNIX的设计哲学,每种服务只做一件事,是一种松耦合的能够被独立开发和部署的无状态服务(独立扩展、升级和可替换)

 

一、微服务的概念

微服务架构图:

 

微服务的好处:

1、技术异构性:如果一个系统由多种服务组成,每个服务可以使用自己最适合的技术,不一样也没关系。

2、弹性:如果系统其中一个组件坏了,其他的组件不会因此受影响。

3、扩展:可以针对系统的服务层级进行扩展。

4、简化部署:各个服务的部署是独立的。

 

微服务的缺点:

1、运维成本升高。本来只需要关注一个应用,现在需要关注更多的应用。

2、DevOps。需要保证一个数据库可用和一整个集群可用,DevOps要求全栈式人才。

3、隐式接口。改动某个程序的时候,调用它的某个其他程序也要改,这就比较麻烦。

4、重复劳动。不同程序可能有大量重复性的功能。

5、分布式系统 复杂性。微服务通过RESTful API将不同服务联系起来。

 

二、SpringCloud介绍

1、集成了很多组件。可以关注常用的几个

服务发现:Netflix EureKa

负载均衡:Netflix Ribbon

断路器:Netflix Hystrix

服务网关:Netflix Zuul

分布式配置:Spring Cloud Config

 

2、相关组件架构

 

3、Eureka用来做服务的注册和调用

对于微服务之间错综复杂的调用关系,通过Eureka来管理,可以让每个服务之间不用关心如何调用的问题,专注于自己的业务功能的实现。Eureka统一管理服务,因此他会有一些特点:

1、服务需要有统一的名称并且是唯一标识。

2、服务下有多个实例,每个实例也有一个自己的唯一的实例id。

3、Eureka Client 通过向 Eureka Serve发送心跳 (默认30秒)来续约服务的,如果无服务,会在大概90秒内从注册表将该服务删除(可以参考电脑运行服务的情况来理解啊)。

4、Eureka Server

提供服务注册、服务信息、服务管理、信息同步

5、Eureka Client

Eureka Client 是一个Java客户端,用于简化交互,Client会拉取、更新和缓存Server的所有信息,在微服务启动之后,会周期性地发送心跳续约信息。

6、服务续约、下线、剔除

(先自己理解一下这几个词是什么意思,然后解释一些专业名词)

服务续约---->每隔一段时间发送一次renew请求(心跳)告诉服务还活着

服务下线---->Application停止之后,从注册表删除

服务剔除---->使用Evict将没有续约的删除。

服务通信方式---->使用标准的REST通信方式,因此它并不只是Java平台,其他服务也能融合进来(★★★★★)

自我保护----->当心跳15分钟内低于85%,就会触发保护

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值