微服务入门

1、什么是微服务

协同工作小而自治的服务
微服务是一种开发软件的架构和组织方法,其中软件由通过明确定义的 API 进行通信的小型独立服务组成。这些服务由各个小型独立团队负责。

微服务架构使应用程序更易于扩展和更快地开发,从而加速创新并缩短新功能的上市时间。

1.1 微服务与SOA

SOA:面向服务的架构( Service Oriented Architecture )
1、当服务越来越多后,为避免服务的资源浪费,需要一个调度中心来进行实时管理。
2、SOA是一种组件模型,也是一种架构模式,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义好的接口和契约联系起来。
缺点:在使用SOA中会遇到很多问题,比如通信协议(例如SOAP)的选择、第三方中间件如何选择,服务粒度如何确定等,目前也存在一些关于如何划分系统的指导性原则,SOA并没有告诉你如何划分单体应用成微服务,所以在使用SOA时会遇到许多问题。

1.2微服务架构

微服务(Microservices )在SOA基础上进一步的拆分,SOA是在系统级别
的拆分,微服务则是在业务级别上的拆分

常见的问题:
• 这么多小服务,如何管理? 服务注册中心
• 这么多小服务,他们间如何通信? restful、RPC
• 这么多小服务,客户端怎么访问?网关
• 这么多小服务,一旦出问题了,如何自处理? 容错
• 这么多小服务,一旦出问题了,如何排错? 链路跟踪

1.3 什么是RPC

RPC (Remote Procedure Call)远程过程调用是一个计算机通信协议。一般的程序调用是程序内部的调用,RPC允许你像调用本地函数一样去调用另一个程序的函数,这中间会涉及网络通信和进程间通信,但你无需知道实现细节,RPC框架为你屏蔽了底层实现。

1.4 什么是REST

REST(Representational State Transfer)这是一种HTTP调用的格式,更标准,更通用,无论哪种语言都支持http协议

2、微服务架构的常见概念

2.1服务治理

服务治理包括:服务注册、服务发现、服务剔除
服务治理就是进行服务的自动化管理,其核心是服务的自动注册与发现。

服务注册:服务实例将自身服务信息注册到注册中心。

服务发现:服务实例通过注册中心,获取到注册到其中的服务实例的信息,通过这些信息去请求它们提供的服务。

服务剔除:服务注册中心将出问题的服务自动剔除到可用列表之外,使其不会被调用到。

2.2服务调用

在微服务架构中,通常存在多个服务之间的远程调用的需求。目前主流的远程调用技术有基于HTTP的RESTful接口以及基于TCP的RPC协议。

2.3 服务网关

随着微服务的不断增多,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信可能出现:客户端需要调用不同的url地址,增加难度在一定的场景下,存在跨域请求的问题每个微服务都需要进行单独的身份认证针对这些问题, API网关顺势而生。
API网关直面意思是将所有API调用统一接入到API网关层,由网关层统一接入和输出。一个网关的基本功能有:统一接入、安全防护、协议适配、流量管控、长短链接支持、容错能力。有了网关之后,各个API服务提供团队可以专注于自己的的业务逻辑处理,而API网关更专注于安全、流量、路由等问题。

2.4 服务容错

在微服务当中,一个请求经常会涉及到调用几个服务,如果其中某个服务不可用,没有做服务容错的话,极有可能会造成一连串的服务不可用,这就是雪崩效应。

2.5 链路跟踪

随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要对一次请求涉及的多个服务链路进行日志记录,性能监控即链路追踪。

3、Spring Cloud

Spring Cloud是微服务架构的一站式解决方案,它不是一个框架,而是一
组框架的集合,并基于Spring的设计理念,在SpringBoot的基础上轻松地
实现微服务项目的构建。
Spring Cloud相关框架
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值