如果你是公司的一名技术负责人或者技术架构,当公司需要进行技术选型,整个微服务的架构搭建,你会怎么办?
1.Spring cloud NetFlix 一站式解决方案!
api网关,zuul
组件Feign --- Httpclinet ---- Http通信方式,同步,阻塞
服务注册发现: Eureka
熔断机制: Hystrix
- Apache Dubbo Zookeeper 半自动,需要整合别人的!
API: 没有,找第三方组件,或者自己实现
Dubbo核心功能:
Dubbo主要提供了3大核心功能:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
1)远程方法调用
网络通信框架,提供对多种NIO框架抽象封装,包括"同步转异步"和"请求-响应"模式的信息交换方式。
2)智能容错和负载均衡
提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
3)服务注册和发现
服务注册,基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
Dubbo这个方案并不完善~
Zookeeper:
ZooKeeper 是一个高性能、集中化、分布式应用程序协调服务,是 Hadoop 和 Hbase 的重要组件,主要是用来解决分布式应用中用户经常遇到的一些数据管理问题,例如:统一命名服务、统一配置管理、统一集群管理、分布式锁等。
ZooKeeper 提供一种类似目录树结构的数据结构,跟 Unix 文件系统路径相似的节点,可以往这个节点存储或获取数据,而每个节点叫做 ZNode。每一个节点可以通过路径来标识。
- spring cloud Alibaba 一站式解决方案! 更简单
4.流行新概念:
服务网格~ server Mesh
istio
【常见面试题】
面对微服务的学习,我们不妨带着以下问题进行学习,更能高效全面学习
1.1、什么是微服务?
1.2、微服务之间是如何独立通讯的?
1.3、SpringCloud 和 Dubbo有哪些区别?
1.4、SpringBoot和SpringCloud,请你谈谈对他们的理解
1.5、什么是服务熔断? 什么是服务降级?
1.6、微服务的优缺点是分别是什么? 说下你在项目开发中遇到的坑
1.7、你所知道的微服务技术栈有哪些? 请列举一二
1.8、eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?