美文网首页
微服务架构简介

微服务架构简介

作者: zhglance | 来源:发表于2019-08-28 15:49 被阅读0次

微服务架构由Fred Gerorge在2012年提出,后来由Martin Fowler进行推广和发扬。

1.什么是微服务

微服务(MicroServices)将单个应用拆分成多个小的服务单位,小的服务之前基于HTTP的RestFull API进行资源访问和操作。
微服务的特征:
1.由多个独立的服务构成应用系统;
2.每个服务单独部署,单独进行;
3.每个服务具有独立的业务;
4.可以进行分布式管理。

微服务要解决的问题:
1.防止雪崩
防止因为某些服务访问压力过大时,影响其他服务模块,如访问限流;
2.功能降级
当服务故障时,要通过容错手段让程序运行下去,不影响整体运行,如当DB故障时,可以先返回cache中的数据,但是不保证数据和DB的一致性,等待DB的恢复;
3.幂等性
即访问多次和一次具有相同的业务结果,不会导致不同的业务结果;
4.超时控制
防止因为一个服务访问等待时间过长,导致整个应用性能下降;
5.熔断
在一定时间周期内(如10分钟),发生一定数据量的失败后,熔断器开启,请求快速返回失败,过了某个时期后(如5分钟),查看服务是否正常,然后充值熔断器;
6.服务隔离
当所依赖的服务故障时,服务能够隔离故障,保证业务能够运行下去;
7.可伸缩
可以根据并发量来适当的扩容和缩容;
8.数据隔离
每个服务有单独的数据库,降低数据耦合。

2.微服务的优点:

2.1 服务实现了低耦合性,服务可以独立部署;
2.2 独立的服务可以快速的启动;
2.3 独立的服务更适合快速迭代和演进;
2.4 有利于团队和人员分工和协同开发;
2.5 有利于服务的动态扩容;
2.6 独立的服务更像是抽取的公有方法,可以供多个其他服务调用;

3.微服务的缺点:

3.1 分布式部署,各个独立模块之间的多次通信带来了较高的复杂性,需要解决网络问题,容错问题等;
3.2 各服务拥有独立的DB,带来了分布式事务的难题;
3.3 服务版本版本,当一个服务的接口改变时,所有的调用方法都收到影响,而且维护接口文档和接口的一致性也是不可忽略的问题,极大的增加了测试工作量;
3.4 运维难度提升,随着服务个数的增加,服务的部署,监控都变得复杂。

4.主流微服务架构对比

序号 微服务框架 描述 通信协议 负载均衡 服务注册和发现 高可用和容错 跨语言平台 备注
1 dubbo 阿里开源框架 rpc 支持 支持 支持 不支持 文档丰富,容易上手
2 Spring Boot/Cloud 基于Spring的整套微服解决方案 HTTP 支持 支持 支持 支持 目前特别热门,功能强大,几乎成为了微服务架构的首要选择
3 Thrift 跨语言的rpc框架 rpc 不支持 不支持 不支持 支持 目前流行度比较低
4 gRPC Google的开源RPC框架 rpc 不支持 不支持 不支持 支持 功能还不够强大

相关文章

  • (一)微服务初见之 Spring Cloud 介绍

    微服务架构简介 从单体应用架构发展到SOA架构,再到微服务架构,应用架构经历了多年的不断演进。微服务架构不是凭空产...

  • 微服务技术调研与实践

    微服务架构简介 微服务架构模式(Microservices Architecture Pattern)的目的是将大...

  • 软件架构模式

    CQRS架构 微服务架构 微核架构

  • 01.SpringCloud简介

    内容简介 传统服务架构的演变 微服务与springcloud 开发环境准备 1.1 传统服务架构的演变 1.1.1...

  • 微服务简介

    微服务简介 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各...

  • 微服务架构简介

    近日不务正业,读黄勇写的《轻量级微服务架构(上)》有感。 总体技术栈: 1、后端基于SpringBoot用java...

  • 微服务架构简介

    微服务架构由Fred Gerorge在2012年提出,后来由Martin Fowler进行推广和发扬。 1.什么是...

  • 微服务首谈

    微服务简介 首先来谈一下什么是微服务? 微服务近几年如此过火,到底是什么优势吸引了无数开发人员热衷于微服务架构.微...

  • 【转载】微信抢红包设计

    微信红包的架构设计简介

  • Spring cloud Eureka 服务注册中心

    注册中心简介 微服务架构中最核心的部分是服务治理,服务治理最基础的组件是注册中心,随着微服务架构的发展,出现了很多...

网友评论

      本文标题:微服务架构简介

      本文链接:https://www.haomeiwen.com/subject/ohcmectx.html