1、您对微服务有何了解?

微服务,是一种架构风格,它将应用程序构建为以业务领域为模型的小型自治服务集合。各个服务组件形成一个强大的微服务架构,以提供更好的拓展性,维护团队可以单独处理每个服务组件的问题,而对整个应用程序没有影响或者影响更小。

2、微服务架构有哪些优点、缺点?

优点缺点
独立开发—所有微服务都可以根据自身的功能轻松开发复杂度提高—微服务之间通过REST、RPC进行交互时,需要考虑被调用方故障、过载、消息丢失的问题,代码逻辑变复杂
独立部署—基于其服务,可以在任何应用程序中单独部署他们运维复杂—需要设计一个良好的监控系统对微服务的运行状态进行监控,运维人员需要对系统由细致的了解才能更好的运维系统
故障隔离—即使应用程序的一项服务不起作用,系统仍可继续运行影响性能—微服务之间通过REST、PRC等形式进行交互,通信延时会受到较大影响
混合技术堆栈—可以使用不同的语言和技术来构建同一应用程序的不同服务
粒度缩放—单个组件可以根据需要进行缩放

3、微服务有哪些特点?

1.解耦

系统内的服务很大程度上是分离的。整个应用程序可以轻松构建、更改和扩展。

2.自治

一个微服务就是一个独立的实体,它可以独立部署、升级,服务与服务之间通过REST等形式的标准接口进行通信,并且一个微服务实例可以被替换成另一种实例,而对其它的微服务不产生影响。

3.单一职责

每个微服务都需要满足单一职责原则,微服务本身是内聚的,因此微服务通常比较小。

4、设计微服务的最佳实践是什么?

1.为每个微服务分别存储数据
2.将代码保持在类似的成熟度级别
3.为每个微服务单独构建
4.部署到容器
5.将服务设计为无状态服务
在这里插入图片描述

5、微服务架构如何运作?

客户端:来自不同设备的不同用户发送请求。
身份提供商:验证用户身份,并颁发令牌。
API网关:处理客户端请求。
静态内容:容纳系统所有内容。
管理:在节点上平衡服务并识别故障。
服务发现:查找微服务之间通信路径的指南。
内容交付网络:处理服务器及其数据中心的分布式网络。
远程服务:启用驻留在IT设备网络上的远程访问信息。
在这里插入图片描述

7、单片、SOA 和微服务架构有什么区别?

单片架构:类似于大容器,其中应用程序的所有软件组件组装在一起并紧密封装。
SOA面向服务架构:是一种相互通信的服务集合。通信可以涉及简单的数据传递,也可以涉及两个或者多个协调某些活动的服务。
微服务架构:它和SOA架构类似,在SOA上做了升华,微服务架构强调的重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分成多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。
在这里插入图片描述

8、在使用微服务架构时,您面临哪些挑战?

1.自动化组件:难以自动化,因为有许多较小的组件。因此,对每个组件,都必须遵循Build、Deploy、Monitor的各个阶段。
2.易感性:将大量组件维护在一起变得难以部署、维护、监控和识别问题。他需要在所有组件周围具有很好的感知能力。
3.配置管理:有时各种环境中维护组件变得困难。
4调试:很难找到错误的每一项服务。维护集中式日志记录和仪表板以调试问题至关重要。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐