抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

概念

基本定义

  • 微服务就是一些协同工作的小而自治的服务

服务注册与发现

  • 微服务之间互相调用,服务发现需要管理各个服务的服务器地址,当进行扩容或摘除时能及时更新

服务监控

  • 监控、日志、调用链、告警通知、健康检查

服务容错

  • 熔断
  • 切换
  • 限流和降级
  • 重试

服务安全

  • 敏感服务进行身份验证和授权

    • HTTPS传输
    • 隐私数据加密存储

服务治理

  • 引入微服务框架

相比单体架构

优点

  • 技术异构性

    • 不同服务内部可以选择不同的语言开发,也可以选择适合各自服务的数据库(MySQL、Redis)
  • 隔离性

    • 一个服务不可用不会导致整个系统或其他服务不可用,各个服务相互独立的
  • 可扩展性

    • 可以只对影响性能的瓶颈资源进行扩展升级
  • 简化部署

    • 单个服务的修改迭代只需要发步自己的改动
  • 易优化

    • 代码量不会很大,重构相对容易且改动带来的影响可控

缺点

  • 管理复杂
  • 难定位问题

微服务框架

Dubbo

  • 阿里
  • 仅支持Java语言

Tars

  • 腾讯
  • 仅支持C++语言

Motan

  • 微博
  • 仅支持Java

gRPC

  • 谷歌
  • 支持多种语言

thrift

  • Facebook
  • 支持多种语言

微服务框架和RPC

RPC(Remote Procedure Call)

  • 允许像调用本地函数一样调用另一个程序的函数(C/S模式)

微服务框架

  • 微服务框架一般都包含了RPC的实现和一系列的服务治理能力,是一套软件开发框架,可以基于这个框架实现自己的服务,方便的利用框架提供的服务治理和RPC能力,微服务框架也被某些人称为RPC框架

下一代微服务架构

服务网格(Service Mesh)

  • 特点

    • 应用程序间通讯中间层
    • 轻量级网络代理
    • 应用程序无感知
    • 解耦应用程序的重试/超时、监控、追踪和服务发现
  • Service Mesh之于微服务,类似TCP/IP之于网络通信

【参考资料】知乎:微服务架构是什么?

评论