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

亦凉 2024-04-08 11:47 155阅读 0赞

一、认识微服务

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

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

缺点:耦合度高

ba3280d39473435a81f29ee823baabf4.png

2a9ab8766aaa4995a37006a328c9bede.png

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

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

71962f61f39b43b6a32f312f3e098ea5.png

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

1、业务如何拆分?

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

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

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

5、…

7f8fd3d0698b4018bd3ceddf693b63d1.png

微服务架构

53e0cf9e1d4b4036a521be83e2cc57bd.png

二、微服务技术栈

微服务存在问题

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

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

8c071bc6cf45472fa9a27e97b4d3075e.png

微服务技术栈

0e329e713df749cc886fbfa18f34f11e.png

微服务技术对比

c7c7e1267b134ca2bef5a874b2c745c0.png

企业需求

0d41c6ba72034f5b831b92f86635c3fc.png

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

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

c38550e32805455e9bdb9bd5a57f5af4.png

课程大纲

74bbcc9a585e41d8bbf278b28de2ca36.png

微服务解决方案

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

• XA 模式

• AT 模式

• TCC 模式

• SAGA 模式

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

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

传统缓存的问题

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

812334e0ad5447248bf6ee4d192a951b.png

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

5e6c88137c26412894ea6b99b4762583.png

发表评论

表情:
评论列表 (有 0 条评论,155人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ByteBuddy(

    ByteBuddy(史上最全) 文章很长,建议收藏起来慢慢读! [总目录 博客园版][Link 1] 为大家准备了更多的好文章!!!! 推荐:尼恩Java面试宝典(持