zoukankan      html  css  js  c++  java
  • 微服务深入浅出(2)-- 微服务对比单体应用的优势

    下面先介绍一些概念:

    1、单体应用:一般都是三层结构(Controller,Service,Dao),当业务越来越复杂,项目代码的可维护性就越来越差;随着用户的增加,单体应用的并发能力有限;

    2、单体应用集群:使用负载均衡,缓存服务器,读写分离等技术后,这种架构有了一定的并发处理能力。但任然存在一些问题。首先是项目代码的可维护性差;其次数据库也会成为性能瓶颈,需要分库分表进行分布式存储;最后是持续交付能力差。

    3、SOA:全英文是Service-Oriented Architecture,也叫服务治理,是一个组件模型,一般是SOA+ESB共同实现业务。SOAP主要是使用http+xml来实现接口(webservice)。

    4、微服务:

    架构:CAP理论中的AP架构

    业务拆分:按照业务拆分为一个个独立运行(容器+数据库)的单元;

    服务开发:各个单元可以用不同的编程语言,存储技术来开发;

    服务间通讯:使用http,轻量级消息总线(MQ,通讯机制不可靠)通讯,传输json或者二进制数据(比json还轻量级,就是可读性差,需要反序列化,如protobuf);

    自动化部署:Jenkins+Docker;

    集中化管理:Eureka;

    分布式部署:分布式事务,全局锁,全局ID;

    熔断机制:因为一个接口可能调用多个接口,那么为了防止“雪崩效应”,引入了Hyxtris;

    微服务监控:Spring Cloud Sleuth链路追踪,Spring Cloud Admin和日志系统;

    由此可见MicroService比SOA架构更完善,更能满足日益增长的开发需求

    注:CAP理论中的Consistency是指强一致性,Availability指服务的可用性,Partition-tolerance指分区容错

  • 相关阅读:
    【项目 · Wonderland】UML设计
    【项目 · Wonderland】预则立 && 他山之石
    【项目 · Wonderland】需求规格说明书 · 终版
    【项目 · 学生部门互选系统】项目展示
    【项目 · Wonderland】立项报告
    React 封装Form表单组件
    前端算法题解析 《四》
    前端算法题解析 《三》
    前端算法题解析 《二》
    前端算法题解析 《一》
  • 原文地址:https://www.cnblogs.com/ijavanese/p/9182326.html
Copyright © 2011-2022 走看看