微服务架构系统基础汇总

一、微服务

1.1 微服务架构

漫谈何时从单体架构迁移到微服务    介绍单体架构和微服务架构的架构图、优缺点、适用场景和微服务的落地方式、条件和风险评估

1.2 微服务落地实践

      参考文档:微服务的架构模式:一个服务一个数据库模式   

      微服务的基本模式 

      传统系统的问题和微服务系统的基本模式

       微服务的最基本模式 :一个服务一个数据库,参见上

     微服务划分步骤 参见中

      传统业务划分步骤:1)划分功能模块,2)梳理功能模块的方法(交互),3)方法分类(内部调用、外部用户调用)4)模块映射服务,5)根据实际情况调整

       考虑God类(订单Order)和领域驱动设计(子域和界限上下文,支付子域、物流子域)。

      微服务治理

       微服务后遇到的问题1)部署发布:自动集成、自动发布  2)日常运维:监控报警、日志管理  

       Grafana + Loki + Promtail 

       落地的细节:1)数据库划分,2)开发框架,3)关键技术何时引入:引入新技术需要谨慎评估,新技术带来便利性时也增加了复杂性。

二、微服务架构的数据设计模式

          参考文档:微服务架构的数据设计模式     数据库相关技术

       数据库(一),范式  第一、第二、第三范式;引入范式的主要目的在于:解决冗余的问题;有些查询需要用Join查多张表,数据量大时非常耗时,所以有时我们需要违反范式,做点数据冗余。

      数据库(二),数据库起源

     数据库(四),数据库组成部分

       数据库(五),事务  数据库(六),锁

     数据库(七)读写分离到CQRS   CQRS适合少部分复杂查询

      数据分区、读写分离、横向拆分、纵向拆分、缓存、多租户与动态数据源  动态数据源对定时任务的特殊处理 https://blog.csdn.net/Shadow_T/article/details/129079349

 

以下内容单独合并到服务开发

mysql常用查询

MySQL入门技能树

MySQL几种创建索引的方式  普通索引 idx_xxx,联合索引 idx_xxx_xx 联合索引一定要注意字段创建的先后顺序,先后顺序会影响索引的执行  

索引的区别、性能差异

MySQL中查询一张表内某列的重复数据

MySql将一个表中的某些字段更新到另一个表中(多表联合更新)

MySQL中删除一张表或一条数据的时候[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails

【MySQL】Group By多个字段

MYSQL 查找单个字段或者多个字段重复数据,清除重复数据

 

postgreSQL

pgAdmin的介绍 及使用

PGADMIN4中查询、修改、删除数据表中的内容

 

MybatisPlus

Mapper.xml 常用配置、单表查询(paramterType、resultType)、多表关联查询(一对多、多对多)

SpringBoot整合Mybatis-plus引入不同的jar导致不能找到Mapper的问题解决

SpringBoot Maven多模块项目 mapper.xml 文件扫描不到问题

MyBatis中CDATA的作用

Mybatis Plus条件构造器apply查询方式的使用

 

Json

Fastson,Gson,fasterxml Jackson的比较,Demo示例

FastJson工具类 

 

 

 

三、服务开发

四、前端开发

五、部署

      Vue项目部署到Docker中

 

posted @ 2023-06-09 20:00  十二楼C  阅读(21)  评论(0编辑  收藏  举报