1.什么是微服务?

  • 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个服务,彻底的解耦,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程的概念,能够自行启动或者销毁,一般都拥有自己的数据库。

2.微服务架构的优点?

  • ① 每个服务足够内聚,足够小,代码容易理解,这样能聚焦于一个指定的业务功能或者业务需求。
  • ② 开发简单,开发效率提高,专门的服务干专门的事。
  • ③ 低耦合,无论是开发阶段或者是部署阶段都是独立的。
  • ④ 方便和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如Jekins,Hudson等。
  • ⑤ 每个微服务都有自己的存储能力,都可以有自己的数据库。

3.微服务架构的缺点?

  • ① 开发人员要处理分布式系统的复杂性。
  • ② 多服务运维难度,随着服务的增加,运维的压力也会增大。
  • ③ 多个服务之间数据一致性的问题。

4.SpringCloud和SpringBoot的关系?

  • ① SpringBoot专注于快速,方便的开发单个微服务实体。
  • ② SpringCloud关注的是全局的服务治理。

5.SpringCloud和Dubbo的区别?

JAVA后端面试《SpringCloud》

  • ① 最大的区别:SpringCloud抛弃了Dubbo的RPC通信方式,采用的是基于HTTP的REST方式。
    • 严格来说,者两种方式各有优劣。虽然从一定程度上来说,后者牺牲了服务的调用性能,但是也避免了上面提供的原生RPC带来的问题。而且Rest相比RPC更为灵活,服务提供方和服务调用方不存在代码级别的强依赖,在微服务环境下,显得更加何时。
  • ② 品牌机和组装机的区别。
    • SpringCloud的功能比Dubbo更加强大,涵盖面更广,它能够和Spring,SpringBoot,Spring data等完美融合,这对于微服务是直观重要的。SpringCloud就是品牌机,在Spring资源的整合下,做了大量的兼容性测试,保证了机器拥有更高的稳定性。而Dubbo更像是一台组装机,各环节的选择自由度很高,但是最终整合结果可能会出现问题。
  • ③ 最为重要的是Dubbo已经停更了5年左右,对于技术发展的新需求,需要开发者自行拓展和升级。

相关文章: