java分布式面试题有哪些?java分布式面试题及答案

java分布式编程思想是作为java人员一定要拥有的,在实际工作中,我们也会用到java分布式知识点解决问题,因此这是面试java岗的考核点之一,那下面来我们就来给大家分享一下java分布式面试题及答案。

1.分布式有哪些理论?

CAP 、BASE。分布式 CAP 理论,任何一个分布式系统都无法同时满足 Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性) 这三个基本需求。最多只能满足其中两项。而 Partition tolerance(分区容错性) 是必须的,因此一般是 CP ,或者 AP。

2.你怎么理解分布式事务?分布式事务的协议有哪些?

分布式事务是指会涉及到操作多个数据库的事务。目的是为了保证分布式系统中的数据一致性。分布式事务类型:二阶段提交 2PC ,三阶段提交 3PC。

2PC :第一阶段:准备阶段(投票阶段)和第二阶段:提交阶段(执行阶段)。

3PC :三个阶段:CanCommit 、PreCommit 、DoCommit。

3.你怎么理解分布式一致性?

数据一致性通常指关联数据之间的逻辑关系是否正确和完整。在分布式系统中,数据一致性往往指的是由于数据的复制,不同数据节点中的数据内容是否完整并且相同。

一致性还分为强一致性,弱一致性,还有最终一致性。强一致性就是马上就保持一致。

最终一致性是指经过一段时间后,可以保持一致。

4.分布式系统怎么做服务治理?

针对互联网业务的特点,eg 突发的流量高峰、网络延时、机房故障等,重点针对大规模跨机房的海量服务进行运行态治理,保障线上服务的高SLA,满足用户的体验,常用的策略包括限流降级、服务嵌入迁出、服务动态路由和灰度发布等。

5.分布式集群下如何做到唯一序列号?

Redis生成ID 这主要依赖于Redis是单线程的,所以也可以用生成全局唯一的ID。可以用Redis的原子操作 INCR和INCRBY来实现。

6.重连机制会不会造成错误?

dubbo在调用服务不成功时,默认会重试2次。

Dubbo的路由机制,会把超时的请求路由到其他机器上,而不是本机尝试,所以 dubbo的重试机器也能一定程度的保证服务的质量。

但是如果不合理的配置重试次数,当失败时会进行重试多次,这样在某个时间点出现性能问题,调用方再连续重复调用,系统请求变为正常值的retries倍,系统压力会大增,容易引起服务雪崩,需要根据业务情况规划好如何进行异常处理,何时进行重试。

作为开发人员,一定要将掌握好这方面知识点,虽说这是面试的一部分,但是只要大家掌握好这部分,胜算的概率就会大很多!最后大家如果想要了解更多java面试题知识,敬请关注奇Q工具网。

推荐阅读:

java新手开发项目有哪些?java开发项目应注意哪些?

java泛型方法如何使用?使用java泛型方法要注意哪些?

java接口是什么?Java接口和Java抽象类有区别吗?