美文网首页
微服务概念

微服务概念

作者: Marlon666 | 来源:发表于2018-06-19 14:02 被阅读9次

微服务

将功能分解到各个离散的服务中,以实现对解决方案的解耦,并提供更加灵活地额服务支持。
系统中的微服务可被独立部署,各个微服务之间是松耦合的。每个服务仅仅关注完成一件任务并很好的完成该任务。

微服务是一种架构风格,把一个大型复杂软件应用拆分成一个或者数十个个微服务,它可以扩展单个组件,
而不是而不是应用程序堆栈,从而满足服务等级协议。
微服务是根据业务组件领域来创建应用,这些组件可以独立的完成开发、管理和迭代。

特点

1、分布式管理,强调隔离性。
2、按照业务来划分组织
3、有生命的产品,而不是项目
4、强服务个体弱通信
5、自动化运维Devps
6、具有高度的容错性
7、可以快速演化和迭代
image.png image.png

微服务具体实践要解决的问题?

1、客户端如何访问这些服务?
Api Gateway进行处理 : 提供统一的服务入口,微服务对前台透明;聚合后台服务,集成流量,提升性能;提供安全、过滤、流控等API的管理功能。

2、每个服务之间是如何通信的?

异步:消息队列 (Kafka) 

同步:Rest(Spring boot 、JAX-RS ) 或 RPC(dubbo) 
 
同步和异步的区别?
 1)同步调用比较简单、一致性强,但是容易出现调用问题,尤其是在调用层次比较多的时候;可以跨客户端;支持各种语言更加灵活;封装了httpSDK就可以使用广泛;
  RPC传输协议协议更加高效,安全更加可靠,特别是在一个公司内部,有统一规范。
 2)异步应用广泛,既能减少调用服务之间的耦合又能调用之间的缓冲,确保消息不会冲垮被调用方,同事能保证调用的服务体验。
 但是会使一致性减弱,需要介绍数据的最终的一致性,后台服务要实现幂等性;有时会有重复;同时要引入Broker(代理)。

3、如此多的服务如何实现?

采用类似zookeeper实现:服务注册等信息的分布式管理。
当服务上线时,服务提供者将自己的服务信息提供到ZK,并通过心跳维持长链接,实时更新链接信息。服务调用者根据ZK去寻找地址,通过
可定制的算法,找到一个服务,还可以服务的信息缓存到本地来提高性能,当服务上线时,ZK会把信息通知给服务的客户端。和doubbo很像。

4、服务挂了,该如何解决?有什么备份方案和应急处理机制?

重试机制、应用限流、熔断机制、负载均衡、系统降级。

相关文章

  • 什么是SpringCloud

    何为微服务 在了解SpringCloud之前,我们先来大致了解下微服务这个概念吧。 传统单体架构 单体架构在小微企...

  • 微前端技术

    一.微前端概念 前端微服务 二.常用前端架构 MPA(体验不好)SPA(体验号,但是体量大) 三.微前端架构 技术...

  • 微信支付踩坑系列之微信支付申请流程

    概念梳理 普通微信支付:自有微信公众号(服务号或者企业号,并且必须通过企业认证;订阅号,通过微信认证【仅支持政府或...

  • 微服务开发模式系列之九阴真经

    微服务是微服务架构中的概念,微服务架构是指由一系列微服务组成的体系架构。每一个微服务都是一个可以独立部署的程序,微...

  • 微信支付踩坑系列之服务商申请流程

    概念梳理 服务商是指有技术开发能力的第三方开发者为普通商户提供微信支付技术开发、营销方案,即服务商可在微信...

  • 综合架构之SSH服务

    远程服务概念说明远程服务连接原理远程服务连接方式远程服务配置文件远程访问防范入侵方案 远程服务概念说明: teln...

  • 微服务概念

    微服务 特点 微服务具体实践要解决的问题? 3、如此多的服务如何实现? 4、服务挂了,该如何解决?有什么备份方案和...

  • 微服务概念

    简而言之,微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法, 每种应用程序都在其自己的进程中运行,并用...

  • 微服务概念

    1.微服务 1.1.什么是微服务 将一个复杂的单体式服务进行合理的拆分,分成多个子服务,服务与服务间通过松耦合的形...

  • 你做的是微服务还是小单体?

    先讲一个关于微服务的小故事:第一次接触到微服务这个概念的时候,我的第一反应以为微服务就是微信提供的某种服务。那段时...

网友评论

      本文标题:微服务概念

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