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


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

    微服务的特点:

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

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

  • 相关阅读:
    XPS的测试误差-科学指南针
    统计力学中的概率论基础(二)
    Node版本管理工具——Nvm
    Java JVM——12. 垃圾回收理论概述
    Structured Streaming 编程模型
    什么是合规性测试?如何进行合规性测试?
    【统计分析】(task3) 假设检验3:分类数据检验
    软件实训-例会1
    【爬虫|数据分析|Hadoop】利用scrapy框架爬取小说信息并进行数据分析
    一种非线性动态自适应惯性权重PSO算法-附代码
  • 原文地址:https://blog.csdn.net/hutubiancheng/article/details/125506236