SpringCloud学习笔记(一)

SpringCloud、SpringCloud Alibaba

前置知识:

核心新组件:

所用版本:

学习方法:

1.看理论:官网

2.看源码:github

一、微服务理论知识

二、关于SpringCloud各种组件的停更/升级/替换

主业务逻辑是:下订单+做支付

Spring全家桶可以实现以下内容:

2.1 服务注册与发现(做服务注册与发现)

Eureka:停更被动维护中

Consul:功能比Eureka好

Etcd:go语言用这个比较合适

Alibaba Nacos:

2.2 服务调用和负载均衡

Ribbon:

OpenFign:

LoadBalancer:被放在SpringCloudCommons里面,替代Ribbon

2.3 分布式事务(⭐)

Alibaba Seata:

LCN:

Hmily:

什么是事务?

什么是本地事务?

什么是分布式事务?

你们公司在解决分布式事务的时候有哪些方案?

请按照2PC、3PC、TCC、本地消息独立微服务、MQ保障的一致性和最大努力通知,这几个解决方式上、维度上请跟我说一下。

2.4 服务熔断和降级

Hystrix:现在不适用了,熔断降级的框架,现在停更了。

Spring Cloud Circuit Breaker: 现在的主流框架,接口和规范、list接口,实现类有Resilience4Java、Spring Retry

Alibaba Sentinel:哨兵,主流。

2.5 服务链路追踪

Spring Cloud Sleuth + Zipkin:(现在是半退休状态)Sleuth 进行数据的收集,Zipkin 进行数据图形化的展现

Micrometer Tracing:

2.6 服务网关

Zuul:(不使用了)

Gate Way:

2.7 分布式配置管理

Spring Cloud Config + Spring Cloud Bus:不推荐使用

Consul:

Alibaba Nacos:

三、微服务架构编码 Base 工程模块构建

约定 > 配置 > 编码

3.1 IDEA 新建Project 和 Maven 父工程

3.1.1 微服务 Cloud 整体聚合 Maven 父工程Project

  1. New Project
  2. 聚合总父工程名字
  3. 字符编码
  4. 注解生效激活
  5. java版本编译版本选17
  6. File Type 过滤

3.2 Mapper4一键生成

3.2.1 mybatis-genetator

网址:

mybatis 目前是写数据库增删改查、Dao层的默认标准

3.2.2 MyBtis 通用 Mapper4 官网

网址:https://github.com/abel533/Mapper

3.2.3 一键生成步骤

Controller ------》Service ------》Dao

直接生成entity+mapper接口+xml实现SQL

3.2 Rest 通用 Base 工程构建

微服务小口诀:

1、建 module

2、改 POM

3、写 YML

4、主启动

5、业务类

相关推荐
2301_764441333 小时前
Aella Science Dataset Explorer 部署教程笔记
笔记·python·全文检索
Bathwind-w4 小时前
FOC开发工具学习
学习
Coder_Boy_4 小时前
DDD从0到企业级:迭代式学习 (共17章)之 四
java·人工智能·驱动开发·学习
派大鑫wink4 小时前
【Java 学习日记】开篇:以日记为舟,渡 Java 进阶之海
java·笔记·程序人生·学习方法
deng-c-f4 小时前
Linux C/C++ 学习日记(49):线程池
c++·学习·线程池
HyperAI超神经5 小时前
【vLLM 学习】Prithvi Geospatial Mae
人工智能·python·深度学习·学习·大语言模型·gpu·vllm
永远都不秃头的程序员(互关)5 小时前
大模型Agent落地实战:从核心原理到工业级任务规划器开发
笔记
TL滕7 小时前
从0开始学算法——第十八天(分治算法)
笔记·学习·算法
算法与双吉汉堡7 小时前
【短链接项目笔记】Day2 用户注册
java·redis·笔记·后端·spring
思成不止于此7 小时前
【MySQL 零基础入门】MySQL 约束精讲(一):基础约束篇
数据库·笔记·sql·学习·mysql