• 史上最全详解微服务技术栈


    一、认识微服务

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

    优点架构简单、部署成本低

    缺点耦合度高

     

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

    优点:降低服务耦合、有利于服务升级拓展。

     

    分布式架构的结构更加复杂,有更多问题需要思考:

    1、业务如何拆分?

    2、跨服务业务如何实现?

    3、服务之间如何互相通信?

    4、服务出现故障如何处理?

    5、...

     

    微服务架构

     二、微服务技术栈

    微服务存在问题

    1、服务调用关系错综复杂    2、服务配置管理困难   3、服务安全问题   

    4、业务性能下降    5、服务监控和调试困难       6、服务部署运维困难

     微服务技术栈

     微服务技术对比

     企业需求

     三、史上最全微服务技术教程

    SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,史上最全面的springcloud微服务技术栈课程|黑马程序员Java微服务_

     

     课程大纲

     微服务解决方案

    分布式事务解决方案:我们会基于Seata框架来学习四种不同的分布式事务方案:

    XA 模式
    AT 模式
    TCC 模式
    SAGA 模式

    上述四种模式基本覆盖了所有的分布式事务业务场景。

    而课程中我们不仅仅是讲解原理,更重要是带领大家亲手实现上述方案。

    传统缓存的问题

    传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,存在下面的问题:
    tomcat访问Redis缓存要经过网络传输,有性能损耗
    Redis缓存失效时,会对数据库产生冲击
    请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈

     多级缓存查询流程:
    1、浏览器优先查看客户端缓存是否存在
    2、如果不存在则发起aja查询数据
    3、请求被nginx反向代理,并根据查询的数据id路由到不同的OpenResty服务
    4、OpenResty服务优先查询本地缓存
    5、本地缓存未命中,则查询Redis缓存
    6、Redis缓存未命中,则发起请求,查询tomcat
    7、tomcat内优先查询本地JVM缓存
    8、JVM缓存未命中,则查询数据库

  • 相关阅读:
    李超线段树
    早在多久MySQL 啥时候用表锁,啥时候用行锁?
    【源码系列#06】Vue3 Diff算法
    瑞萨RZ/G2L平台 初起动(SD卡启动)
    【Flink】flink简介
    SystemVerilog学习 (10)——线程控制
    什么是DDoS引导程序IP Stresser?
    k8s资源对象service-四层负载均衡详解
    五万字 | 深入理解Linux内存管理
    计算摄影——图像去噪(二)
  • 原文地址:https://blog.csdn.net/JACK_SUJAVA/article/details/126504054