一,概述
1.什么是微服务
要了解什么是微服务首先要了解什么是面向服务(SOA)
面向服务就是将应用程序的不同功能单元(称之为服务)进行拆分,并将这些服务通过接口等联系起来(各服务之间松耦合),想要使用哪个功能,直接进行调用,不会将功能与整个项目紧紧绑定
微服务不是一种技术而是一种思想,是SOA架构下的产物,只要系统的架构符合这种思想,就可以说它是微服务 ,它是聚焦在单一的职责和业务功能,具有独立的进程,能够单独运行的服务,并且与外部服务是通过HTTP进行交互通信的服务
2.微服务与单体架构区别
(1)单体架构所有的模块全都耦合在一块,代码量大,维护困难。
(2)单体架构所有的模块都共用一个数据库,存储方式比较单一。
(3)单体架构所有的模块开发所使用的技术一样。微服务各功能模块可以使用 不同的技术
3.微服务架构的优点
-
易于开发和维护,一个微服务只关注一个业务,业务清晰,代码量少
-
单个微服务代码量少,启动快
-
局部修改容易部署
-
技术不受限制
二,SpringCloud介绍
springcloud是一个完整的微服务架构,提供了所有功能,整个开发项目中所需要的架构功能微服务都有,也就是说整个springcloud就是一个完整的项目,这个架构已经搭建完毕了,用到了直接获取即可,只需要往架构中注入自己的业务代码就可以。
springcloud是基于springboot 开发的微服务框架,是目前比较完整的微服务解决方案框架,它的内容包括:服务注册(eureka),服务调用(feign) ,负载均衡(Ribbon) ,熔断器(Hystrix)等

组件介绍
-
注册中心:Netflix Eureka;
-
负载均衡:Netflix Ribbon(2020 版本前)、Spring Cloud Loadbalancer(2020 版本后);
-
熔断器:Netflix Hystrix(2020 版本前)、Resilience4j(2020 版本后);
-
声明式服务调用组件:Feign(最初属 Netflix 公司,后来移交给 OpenFeign 组织);
-
网关:Netflix Zuul(2020 版本前)、Spring Cloud Gateway(2020 版本后);
-
配置中心:Spring Cloud Config;
1.注册中心-Eureka
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责实现微服务架构中的服务治理功能。
Spring Cloud Eureka 是一个基于 REST 的服务,并且提供了基于 Java 的客户端组件,能够非常方便地将服务注册到 Spring Cloud Eureka 中进行统一管理。

CAP原则
CAP 原则又称 CAP 定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。
Eureka是基于AP原则建立的
为了保证高可用性,data1和data2都有在有限时间内返回。同样由于网络的不可靠,在有限时间内,data2有可能还没收到data1发来的数据更新消息,这时候返回给客户端的可能是旧的数据,和访问data1的数据是不一致的,也就是违法了C。
也就是说,在保证A和P的情况下,是无法同时保证C的。

2.负载均衡-Ribbon
Ribbon 又叫 负载均衡器
负载均衡是我们处理


1万+

被折叠的 条评论
为什么被折叠?



