微服务SpringCloud

特点

  • 一系列微小的服务共同组成
  • 跑在自己的进程里
  • 每个服务为独立的业务开发
  • 独立部署
  • 分布式管理

与单体架构的区别

单体架构特点

  • 所有的功能都打包在一个WAR包中
  • 基本上没有外部依赖
  • 部署在一个WEB容器中,例如tomcat,jetty
  • 共用一个数据库DB

单体架构的优点

  • 容易测试,在本地就可以启动完整的系统,不需要外部依赖
  • 容易部署,直接打成一个WAR包,放到容器下就可以运行

单体架构的缺点

  • 开发效率低,所有人员在一个项目开发
  • 代码维护难,新人一来不知道从何下手
  • 部署不够灵活,构件时间长,有任何代码修改,都需要重新修改
  • 稳定性不高,微不足道的小问题都可能挂掉整个系统
  • 扩展性不够,无法满足高并发情况下的业务需求。有时需要对不同的业务提供分布式的性能需求,可以对某个服务部署更高的性能

微服务架构的基础框架/组件

服务注册与发现

服务提供方需要进行注册,服务调用方从组件中发现目标服务

服务网关

  • 连接内外的大门,对外屏蔽后台实现细节,例如后台程序的升级对用户无感知;
  • 可以将请求路由到具体的某个微服务;
  • 还可以做限流和容错的功能,因为所有的请求都要经过网关;
  • 还可以进行监控与日志
  • 对用户进行控制,比如反爬虫,认证等。

后端通用服务(也称中间层服务Middle Tier Service)

启动时,会将地址信息注册到注册中心中

前端服务(也称边缘服务Edge Service)

前端服务通过查询注册表,发现和调用后端服务。主要是对后端服务做必要的聚合(对多个API调用逻辑进行聚合,从而减少客户端的请求数,合二为一)与裁剪后,暴露给外部不同的设备。

聚合 举例:客户端请求两个API,其中一个API获取用户信息(身高,年龄),另一个API获取用户收货地址。这两个API都是由后端服务提供的,如果客户端直接调用就需要调用两次,这时如果使用前端服务将这两次调用进行聚合,作为一个API提供出去,这时客户端只需要调用前端服务的一个接口,就可以了。
裁剪 举例:根据不同的需求返回不同的数据。例如都是商品详情的存档,如果是PC端那么详情内容丰富,如果是手机端,那么详情就没有那么丰富了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值