微服务介绍

微服务是一种架构风格(千万别理解成微服务就是一种组件、框架)。由一系列微小的服务共同组成,跑在自己的进程里,每个服务为独立的业务开发,独立部署,分布式的管理。

一.架构演进

  • 单一应用架构
  • 垂直应用架构
  • 分布式服务架构
  • 流动计算架构
1.单体架构
  • 什么是单体架构?简单理解就是最终打成一个war包的就是单体架构。
  • 单体架构的优点
    • 容易测试,在本地可以启动完整系统
    • 容易部署,直接打成war包放到Web容器中就可以运行
  • 单体架构的缺点
    • 开发效率低,所有开发人员提交到一个代码上会导致开发人员互相等待,或者代码冲突
    • 代码维护难,尤其是新人来的时候,代码都写到一起,新人不知该如何下手
    • 部署不够灵活,构建时间特别长,有任何代码的修改需要构建整个项目
    • 稳定性不高,一个小问题会让整个系统挂掉
    • 扩展性不够,无法满足高并发的业务需求(如在单体架构中,有两个模块一个是商品详情页面,一个是商品购买页面,详情页的访问并发需要高于购买页,这在单体架构的应用中很难实现;但微服务中,两个模块独立部署,将详情服务部署到十台服务器,购买服务部署到五台服务器,就很容易做到这一点)
2.分布式架构
  • 什么是分布式架构?旨在支持应用程序和服务的开发,可以利用物理架构由多个自治的处理元素,不共享主内存,但通过网络发送消息合作。
    • 多个自治的处理元素:即多节点(分布式系统和集群都是多节点的)。那么如何理解分布式和集群呢?厨房里面有两个厨师,一个洗菜,一个炒菜,互不干扰,称为分布式;如果两个都炒菜成为集群。

二.微服务介绍

1.微服务架构的基础框架/组件
  • 服务注册发现
  • 服务网关(Service Gateway)[对用户进行控制,如用户认证、反爬虫等等]
  • 后端通用服务(也称中间层服务Middle Tier Service)[后端服务在启动时可以将地址信息注册到服务注册表中]
  • 前端服务(也称边缘服务Edge Service)[查询注册表,发现并调用后端服务;主要作用在于对后端服务进行聚合(对多个API调用逻辑进行聚合,从而减少客户端的请求数)和裁剪(根据不同的需求返回不同的数据)后,暴露给外部不同设备]【聚合和裁剪都是前端服务来做的】
2.国内微服务两大配方
  • 阿里系
    • Dubbo:进行服务化治理
    • Zookeeper:做服务注册中心
    • SpringMVC or SpringBoot
  • SpringCloud栈
    • Spring Cloud Netflix Eureka
    • Spring Boot
3.SpringCloud是什么
  • SpringCloud是一个开发工具集,含有多个子项目
    • 利用SpringBoot的开发便利性实现了很多功能,如服务注册与发现、负载均衡、数据监控、RestfulAPI发布等等
    • 主要是基于对Netflix开源组件的进一步封装(Netflix是公认的大规模生产级微服务做的最杰出的实践者)
  • 最大的作用:简化了分布式开发
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值