当前位置: 首页 > news >正文

微服务学习

1. 微服务技术栈

  • 微服务治理
    • 注册发现
    • 远程调用
    • 负载均衡
    • 配置管理
    • 流量控制
    • 系统保护
    • 服务授权
    • 熔断降级
    • 分布式事务
    • TCC模型
    • AT模型
    • Seata
  • 异步通信技术
    • MQ消息模型
    • SpringAMQP
    • 消息堆积问题
    • 消息可靠性
    • 仲裁队列
    • 延迟队列
    • 镜像集群
    • 数据持久化
  • 缓存技术
    • 缓存穿透,雪崩
    • Redis主从复制
    • 缓存数据同步
    • 多级缓存分层
    • Lua脚本
    • Redis数据结构
    • SpringDataRedis
    • OpenResty
    • Nginx本地缓存
    • Redis持久化
    • Redis分片集群
  • DevOps
    • Docker
    • Kubernetes
    • Jenkins
    • Dockerfile
    • DockerCompose
    • GrayLog
    • SkyWalking
  • 搜索技术
    • DSL语句
    • ES集群
    • RestAPI
    • 竞价排名
    • 集群脑裂
    • 自动补全
    • 拼音分词
    • 地理坐标

2. 认识微服务

2.1 单体架构

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

  • 优点
    • 架构简单
    • 部署成本低
  • 缺点
    • 耦合度高

2.2 分布式架构

分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。

  • 优点
    • 降低服务耦合
    • 有利于服务升级拓展
  • 缺点
    • 架构复杂

但是分布式架构会有一些问题:

比如服务治理问题。

各个服务之间,不能相互调用。

为了解决这些分布式架构问题,出现了各种各样的技术: 

比如WebService,ESB,Hession,Dubbo,SpringCloud,但是最火的就是微服务方案

2.3 分布式架构方案——微服务

微服务是一种经过良好架构设计的分布式架构方案。微服务架构有以下特征:

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发。
  • 面向服务:微服务对外暴露业务接口。
  • 自治:团队独立、技术独立、数据独立、部署独立。
  • 隔离性强:服务调用做好隔离、容错、降级、避免出现级联问题

2.4 微服务技术框架 

微服务这种方案需要技术框架来落地,全球的互联网公司都在尝试自己的微服务落地技术。在国内最知名的就是SpringCloud和阿里巴巴的Dubbo

微服务技术架构 :

 

微服务技术框架实现对比 :

企业需求: 

2.5 SpringCloud 

  • SpringCloud是目前国内使用最多的微服务框架。官网:spring.io/projects/spring-cloud。
  • SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

SpringCloud把那些开源的框架整合进来,通过SpringBoot实现自动装配。 无需要复杂的配置。

  • SpringCloud与SpringBoot的版本兼容关系如下:

3. 服务拆分及远程调用 

相关文章:

  • 【mongoose8.x】mongoose8.x入门教程(二):express中mongoose的链接
  • 23种设计模式--简单工厂模式理解版
  • Flutter中FutureBuilder和StreamBuilder
  • Haproxy搭建web集群
  • 使用 Prometheus 访问 TDengine ---
  • 计算机导论期末快速复习指南
  • 第一章 SQL编程系列-数据库介绍与安装
  • Unity UI 核心类解析之Graphic
  • crawl4ai 框架的入门讲解和实战指南——基于Python的智能爬虫框架,集成AI(如NLP/OCR)实现自动化数据采集与处理
  • DDS 问题排查
  • 基于自然语言处理的智能问答系统(模型训练+部署测试)
  • 【图片识别改名】批量识别图片中的文字对图片进行改名,识别文字对图片重新命名的操作步骤和注意事项
  • python学智能算法(十四)|机器学习朴素贝叶斯方法进阶-CountVectorizer文本处理简单测试
  • CD45.【C++ Dev】STL库的list的使用
  • 前端基础知识CSS系列 - 14(CSS提高性能的方法)
  • windows,java后端开发常用软件的下载,使用配置
  • Spring MVC参数绑定终极手册:单多参对象集合JSON文件上传精讲
  • Python 开发环境全栈隔离架构:从 Anaconda 到 PyCharm 的四级防护体系
  • mcp-server-chart Quickstart
  • Android中Native向System Service进行Binder通信的示例
  • 阳江市政府网/重庆seo扣费
  • 免费推广网站下载/搜狗推广登录平台
  • 长沙建站智找有为太极/公司域名注册步骤
  • 学慧网的网站是谁家做的/seo服务包括哪些
  • 想学做网站学什么教程/查询网138网站域名
  • 模仿大型门户网站做ppt/怎么营销推广