微服务入门概述

1、微服务架构

概念: 微服务是一种架构风格,一个大型的复杂软件应用,由一个或者多个微服务组成,系统中的各个微服务可以被独立部署,各个微服务之间是松耦合的,每个微服务仅仅关注于完成一件任务并很好的完成该任务。将一个复杂的软件系统,进行了惨无人道的拆分,但是通过拆分之后,这个复杂的应用系统变的更加的高效。

2.微服务特点
(1)系统是有多个服务构成

(2)每个服务可以单独独立部署

(3)每个服务之间是松耦合的。服务内部是高内聚的,外部是低耦合的,也是比较符合软件设计原则的,高内聚就是每个服务内部的关系是非常密切的,每个服务之间只关注完成一个功能。
 

微服务的优点、缺点

 优点:
       测试容易

       可伸缩性强

       可靠性强

       跨语言程度会更加灵活

       团队协作容易

       系统迭代容易

 缺点:
       运维成本过高,部署数量较多

       接口兼容多版本

       分布式系统的复杂性

       分布式事务

 什么是分布式系统?

简单的来说,一个分布式系统是一组计算机系统一起工作,在终端用户看来,就像一台计算机在工作一样

这组一起工作的计算机,拥有共享的状态,他们同时运行,独立机器的故障不会影响整个系统的正常运行。

一致性Consistency: 依次读写的是什么就是什么。

可用性Availability: 整个系统不会崩溃, 每个非故障节点总会有一个响应。

分区容错性Partition tolerant: 尽管有分区,系统仍能继续运行并保持其一致性和可用性。

BASE原理

基本可用(Basically Available): 基本可用是指分布式系统在出现故障的时候,允许损失部分可用性,即保证核心可用。电商大促时,为了应对访问量激增,部分用户可能会被引导到降级页面,服务层也可能只提供降级服务。这就是损失部分可用性的体现。


软状态(Soft State): 软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性。分布式存储中一般一份数据至少会有三个副本,允许不同节点间副本同步的延时就是软状态的体现。MySQL Replication 的异步复制也是一种体现。


最终一致性(Eventual Consistency): 最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态。弱一致性和强一致性相反,最终一致性是弱一致性的一种特殊情况。

ACID 和 BASE 的区别与联系:
ACID 是传统数据库常用的设计理念,追求强一致性模型。BASE 支持的是大型分布式系统,提出通过牺牲强一致性获得高可用性。

ACID 和 BASE 代表了两种截然相反的设计哲学,在分布式系统设计的场景中,系统组件对一致性要求是不同的,因此 ACID 和 BASE 又会结合使用。

Spring-Cloud

概念:Spring Cloud为开发人员构建微服务架构提供了完整的解决方案,SpringCloud是若干个框架的集合,它包括spring-cloud-config、spring-cloud-bus等近20个子项目,它提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案。

为什么选择Spring Cloud?
SpringCloud不只是解决微服务的某一个问题,而是一个解决微服务架构实施的综合性解决框架;
整合了诸多被广泛实践和证明过的框架作为实施的基础部件,又在该体系基础上创建了一些非常优秀的边缘组件;
大量的兼容性测试,保证了更好的稳定性;
极高的社区活跃度。
 

Spring Cloud称为 伞形项目,由多个子项目组成,留意三个子项目

  • spring-cloud-netflix spring-cloud第一个子项目,应用广泛

    • 服务发现:spring-cloud-netflix-eureka

    • 负载均衡:ribbon

    • 服务容错:hystrix

    • 配置管理:archius

    • 服务调用:feign

    • 服务网关: zuul

  • spring-cloud-alibaba 阿里巴巴出品,国产,中文,符合中国国情,在国内采用比较多

    • 服务发现:spring-cloud-alibaba-nacos

    • 服务容错:sentinel

    • 配置管理:nacos

    • 服务调用:dubbo

    • 分布式事务:seata

    • 消息队列:rocketmq

  • spring-cloud官方组件

    • 服务网关:spring-cloud-gateway

    • 服务调用:openfeign

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值