微服务新手入门

一、微服务概念

微服务是一种软件架构风格,ta是以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用。

微服务

  • 服务拆分

  • 远程调用

  • 服务治理

  • 请求路由

  • 身份认证

  • 配置管理

  • 服务保护

  • 分布式事务

  • 异步通信

  • 消息可靠性

  • 延迟消息

  • 分布式搜素

  • 倒排索引

  • 数据聚合

单体架构

单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。

优点:架构简单;部署成本低

缺点:团队写作成本高;系统发布效率低;系统可用性差

总结:单体架构适合开发功能相对简单,规模较小的项目。

微服务架构

微服务架构:是服务化思想指导下的一套最佳实践架构方案。服务化,就是把单体架构中的功能模块拆分为多个独立项目。

优点:粒度小;团队自治;服务自治。

SpringCloud

SpringCloud是目前国内使用最广泛的微服务框架。

SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

  • 服务注册发现:Eureka、Nacos、Consul

  • 服务远程调用:OpenFeign、Dubbo

  • 服务链路监控:Zipkin、Sleuth

  • 统一配置管理:SpringCloudConfig、Nacos

  • 统一网关路由:SpringCloudGateway、Zuul

  • 流控、降级、保护:Hystix、Sentinel

服务治理:

注册服务 -> 订阅服务 -> 负载均衡 -> 远程调用

服务提供者:注册服务;心跳续约

服务调用者:订阅服务;负载均衡;远程调用

注册中心:推送变更

Nacos是目前国内企业中占比最多的注册中心组件。是阿里巴巴的产品,目前已经加入SpringCloudAlibaba中。

Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

相关推荐
小马哥编程1 小时前
【软考架构】第七章 系统架构设计基础知识-7.2基于架构的软件开发方法:Architecture-Based Software Design,ABSD
架构·系统架构
西陵2 小时前
Nx带来极致的前端开发体验——任务编排
前端·javascript·架构
LQ深蹲不写BUG5 小时前
微服务的保护方式以及Sentinel详解
微服务·云原生·架构
失散135 小时前
分布式专题——1.2 Redis7核心数据结构
java·数据结构·redis·分布式·架构
布列瑟农的星空6 小时前
大话设计模式——观察者模式和发布/订阅模式的区别
前端·后端·架构
鼠鼠我捏,要死了捏6 小时前
基于Apache Flink Stateful Functions的事件驱动微服务架构设计与实践指南
微服务·apache flink·实时处理
Serverless社区7 小时前
重塑云上 AI 应用“运行时”,函数计算进化之路
阿里云·云原生·serverless
睡觉的时候不会困9 小时前
MySQL 高可用方案之 MHA 架构搭建与实践
数据库·mysql·架构
deepwater_zone10 小时前
现代云原生数据平台
云原生