微服务架构

短命女 2022-03-25 19:08 418阅读 0赞

服务提供者:
1.按照一定的格式描述服务
2向注册中心注册服务,声明自己所提供的服务以及服务的地址。

服务消费者:
1、请求注册中心,查询所请求的服务,并按照约定的通信协议进行请求。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nub3dfNw_size_16_color_FFFFFF_t_70

服务之间的调用主要依赖于一下几个组件:
1)服务描述
对外描述服务名,如何调用,返回结果以及如何解析结果。主要有三种方式restful api,XML,IDL
2)注册中心

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nub3dfNw_size_16_color_FFFFFF_t_70 1
服务的提供者将自己的服务和地址登记到注册中心,消费者则可以从注册中心查询所需要调用的服务的地址。
注册中心的一般流程
1.服务提供者在服务启动的时候,根据配置信息向注册中心进行注册
2.服务消费者在启动的时候,根据配置信息向注册中心订阅自己所需要的服务,注册中心将服务提供者列表返回给服务消费者。
3.当服务有变化,节点的增加或者删除,注册中心将通知服务消费者。

3)服务框架
服务调用需要考虑的几个问题
1.服务的通信采用的协议,比如http,tcp
2.数据的传输方式,同步还是异步,单连接还是多路复用
3.数据压缩格式,对数据压缩可以减少网络传输的数据量,减少带宽和网络传输的时间。如json序列化,java对象序列化。
4)服务监控 用于发现问题
服务可以调用后,需要对服务进行监控。主要包括三部分。
1.指标收集,就是要把每一次服务调用的请求耗时以及成功与否收集起来,并上传到集中的数据处理中心。
2.数据处理,根据收集到的数据,可以计算得出每秒服务请求量,平均耗时以及成功率等。

3.数据展示,将处理好的数据进行各种自定义的展示,并可设置进行报警。
5)服务追踪 用于定位问题
记录服务调用的链路,以便追踪和定位。
服务消费者在发起请求时会在本地生成一个requestid,并将该id作为请求参数传递给服务提供者,如果服务提供者还需要调用其他服务,那么他也是会生成一个requestid,并将自己的和调用他的
请求者的requestid一同传递下去,那么久可以根据初始的id找到整个调用链。
6)服务治理 通过一系列的手段来保证在各种意外情况下,服务调用仍然能够正常进行。
生产环境中常遇到的问题
1.单机故障
2.单IDC故障
3.依赖服务不可用
4.服务容量不够

发表评论

表情:
评论列表 (有 0 条评论,418人围观)

还没有评论,来说两句吧...

相关阅读

    相关 架构服务架构

    系统架构设计描述了在应用系统的内部,如何根据业务、技术、组织、灵活性、可扩展性以及可维护性等多种因素,将应用系统划分成不同的部分,并使这些部分彼此之间相互分工、相互协作,从而为

    相关 服务架构

    微服务架构         微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术

    相关 服务服务架构

    什么是微服务? > 微服务的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是

    相关 服务架构

    1、微服务简介 微服务是一种软件架构模式。 它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和

    相关 服务架构

    一、先了解一下什么是单体应用 就是一个应用程序包含了所有模块功能,各模块同时部署。当然这种应用模式比较容易部署、测试,但随着项目的加大,单体模式就会变得越来越臃肿,维护的成