1.什么是微服务?(提出者马丁福勒)
-
微服务架构是一种架构模式或者说是一种架构风格,它提供将单一应用程序划分成一组小的服务.
每个服务运行在其独立的自己的进程中 ,服务之间互相协调、配合,为用户提供最终价值.
-
服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API).
dubbo是rpc调用,微服务是restful风格
-
技术维度的理解:
微服务的核心就是将传统的一站式应用,根据业务拆分成一个个的服务,彻底地解耦合, 每一个微服务提供单个业务功能的服务,一个服务做一件事, 从技术角度看就是一种小而独立的处理过程,类似进程概念, 能够自行单独启动或销毁,拥有自己独立的数据库.
2.微服务之间是如何独立通讯的
- Rest风格通讯
3.SpringCloud和Dubbo有哪些区别?
4.SpringBoot和SpringCloud,谈谈对他们的理解
5.什么是服务熔断?什么是服务降级
6.微服务的优缺点分别是什么?说下在项目开发中碰到的坑
-
微服务的优缺点:
- 优点:
每个服务足够内聚,足够小,代码容易理解这样能聚焦一个指定的业务功能或业务需求. 开发简单、开发效率提高,一个服务可能就是专一的只干一件事. 微服务能够被小团队单独开发,2-5人开发人员. 微服务是松耦合的,是有功能意义的服务,无论是在开发阶段还是部署阶段都是独立的. 微服务能使用不同的语言开发.
- 缺点:
开发人员要处理分布式系统的复杂性. 多服务运维难度,随着服务的增加,运维的压力也在增大. 系统部署依赖. 服务间通信成本. 数据一致性. 系统集成测试. 性能监控.
7.你所知道的微服务技术栈有哪些,列举一二
微服务技术栈:多种技术的集合体
*