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

最近一直在学习微服务,毕竟现在大家都在说分布式,集群等,分布式和集群的基本前提是微服务,所以有比较掌握微服务的基本原理。

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

微服务主要由以下几个基本组件:

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

1、服务描述

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

2、注册中心

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

3、服务框架

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

4、服务监控

  监控服务调用情况。需要指标收集、数据处理、数据展示。

5、服务追踪

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

  服务追踪原理:服务消费者发起调用,本地按照一定的规则生成一个requestid,发起调用时,将requestid当作请求参数的一部分,传递给服务提供者;服务提供者接收请求,记录这次请求的requestid,然后处理请求。如果服务提供者还要继续请求其他服务,还会再本地生成一个自己的requestid,然后把两个requestid当作请求参数继续传递下去。

6、服务治理

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

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

原文地址:https://www.cnblogs.com/gzhcsu/p/11372434.html

时间: 2024-11-08 13:25:14

微服务学习之路(一)——微服务架构的相关文章

linux学习之路之DHCP服务

DHCP服务 dhcp:英文全称是Dynamic Host Configuration Protocol,动态主机分配协议,之所以称为是动态,那是 因为该服务器可以自动的为某个客户端分配一个ip地址. 对于一个大型的公司或者局域网,如果里面含有成千上万个主机,如果我们一个一个的去配置,那岂不是会累死,而且也不能保证配置的准确性.因此,这时候就需要我们借助dhcp服务来自动完成为这些客户分配ip地址. 那么dhcp服务器是如何完成自动分配ip的呢? dhcp的工作原理: 1.首先客户端以广播的形式

linux学习之路之http服务的构建及其配置文件详解

HTTP的构建 http是一个开源软件,且一般用作web服务器来使用.目前最流行的web服务器软件叫做Apache,因此Apache只是一个软件,他并不是web服务器.但是我们一般所说的Apache就代表着这个软件做成的web服务器. web服务器的构建,所需要的软件: httpd.i386和httpd-manual.i386 其中httpd.i386是构建web服务器所需要的软件:另外的httpd-manual.i386则是安装httpd的命令手册,可以在无网条件下,来查询httpd的相关参数

linux学习之路之httpd服务

HTTP HTTP:全称为HyperText  Transfer Protocol(超文本传输协议),是目前互联网使用最多最广泛的一种协议.在早期的HTTP协议版本(http/0.9)中,http服务仅支持二进制(ASCII)的纯文本文件.而在http/0.9以后的版本中,http协议可以支持MIME机制,使得http协议可以支持多种格式的文本文件,例如视频.图像.语音等等.从而丰富了http协议的发展. 什么是MIME? MIME:全称是Mulitpurpose  Internet  Mail

【转】Linux学习之路--启动VNC服务

我的Linux是Fedora 13,安装方法如下: 1.打开终端,执行 # yum install -y tigervnc tigervnc-server 2.编辑/etc/sysconfi/vncservers # vi /etc/sysconfig/vncservers 在最后加入: VNCSERVERS="1:sky" VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost" 注意:sky是我的

Linux网络服务学习之路——DNS域名系统服务之基础功能实验

DNS服务搭建 上一节讲了关于DNS的介绍.域名的解析过程以及DNS软件相关的信息.(上一节请点击这里) 这节开始讲关于DNS的实验搭建.这次是DNS基本功能的实验搭建.每次进行实验搭建前要进行规划和防护关闭的检查.先关闭服务器和客户机上的防火墙和SELinux,否则会影响到正常实验. 环境准备:一台DNS服务器.一台测试机.一台网站服务(网站服务器可以不用,但是为了效果,这里用三台.其实两台就可以,测的时候客户端拿命令测一下就可以了,文末有演示,这样两台三台都能测) 接下来梳理一下实验的步骤:

Android的学习之路一 android的架构

一 Android的架构 二 本地库 来自开源社区的C/C++本地库为Android应用层提供了必需的服务.它们包括: Webkit 一个高速的WEB渲染引擎,这个引擎已经被Safari.Chrome和很多其他的浏览器所使用. SQLite 一个全功能的SQL数据库 Apache Harmony 开源的JAVA实现 OpenGL 3D图像渲染库 OpenSSL 安全套接字层 三 Dalvk 虚拟机 了解Dalvk就需要从JAVA的角度出发,同时明白他们之间的区别,推荐以下文章 java虚拟机和D

微服务框架surging学习之路——序列化

原文:微服务框架surging学习之路--序列化 1.对微服务的理解 之前看到在群里的朋友门都在讨论微服务,看到他们的讨论,我也有了一些自己的理解,所谓微服务就是系统里的每个服务都 可以自由组合.自由组合这个就很厉害了,这样一来,每个服务与服务之间基本的物理 耦合为0,横向扩展整个系统就会非常非常灵活. surging的厉害之处也恰恰是可以做到这些,所以surging 是.net core 里面一个非常不错的微服务框架. 2.surging的序列化方式 2.1 json.Net surging

微服务学习和认识

微服务学习和认识 1.什么是微服务 微服务架构风格:是一类将单一应用程序作为由众多小型服务构成之套件加以开发的方式,其中各项服务都拥有自己的进程并利用轻量化机制(通常为HTTP源API)实现通信.这些服务围绕业务功能建立而成,且凭借自动化部署机制实现独立部署.这些服务匹配一套最低限度的中央式管理机制,且各服务可通过不同编程语言编写而成并使用不同的数据存储技术 2.微服务的目 有效的拆分应用,实现敏捷开发和部署 3.微服务的优点 开发简单 技术栈灵活 服务独立无依赖 独立部署.按需扩展 可用性高

微服务实践之路--RPC

微服务实践之路--RPC 重点来了,本文全面阐述一下我们的RPC是怎么实现并如何使用的,跟Kubernetes和Openstack怎么结合. 在选型一文中说到我们选定的RPC框架是Apache Thrift,它的用法是在Main方法中重启服务,在Client端连接服务去调用, 而我的想法是要跟Dubblo.HSF的用法一样,因为很多人都熟习这两个框架的用法,特别是我们好几个项目都是基于EDAS开发的,而且世面上用Dubbo的公司也很多. 顺便再说一下我们对于RPC的几点要求: 1,兼容Dubbo