微服务算是面试中非常高频的词汇了,之前我就遇到一个候选人,我问他微服务是什么,他说:“微服务就是 Dubbo……”,然后把 Dubbo 的原理说的清清楚楚,回答的我都动心了,我猜他肯定觉得自己回答的不错,原理都能讲请出来还能差啥?肯定没问题了,但是很遗憾。
那么这个遗憾的原因是什么呢?很多时候我们掌握了一个知识点除了深度,还要有广度,Dubbo 只是微服务的技术中的冰山一角,说起微服务他其实涵盖以下几点
1. 服务的注册和发现
2. 服务负载均衡
3. 服务路由
4. 服务容错
5. 服务网关
6. 服务配置
7. 链路追踪
8. 实时日志
9. 限流、降级、熔断
……
我们细想一下 Dubbo 除了负载均衡、容错、路由,即便是注册和发现也需要依托于 ZooKeeper,虽然他也有自己原生的注册服务(dubbo-registry-default),但是并不是稳定推荐的做法,官网也是推荐使用 ZooKeeper ,如果想要他成为健全的微服务,我们需要自己配合使用一些能力,比如接入 Sentinel 作为限流等增强能力,比如接入 ETCD 做服务配置等等。
其实我们再深入一层,这几年大火的 K8S,作为平台级的容器编排登上舞台,而后顺势而出的 ServiceMesh 理念,仅仅了解 Dubbo 就更显的单薄了。
其实说了这么多归根结底还是你缺少一个系统的脑图,从点及面细致的学习这么一个庞大的模块,下面这个图让你整体对整个微服务体系有一个更直观的概念。
上面的思维导图被微信进行压缩了,看着可能不太清晰,想要高清版本的,可扫描下方二维码领取。此外,还有 免费 的 Java 源码与实战视频教程及资料包 !
1、十年程序员分享他的设计模式经验
2、分布式架构系统如何定位线上问题?
3、微服务统一配置中心原理揭秘
4、一次性搞定多线程从实战到原理
5、面试必问-NIO详解
6、分布式到底难不难?学学分布式事务就知道
7、精通Spring的前提,必会动态代理!
回复 “ Java ”,快速通过