zoukankan      html  css  js  c++  java
  • 微服务架构

    1、微服务简介

    微服务是一种软件架构模式。

    它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于HTTP的Restful API).每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建

    2、特征

    小:粒度小,专注一项业务

    独:独立部署,服务独立测试、部署、升级、发布

    轻:轻量级通信

    松:松耦合。对语言和工具要求松,可以选择最契合业务的语言

    3、三维扩展模型

    X轴,服务实例水平扩展,保证可靠性与性能;

    Y轴,功能的扩展,服务单一职责,功能独立;

    Z轴,数据分区,数据独立,可靠性保证;

    4、部署粒度

    VM(不推荐)

    Docker

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

    5、基础设施

    基础设施自动化(devops、自动化部署)

    6、需要解决的难点

    分布式事务:2阶段、3阶段、tcc

    分布式一致性:全局的分布式事务;事件驱动

    分布式调度

    分布式全局id生成

    服务命名、注册、发现

    服务治理

    服务间通信

  • 相关阅读:
    Android 开发学习进程0.19 webview 的使用
    2020年4到6月—7家公司面试总结(3家已拿offer)
    iOS今日头条第3轮面试回忆
    [搬运]Dart之枚举中使用扩展
    Proguard 常用规则
    shiro安全框架
    Android服务的AIDL跨进程(程序)操作
    Android——服务的实例,银行服务
    Android四大组件之服务————服务的生命周期和启动方式
    Android 程序间的广播和Manifest找不到(解决方法)
  • 原文地址:https://www.cnblogs.com/wangzhongqiu/p/11099257.html
Copyright © 2011-2022 走看看