开发自救手册 开发自救手册
首页
  • Java指南

    • 手册的初衷以及适用人群
    • 介绍
    • JAVA涉及技术总览
  • 技术场景

    • 线上代码覆盖率监控
  • cpp自救指南
  • go指南
  • 真正的面经系列
  • 经历分享
  • 相关文章

    • 25届实习内推
  • 微服务
友情链接
  • 团队介绍
  • 如何加入
GitHub (opens new window)
首页
  • Java指南

    • 手册的初衷以及适用人群
    • 介绍
    • JAVA涉及技术总览
  • 技术场景

    • 线上代码覆盖率监控
  • cpp自救指南
  • go指南
  • 真正的面经系列
  • 经历分享
  • 相关文章

    • 25届实习内推
  • 微服务
友情链接
  • 团队介绍
  • 如何加入
GitHub (opens new window)
  • 微服务

    • 微服务介绍
      • 什么是微服务
      • 微服务架构演变
      • 微服务结构对比
      • SpringCloud
      • 服务远程调用
      • 提供者与消费者
    • EureKa注册中心
    • Ribbon负载均衡
    • Nacos注册中心、配置中心
    • OpenFeign远程调用
    • Gateway统一网关
    • Docker
    • DockerCompose
    • RabbitMQ
    • Sentinel微服务保护
  • 八股文
  • 微服务
ethandu
2024-05-02
目录

微服务介绍

视频地址:https://www.bilibili.com/video/BV1LQ4y127n4?spm_id_from=333.999.0.0

# 认识微服务

# 什么是微服务

微服务技术栈

image-20220201152356804

image-20220201152508315

image-20220201152547867

image-20220201152603199

# 微服务架构演变

单体架构

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

优点:

  • 架构简单
  • 部署成本低

缺点:

  • 耦合度高

image-20220201154102502

分布式架构

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

优点:

  • 降低服务耦合
  • 有利于服务升级拓展

image-20220201154254059

服务治理

image-20220201154322703

微服务

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

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

image-20220201154620094

总结

image-20220201154730328

# 微服务结构对比

微服务结构

image-20220201154949708

微服务技术对比

image-20220201155238169

企业需求

image-20220201155446910

# SpringCloud

SpringCloud

image-20220201155556172

Springcloud与SpringBoot版本兼容关系

image-20220201155702877

# 服务拆分及远程调用

服务拆分注意事项

1、不同微服务,不要重复开发相关业务

2、微服务数据独立,不要访问其它微服务的数据库

3、微服务可以将自己的业务暴露为接口,供其它微服务调用

image-20220201155940261

导入服务拆分Demo

image-20220201160153361

总结

image-20220201160443578

# 服务远程调用

订单模块只能查订单,用户模块只能查用户

需求却是订单查询同时把用户信息也查询出来

那么我们不是订单模块直接查用户数据库而是发起请求用户模块获取再对数据进行整合

image-20220201160748031

远程调用方式分析

image-20220201160915903

问题变成了如何在java代码中发http请求

image-20220201161020773

image-20220201214358436

告诉getForObject方法返回的类型和请求的url

# 提供者与消费者

image-20220201214518906

服务既可以是提供者也可是消费者

总结:

image-20220201214649835

上次更新: 2024/05/02, 13:47:32
EureKa注册中心

EureKa注册中心→

Theme by Vdoing | Copyright © 2019-2024 Backend Development | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式