zoukankan      html  css  js  c++  java
  • 微服务的简单理解

    1.Soa : 面向服务的架构。SOA 是一种软件架构模式,用于构建大型的企业应用程序,这些应用程序通常要求集成多种服务,而每种服务使用不同的平台和编程语言来构建,并通过通用的通信机制进行交互。
    2.微服务架构:在微服务架构中,我们专注于将应用程序模块化,将其分解成较小的独立服务,这些服务可独立于其他服务或整个应用程序本身而构建、部署、伸缩和维护。这些独立服务被称为微服务,因此这种架构被称为微服务架构。

    微服务的核心思想便是服务拆分与解耦,降低复杂性。微服务强调将功能合理拆解,尽可能保证每个服务的功能单一,按照单一责任原则(Single Responsibility Principle)明确角色。 将各个服务做轻,从而做到灵活、可复用,亦可根据各个服务自身资源需求,单独布署,单独作横向扩展。

    Soa和微服务的区别在哪?

    3.SpringCloud,微服务架构之一。包括 服务发现(Eureka),断路器(Hystrix),网关(Zuul),客户端负载均衡(Ribbon)等。

    4.微服务,进行服务拆分。有横向拆分、纵向拆分。

    横向拆分。按照不同的业务域进行拆分,例如订单、营销、风控、积分资源等。形成独立的业务领域微服务集群。

    纵向拆分。把一个业务功能里的不同模块或者组件进行拆分。例如把公共组件拆分成独立的原子服务,下沉到底层,形成相对独立的原子服务层。这样一纵一横,就可以实现业务的服务化拆分。

    要做好微服务的分层:梳理和抽取核心应用、公共应用,作为独立的服务下沉到核心和公共能力层,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。

    服务拆分是越小越好吗?微服务的大与小是相对的。比如在初期,我们把交易拆分为一个微服务,但是随着业务量的增大,可能一个交易系统已经慢慢变得很大,并且并发流量也不小,为了支撑更多的交易量,我会把交易系统,拆分为订单服务、投标服务、转让服务等。因此微服务的拆分力度需与具体业务相结合,总的原则是服务内部高内聚,服务之间低耦合。

    Docker

    1.Docker 是软件容器化平台,它将微服务封装进 Docker 容器,然后进行独立的维护和部署。每个容器都将负责一个特定的业务功能。

    2.Docker有着小巧、迁移部署快速、运行高效等特点。对比虚拟机,容器隔离的层次比较低,容器之间是共享同一套操作系统资源的。

    3.Docker通过“舱壁模式”实现进程的隔离,使得容器与容器之间不会互相影响。

  • 相关阅读:
    【BZOJ2243】染色-树链剖分+线段树复杂操作
    【BZOJ2243】染色-树链剖分+线段树复杂操作
    【HDU4193】Non-negative Partial Sums-单调队列
    【HDU4193】Non-negative Partial Sums-单调队列
    【POJ3417】Network-LCA算法+树上差分
    【POJ3417】Network-LCA算法+树上差分
    【BZOJ1984】月下“毛景树”-树链剖分
    perl 读取cookie
    perl 面向对象 new方法
    perl 面向对象 new方法
  • 原文地址:https://www.cnblogs.com/expiator/p/9758971.html
Copyright © 2011-2022 走看看