![1d1bdcb14e0b7250feed012ffd6c01d4.png](https://i-blog.csdnimg.cn/blog_migrate/badea1d6b5c800959c66b799a72581f5.jpeg)
微服务架构
![dd1895b2d502ec30d8a576492bafe83b.png](https://i-blog.csdnimg.cn/blog_migrate/18ef5d10be5a1976ec05fc7884067f89.jpeg)
- 服务的前世今生
- 基于分布式思想下的RPC解决方案
- Dubbo应用及源码解读
- Docker虚拟化技术
- SpringCloud应用及源码解读
- SpringBoot
Dubbo
![860bc7b93c96b8375db349ef78793f06.png](https://i-blog.csdnimg.cn/blog_migrate/35f8932faed77473c53accfbe5231c96.jpeg)
- Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
- dubbo服务负载均衡策略?
- Dubbo在安全机制方面是如何解决的
- dubbo连接注册中心和直连的区别
- dubbo服务集群配置(集群容错模式)
- dubbo通信协议dubbo协议为什么要消费者比提供者个数多
- dubbo通信协议dubbo协议为什么不能传大包
- dubbo通信协议dubbo协议为什么采用异步单一长连接
- dubbo通信协议dubbo协议适用范围和适用场景
- RMI协议
- Hessian协议
- http
- Webservice
- Thrif
面试题及答案的获取方式,欢迎加入Java进阶架构交流:805685193。提供Java架构进阶思维导图,主要分享分布式架构、高可扩展、高性能、高并发、性能优化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分布式项目实战学习架构师视频。
Spring Boot
![ec72e0c892e3091bf13122c44f3ae609.png](https://i-blog.csdnimg.cn/blog_migrate/f0ca2b58a8c7e8da50741754eb97dd94.jpeg)
- 什么是Spring Boot?
- Spring Boot有哪些优点?
- 什么是JavaConfig?
- 如何重新加载Spring Boot上的更改,而无需重新启动服务器?
- Spring Boot中的监视器是什么?
- 如何在Spring Boot中禁用Actuator端点安全性?
- 如何在自定义端口上运行Spring Boot应用程序?
- 什么是YAML?
- 如何实现Spring Boot应用程序的安全性?
- 如何集成Spring Boot和ActiveMQ?
- 如何使用Spring Boot实现分页和排序?
- 什么是Swagger?你用Spring Boot实现了它吗?
- 什么是Spring Profiles?
- 什么是Spring Batch?
- 什么是FreeMarker模板?
- 如何使用Spring Boot实现异常处理?
- 您使用了哪些starter maven依赖项?
- 什么是CSRF攻击?
- 什么是WebSockets?
- 什么是AOP?
- 什么是Apache Kafka?
- 我们如何监视所有Spring Boot微服务?
面试题及答案的获取方式,欢迎加入Java进阶架构交流:805685193。提供Java架构进阶思维导图,主要分享分布式架构、高可扩展、高性能、高并发、性能优化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分布式项目实战学习架构师视频。
Spring Cloud
![d488203245ae51222184a54dd8aa9ef4.png](https://i-blog.csdnimg.cn/blog_migrate/6e6096cf487d0087186e71acccdff841.jpeg)
- 什么是Spring Cloud?
- 使用Spring Cloud有什么优势?
- 服务注册和发现是什么意思?Spring Cloud如何实现?
- 负载平衡的意义什么?
- 什么是Hystrix?它如何实现容错?
- 什么是Hystrix断路器?我们需要它吗?
- 什么是Netflix Feign?它的优点是什么?
- 什么是Spring Cloud Bus?我们需要它吗?
面试题及答案的获取方式,欢迎加入Java进阶架构交流:805685193。提供Java架构进阶思维导图,主要分享分布式架构、高可扩展、高性能、高并发、性能优化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分布式项目实战学习架构师视频。
答案解析
dubbo连接注册中心和直连的区别
在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,
点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表,
服务注册中心,动态的注册和发现服务,使服务的位置透明,并通过在消费方获取服务提供方地址列表,实现软负载均衡和Failover, 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外,注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者
注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表
注册中心和监控中心都是可选的,服务消费者可以直连服务提供者。
Spring Boot有哪些优点?
- 减少开发,测试时间和努力。
- 使用JavaConfig有助于避免使用XML。
- 避免大量的Maven导入和各种版本冲突。
- 提供意见发展方法。
- 通过提供默认值快速开始开发。
- 没有单独的Web服务器需要。这意味着你不再需要启动Tomcat,Glassfish或其他任何东西。
- 需要更少的配置 因为没有web.xml文件。只需添加用@ Configuration注释的类,然后添加用@Bean注释的方法,Spring将自动加载对象并像以前一样对其进行管理。您甚至可以将@Autowired添加到bean方法中,以使Spring自动装入需要的依赖关系中。
- 基于环境的配置 使用这些属性,您可以将您正在使用的环境传递到应用程序:-Dspring.profiles.active = {enviornment}。在加载主应用程序属性文件后,Spring将在(application{environment} .properties)中加载后续的应用程序属性文件。
什么是Spring Cloud?
Spring cloud流应用程序启动器是基于Spring Boot的Spring集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。
面试题及答案的获取方式,欢迎加入Java进阶架构交流:805685193。提供Java架构进阶思维导图,主要分享分布式架构、高可扩展、高性能、高并发、性能优化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分布式项目实战学习架构师视频。