JAVA面试题整理《微服务篇》一

什么是微服务架构?
微服务框架是将某个应用程序开发划分为许多独立小型服务,实现敏捷开发和部署,这些服务一般围绕业务规则进行构建,可以用不同的语言开发,使用不同的数据存储,最终使得每个服务运行在自己的行程中。并且它们之间采用轻量级通信机制进行通信。

微服务的特点:

单一职责:微服务中每一个服务都对应唯一的业务能力,做到单一职责
应用粒度:微服务的服务拆分粒度很小,例如一个用户管理就可以作为一个服务。每个服务虽小,但“五脏俱全”。
面向服务:每个服务都要对外暴露Rest风格服务接口API。各种终端都可以调用,不关心语言、平台限制,也不关心服务的技术实现,只要提供Rest的接口即可。
前后端分离:采用前后端分离开发,提供统一Rest接口,后端不用再为PC、移动段开发不同接口
自治能力:所有的微服务都能运行在自己的进程中,服务间之间互相独立,互不干扰
团队独立:每个服务都是一个独立的开发团队,
技术独立:Rest接口通信,不关心使用技术
部署独立,服务间虽然有调用,但要做到服务重启不影响其它服务。有利于持续集成和持续交付。每个服务都是独立的组件,可复用,可替换,降低耦合,易维护
缺点:

可用性降低:微服务之间通过远程调用实现协作,而远程调用相对来说不稳定,需要用有效的方案来解决处理。
分布式事务困难:当一个用户请求的业务设计多个微服务时,需要解决保障数据的一致性的问题
全能对象(God Classes)阻止业务拆分,每个业务都有可能存在一个或多个全能对象,比如说商城项目中的订单对象,它几乎会涉及电商应用中的每一个业务,阻止你进行业务拆分
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值