学习SpringCloud的第一天【准备知识】

学习SpringCloud的第一天【准备知识】,第1张

学习SpringCloud的第一天【准备知识】

文章目录
  • 系统架构的演变
    • 单体应用架构
    • 垂直应用架构(随着用户增多)
    • 分布式架构(随着业务量增多)
    • SOA
    • 微服务架构
    • SOA与微服务的关系
  • 分布式核心知识
    • 分布式中的远程调用
    • RPC协议
    • http
    • 分布式中的CAP 原理
    • 微服务框架(SpringCloud)
  • springCloud的介绍
  • SpringCloud的架构
  • SpringCloud的体系结构

系统架构的演变 单体应用架构


优点:开发简单,适用于小型应用
缺点:只能通过集成的方式扩展,不易扩展、维护,代码耦合

垂直应用架构(随着用户增多)


优点:解决高并发问题,针对不同的模块进行优化,方便水平扩展和容错
缺点:系统之间相互独立,重复开发工作

分布式架构(随着业务量增多)

SOA

Service Oriented Architecture面向服务的架构,可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。Eg,esb,dubbo)

优点:抽取公共功能为服务,提高开发效率,对不同给的服务进行集群化部署解决系统压力,基于ESB/DUBBO减少系统耦合
缺点:抽取服务的粒度较大,五福提供方与调用方接口耦合度较高

微服务架构


优点:通过服务的原子化拆分、以及微服务的独立打包、部署和升级,小团队的交付周期缩短,运维成本将大幅度下降;微服务遵循单一原则
缺点:微服务过多,服务治理成本高,不利于系统维护,分布式系统开发的技术成本高

SOA与微服务的关系

SOA面对服务的架构,是一种设计方法,其中包含多个五福,服务之间通过相互依赖最终提供一系列的功能。
一个服务通常以独立的形式存在于 *** 作系统进程中,各个服务之间通过网络调用。
业务需要彻底的组件化和服务化

分布式核心知识 分布式中的远程调用

在微服务架构中,通常存在多个服务之间的远程调用的需求,远程调用通常包含两个部分:序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、
text、bytes等,目前主流的远程调用技术有机遇HTTP的RESTful接口以及基于TCP的RPC协议

RPC协议

RPC调用过程

http

RESRful接口

  • List item



http相对更规范、更标准、更通用,无论哪种语言都支持
RPC能大大降低架构微服务化的成本,提高调用方与服务提供方的研发效率

分布式中的CAP 原理

衡量分布式系统架构是否符合要求的一个重要的指导方式。通过C:一致性(多节点数据一致)、A:可用性(保持服务可用:多节点)、P:分区容忍性(是否可用将数据存到多个地方)衡量一个软件架构的。
不可能同时满足CAP,所以一般是满足CA,AP,CP
CA:放弃分区容忍,eg:物理数据库
AP:可以短暂允许数据不一致,eg:NOsql数据库的选择(用的比较多)
CP:放弃可用性

微服务框架(SpringCloud) springCloud的介绍

是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙的简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

SpringCloud的架构

**SpringCloud中的核心组件 **
Netflix组件

Alibaba组件

原生组件以及其他组件

SpringCloud的体系结构

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5695620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存