当前位置:   article > 正文

Java面试突击第一季学习总结

Java面试突击第一季学习总结

主要内容

分布式系统

为什么进行服务拆分
分布式服务框架
分布式锁
分布式事务
分布式会话

高并发架构

如何设计一个高并发系统
消息队列
搜索引擎
缓存
分库分表
读写分离

高可用架构

如何设计一个高可用系统
限流
熔断
降级

面试题解析

消息队列

如何进行消息队列选型?


    为什么用 why
        不用MQ耦合情况
        使用MQ解耦场景
        不用MQ的同步高延时情况
        使用MQ异步场景
        没有用MQ高峰期系统被打死情况
        使用MQ削峰场景
    优缺点 what
        解耦,异步,削峰
        系统可用性降低(MQ故障)
        数据一致性
    做了什么 how


如何保证消息高可用?


    RabbitMQ镜像集群模式
    kafka分布式高可用架构


如何保证消息消费时的幂等性?


    kafka消费端可能出现的重复消费问题


如何处理消息丢失问题?


    rabbitmq可能丢失消息的情况
    生产者:ack确认机制,confirm
    rabbitmq:持久化
    消费者:关闭AutoAck,手动通知mq
    kafka:关闭消费者自动提交


如何保证消息的顺序性?


    顺序出错的场景

分布式搜索引擎


    Lucene、倒排索引、solr、elasticsearch
    (1)es的分布式架构原理能说一下么(es是如何实现分布式的啊)?
    (2)es写入数据的工作原理是什么啊?es查询数据的工作原理是什么啊?
    (3)es在数据量很大的情况下(数十亿级别)如何提高查询性能啊?
    (4)es生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/893213
推荐阅读
相关标签
  

闽ICP备14008679号