微服务学习之路(一)——微服务架构

最近一直在学习微服务,毕竟如今你们都在说分布式,集群等,分布式和集群的基本前提是微服务,因此有比较掌握微服务的基本原理。架构

先看一下微服务架构图,以下图:框架

 

微服务主要由如下几个基本组件:分布式

服务描述、注册中心、服务框架、服务监控、服务追踪、服务治理。微服务

一、服务描述性能

  服务调用首先要解决的问题是服务如何对外描述。经常使用的服务描述包括RESTful API、XML配置已及IDL文件。学习

  一般状况下,若是企业内部之间的服务,都是Java语言,选择XML配置最简单。若是内部存在多个服务,而且服务采用的是不一样语言平台,建议使用IDL文件方式进行描述服务。若是还存在对外开放服务调用的话,使用RESTful API方式更加通用。blog

服务描述方式 使用场景 缺点
RTSTful API 跨语言平台,组织内外皆可以使用 使用了HTTP做为通信协议,相比于TCP协议,性能较差
XML配置 Java 平台,通常用于组织内部 不支持跨语言平台
IDL 跨语言平台,组织内外皆可以使用 修改或者删除PB字段不能向前兼容

二、注册中心table

  注册中心解决服务的发布和订阅。服务提供者将本身提供的服务以及地址登记到注册中心,服务消费者则从注册中心查询所需调用的服务地址,发起请求。集群

三、服务框架监控

  发起调用以前,须要解决问题:通信协议?数据传输方式?数据压缩格式?

四、服务监控

  监控服务调用状况。须要指标收集、数据处理、数据展现。

五、服务追踪

  记录服务调用通过的每一层链路,进行问题追踪和故障定位。

  服务追踪原理:服务消费者发起调用,本地按照必定的规则生成一个requestid,发起调用时,将requestid看成请求参数的一部分,传递给服务提供者;服务提供者接收请求,记录此次请求的requestid,而后处理请求。若是服务提供者还要继续请求其余服务,还会再本地生成一个本身的requestid,而后把两个requestid看成请求参数继续传递下去。

六、服务治理

  服务监控发现问题,服务追踪定位问题,服务治理解决问题。

  生成环境常见故障:单机故障、单IDC故障、依赖服务不可用。

相关文章
相关标签/搜索