发表于: 2020-08-20 21:41:22
0 1494
今天完成的事情:任务九深度思考
1.Dubbo提供了哪几种注册中心的方式?Redis和Zookeeper应该用哪一种
四种
Multicast注册中心
Zookeeper注册中心
Redis注册中心
Simple注册中心
应该使用Zookeeper
官方(Dubbo注册中心)推荐使用 zookeeper注册中心,Zookeeper的数据模型比Redis简单, 而且将全量数据存储在内存中,可谓是高性能,而且支持集群,可谓高可用,另外支持事件监听 https://www.pianshen.com/article/1246155689/
2.微服务里,什么是注册中心,注册中心最常见的有Zookeeper,Eureka,还有我们自己的Scallop,他们之间的区别是什么?
微服务在水平方向上将项目按不同功能划分为不同部分,而服务注册中心就相当于一个中转站,服务客户端(服务消费者以及服务提供者)将提供的服务注册到注册中心,当其他客户端需要该功能时通过注册中心调用服务。
CAP理论中 C代表一致性, A代表可用性, P容错性代表
eureka有自我保护机制保证 符合AP原则
zookeeper 符合CP原则
Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像zookeeper那样使整个注册服务瘫痪。Eureka作为单纯的服务注册中心来说要比zookeeper更加“专业”,因为注册服务更重要的是可用性,我们可以接受短期内达不到一致性的状况。https://www.cnblogs.com/jichi/p/12797557.html
3.Dubbo和Spring Cloud的区别是什么?如果让你来做架构选型,你会选择哪一个微服务体系,原因是什么?
dubbo由于是二进制的传输,占用带宽会更少
springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大
dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决
springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级
我会使用用SpirngCloud ,理由
整体解决方案和框架成熟度
社区热度
可维护性
学习曲线
springcloud是个往“体系”方向发展的方案,而dubbo仅是个工具而已,两者相比,就好比始祖鸟与草履虫的区别。
4.什么是微服务,微服务有哪几种实现方案,包含哪几个模块,Spring Cloud分别是怎么实现的?
每一项业务都是独立的,在IDEA中可以看作是一个个模块,都是相对独立的,自己就是一个应用程序
1.Spring Cloud NetFlix
2.Apache Dubbo zookeeper
3.Spring Cloud Alibaba
注册中心 Eureka
负载均衡 Ribbon
服务接口调用 Feign
服务熔断器 Hystrix
服务路由(API网关) Zuul
5.什么是SOA,什么是SCA,什么是微服务?
SOA(面向服务架构)
一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务 通常以独立的形式存在与操作系统进程中。各个服务之间 通过网络调用
SCA:服务组件架构
一套符合SOA思想的规范
原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成
6.Spring RMI,Spring Cloud,Tuscany,Dubbo分别是什么,互相之间有哪些不同?
Spring RMI 远程方法调用 相当于RPC的Java版本, 但是传统RPC并不能很好地应用于分布式对象系统
Spring Cloud 一系列框架的有序集合,基于springboot做到自动配置,有成熟的体系
tuscany是Apache组织关于SOA实现的一个开放源码的工程项目 该项目主要基于SCA,SDO,DAS等标准上实现的。
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架, 可通过高性能的 RPC 实现服务的输出和输入功能,但是不是一个体系
7.怎么实现WEB调用Service的负载均衡,怎么实现可以动态添加服务?
使用 springcloud Ribbon
8.公司内部项目里使用的Scallop是什么,和资源中心是怎么结合在一起使用实现动态增加服务的?
没用过 Scallop
明天计划的事情:准备复盘PPT
评论