• 微服务架构综述


    第一部分 基础篇

    单块架构及其挑战

    单块架构

    是指将系统的功能按照三层架构的思想,在逻辑上分为三层,然后将这种功能集中、代码中心化、一个发布包、部署后运行在同一个进程的应用程序,成为单块架构。典型的应用是j2ee的开发产品,他们的形态一般是WAR包或者EAR包。

    单块架构的优势

    1、易于开发

    2、易于测试

    3、易于部署

    4、易于水平伸缩

    三层架构

    通常包括表示层、业务逻辑层以及数据访问层。

    微服务架构综述

    微服务定义

    一、微服务架构是一种架构模式,他提倡将单一应用程序划分为一组小的服务,服务之间相互协调、互相配合,为用户提供最终的价值。每个服务独立运行在各自的进程中,服务与服务之间采用轻量级的通信机制相互沟通。每个服务围绕着具体业务进行构建,并且能够被独立的部署到生产环境中。应避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

    微服务的程度

    即微服务究竟应该多微才可以?

    1、根据代码行数进行划分。

    2、根据服务的重写时间进行划分。

    轻量级通信

    对于微服务而言,通过使用语言无关、平台无关的轻量级通信机制,使服务与服务之间的协作变得更加标准化。

    微服务本质

    1、服务作为组件
    将服务作为组件,在组件和组件之间定义了清晰的、语言无关的、平台无关的接口。
    2、围绕业务组织团队

    3、关注产品而非项目

    4、技术多样性
    在微服务中,针对不同的业务特征选择合适的技术方案,有针对性地解决具体业务问题。
    5、业务数据独立

    6、基础设施自动化

    7、演进式架构

    微服务需要考虑的问题

    分布式系统的复杂度

    1、性能

    分布式系统因为组件和组件之间的调用是跨进程、跨网络的调用,因此,必须考虑网络延迟以及带宽的影响。

    2、可靠性

    随着微服务数量的增多,会出现更多的潜在故障点。

    3、异步

    对于跨网络的调用,需要考虑异步的通信机制。
    4、数据一致性

    5、工具

  • 相关阅读:
    [.NET学习]抽象&#
    几个国内开源
    通过C#命令行&#
    我的宝贝
    我的新博客
    常用的在线网
    收集一些.NET开
    论研究生学术
    在vs2008里安装使&#
    c#编码好习惯
  • 原文地址:https://www.cnblogs.com/monty12/p/12149418.html
Copyright © 2020-2023  润新知