史上最全详解微服务技术栈
Posted 骨灰级收藏家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了史上最全详解微服务技术栈相关的知识,希望对你有一定的参考价值。
一、认识微服务
单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。
优点:架构简单、部署成本低
缺点:耦合度高
分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。
优点:降低服务耦合、有利于服务升级拓展。
分布式架构的结构更加复杂,有更多问题需要思考:
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缓存未命中,则查询数据库
史上最全1000+道Java面试题:JVM+分布式+算法+锁+MQ+微服务+数据库
本文适宜人群:
- 准备 Java 面试的在校生
- 准备跳槽、正在找工作的 Java 工程师
- 自学和准备转行到 Java 技术领域的人
- 想巩固 Java 核心知识、查漏补缺的人
写此篇文章 ,主要是将这份Java刷题宝典1000+,分享给更多正在准备面试跳槽或者学习的程序员朋友,关于这份刷题宝典--点击此处可获取下载
一、Java快速面试
1. Java基础知识面试题
2. Dubbo面试题
3. Java异常面试题
4. Java虚拟机(JVM)面试题
5. Java集合容器面试题
6. Linux面试题
7. MyBatis面试题
8. MySQL数据库面试题
二、面试攻略
1. 面试前的准备
三、高效学习
四、其他
写在最后
一切技术的产生与发展都离不开最基本的原理,只要追本溯源,了解技术体系最基本、最底层的原理,我们就能根据这些知识储备建立自己的后端技术框架,从而搭建一条完整的成长道路。
最后希望大家多多支持 一键三连+评论下 并献上我自己整理的“大厂真题+微服务+MySQL+分布式
+SSM框架+Java+Redis+数据结构与算法+网络+Linux+Spring全家桶+JVM+高并发+各大学习思维
脑图+面试集合” 以及这套完整大厂面试题
以上是关于史上最全详解微服务技术栈的主要内容,如果未能解决你的问题,请参考以下文章
深入Java微服务之网关系列4: SpringCloud gateway详解(史上最全)
深入Java微服务之网关系列4: SpringCloud gateway详解(史上最全)
深入Java微服务之网关系列3: SpringCloudalibaba gateway详解(史上最全)