温故知新-微服务技术篇

简介: 温故知新-微服务技术篇

01 Mind Map

02 Question&Answer

Q1: SpringBoot是什么,有什么优点?

A:使应用更加轻量级、开箱即用、默认配置、没有XML配置等。


Q2: SpringBoot有什么特点,举3个例子?

A:全使用注解、内置Tomcat、SpringCloud依赖于SpringBoot组件等。


Q3: SpringBoot中@RestController表示什么意思?

A:json、Restful接口?


Q4: SpringBoot模板引擎有几种,举例3个?

A:Theymeleaf、Freemaker、Velocity、groovy等。


Q5: SpringBoot全局异常捕获原理,有哪几种注解?

A:AOP、可以指定扫描范围、@ControllerAdvice、@ExceptionHandler。


Q6: SpringBoot整合几种数据源的方式(回忆)?

A:JDBCTemplate、Mybatis、SpringJPA、多数据源等。


Q7: SpringBoot事务默认哪两种异常自动回滚?

A:RuntimeException(运行时异常)、Error(错误)。


Q8: SpringBoot日志管理使用什么框架,原理?

A:log4j,使用AOP,切面类里写日志。


Q9: SpringBoot ehcache 使用(回忆)?

A:配置文件?@cacheable注解?管理者获取?。


Q10: SpringBoot项目的热部署如何实现?

A:配置IDEA、maven添加依赖dev-tools。


Q11: SpringBoot 监控管理使用哪两种框架?

A:Actuator获取信息(监视和管理应用程序)、Admin-UI显示Actuator收集的信息。


Q12: SpringBoot 性能优化建议(提出3条)?

A:组件扫描方式?Servlet容器(Undretow)?JVM调优。


Q13: SpringBoot 核心原理?

A:maven继承依赖关系、内置tomcat、SpringMVC注解版。


Q14: SpringBoot 2.0新特性(提出3条)?

A:OAuth2.0支持、Quartz Scheduler、以java 8 为基准等。


Q15: SpringSecurity是什么?什么是RBAC模型?

A:声明式安全访问控制功能框架?基于角色的访问控制?。


Q16: 互联网架构的演变过程(4个阶段),举出优缺点?

A:传统架构?分布式架构?SOA架构?微服务架构?。


Q17: 什么是SpringCloud,有什么功能,有什么组件?

A:完整的服务解决框架?Eureka、Hystrix、Zuul、Feign、Ribbon等?。


Q18: 说说对Spring Eureka组件的了解?

A:注册中心?集群?服务消费者模式?服务注册模式?。


Q19: SpringCloud Eureka替代方案?

A:Consul?Zookeeper?。


Q20: 什么是CAP理论?为什么Eureka只保证CP,Eureka保证AP

A:“一致性C”、“可用性A”、“容错性P”?Eureka需要选举,不能保证A,Eureka只有一个Eureka节点都可以运行,不能保证C。


Q21: 说说对Spring Ribbon的看法

A:本地负载均衡、某方面比Nginx好,均衡分担到各个客户端、Nginx处理压力有点大。


Q22: 什么是服务雪崩?

A:服务堆积在一个线程池,满了,无法访问,会雪崩。


Q23: 服务雪崩的解决方案有那些?举例3个

A:降级(返回一个友好提示)、限流(令牌桶、漏桶)、熔断(达到阀值,返回友好提示)。


Q24: Hystrix如何集成(回忆)?如何使用JMeter压力测试

A:配置文件?方法声明熔断?熔断回调方法?。


Q25: Hystrix有没有可视化工具?如果集群如何查看?

A:仪表盘:监控Hystrix各项指标?Turbine集群监控。


Q26: 说说你对Feign的理解?

A:声明式服务调用、调用方式类似于Controller调用Service一样,无需知道url、端口等。


Q27: SpringCloud 分布式配置中心有几个模块?流程是如何的?

A:Git/SVN -> ConfigServer -> Config-Client1、 Config-Client2、 Config-Client3。


Q28: SpringCloud 分布式配置中心有两种刷新数据方式,哪两种?流程如何?

A:Actuator端点刷新(手动)?bus消息总线刷新(主动刷新)。


Q29: 说说对SpringCloud Zuul的理解?

A:网关、比Nginx弱,Nginx抗高并发、Zuul适用于请求过滤和拦截。


Q30: 网关框架有哪些?举3个例子?

A:Kong、Nginx、Orange。


Q31:Zuul如何集成Ribbon实现负载均衡?如何实现动态网关?(回忆)

A:动态网关可以参考分布式配置中心技术。


Q32:Swagger是什么?有什么作用?

A:接口管理,可以在线调试。


Q33:如何使用Swagger管理所有微服务接口?

A:Zuul整合Swagger。


Q34:什么是Sleuth,它和Zipkin有什么关系?

A:服务链路监控,Zipkin收集服务的定时数据,Sleuth结合Zipkin,将信息返回给Zipkin,ZipkinUI展示数据。


Q35:服务跟踪的原理?

A:TraceID?SpanID?。


Q36:什么是消息总线?如何实现分布式配置文件更新?

A:广播的方式通知所有微服务、实现动态刷新?使用RabbitMQ工具。


Q37:什么是消息驱动?绑定器结构图是如何的?

A:简化开发人员对中间件的使用复杂度?Source、Sink、Channel、Binder(抽象层,随机替换RabbitMQ和Kafka)。


Q37:消费者组收到两个消息如何处理?要求至收到一个消息?

A:通过指定一个组名来实现消费者轮询,智能消费一个消息。


Q38:描述下OAth的流程?如何使用SpringCloud搭建微服务开放平台?

A:???。


Q39:SpringCloud2.x有什么新技术?举3个例子?

A:SpringCloud GateWay、阿里Nacos、SpringCloud-R4j熔断器等。


Q40:Dubbo是什么?

A: RPC远程调用、服务治理框架。


Q41:Dubbo原理图包含哪几种对象?每个对象做什么?流程如何?

A: 提供者、消费者、注册中心、监控、服务运行容器?提供者、消费者注册中心注册 ->消费者从注册中心获取服务列表 -> 提供者和消费者每分钟发送依次数据给监控中心。


Q42:Dubbo如何搭建(回忆)?

A: 注册中心、DubboAdmin、客户端注册Zookeeper。


Q43:Dubbo与SpringCloud的区别(举例3个)?为何抛弃Dubbo?

A: 开发商?更新与稳定?内容。


Q44:回忆Docker相关的内容?

A: 优点?架构?与虚拟机的比较?docker命令的记忆?。

目录
相关文章
|
30天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
2月前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
2月前
|
运维 持续交付 API
从零构建微服务架构:一次深度技术探索之旅####
【10月更文挑战第28天】 本文记录了作者在从零开始构建微服务架构过程中的深刻技术感悟,通过实战案例详细剖析了微服务设计、开发、部署及运维中的关键要点与挑战。文章首先概述了微服务架构的核心理念及其对企业IT架构转型的重要性,随后深入探讨了服务拆分策略、API网关选型、服务间通信协议选择、容器化部署(Docker+Kubernetes)、以及持续集成/持续部署(CI/CD)流程的设计与优化。最后,分享了在高并发场景下的性能调优经验与故障排查心得,旨在为读者提供一套可借鉴的微服务架构实施路径。 ####
68 3
|
2月前
|
Kubernetes Java 微服务
微服务上下线动态感知实现的技术解析
随着微服务架构的广泛应用,服务的动态管理和监控变得尤为重要。在微服务架构中,服务的上下线是一个常见的操作,如何实时感知这些变化,确保系统的稳定性和可靠性,成为了一个关键技术挑战。本文将深入探讨微服务上下线动态感知的实现方式,从技术基础、场景案例、解决思路和底层原理等多个维度进行阐述,并分别使用Java和Python进行演示介绍。
67 4
|
2月前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
67 1
|
2月前
|
监控 Java 微服务
从零构建微服务架构:一次深度技术探索之旅####
本文作为一篇深度技术分享,引领读者踏上自底向上搭建微服务架构的征途,旨在通过实战经验剖析,揭示微服务转型背后的技术挑战与解决方案。不同于常规摘要仅概述内容,本文摘要将直接以故事化手法,简述作者从单体应用困境出发,逐步迈向微服务化的心路历程,涵盖关键决策点、技术选型考量及实践收获,激发读者对微服务架构设计与实现的浓厚兴趣。 ####
|
2月前
|
Cloud Native 云计算 Docker
云原生技术的崛起:从容器化到微服务架构
云原生技术的崛起:从容器化到微服务架构
|
2月前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
59 7
|
2月前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
3月前
|
Cloud Native API 持续交付
利用云原生技术优化微服务架构
【10月更文挑战第13天】云原生技术通过容器化、动态编排、服务网格和声明式API,优化了微服务架构的可伸缩性、可靠性和灵活性。本文介绍了云原生技术的核心概念、优势及实施步骤,探讨了其在自动扩展、CI/CD、服务发现和弹性设计等方面的应用,并提供了实战技巧。

热门文章

最新文章