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


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

    微服务的特点:

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

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

  • 相关阅读:
    PFC232-SOP8/14/16应广一级可带烧录程序编带
    436. 寻找右区间--LeetCode_暴力
    跨境电商与监管:合规化IPO的长征路
    Worthington蘑菇多酚氧化酶的特性及测定方案
    从零开始学习调用百度地图网页API:二、初始化地图,鼠标交互创建信息窗口
    Gitlab迁移方案
    数字化审计智慧
    消息队列(MQ)面试
    神经网络准确率计算公式,提高神经网络精确率
    使用Mapster实现双向映射,解放搬砖体力活
  • 原文地址:https://blog.csdn.net/hutubiancheng/article/details/125506236