什么是微服务架构

  微服务架构就是系统架构设计的一种风格,它主旨将一个独立的系统,拆分成各个微服务,各个微服务独立运行,他们之间通过Http的Restful API进行通信,拆分出来的微服务是根据原系统高耦合部分进行构建(之后会单独讲解如何拆分微服务),每个微服务都有自己的数据存储(涉及到分布式事务的处理,之后会有讲解)、独立部署,由于轻量级的通讯协议,微服务可以使用不同的语言来开发。 

单体式应用的区别

  以往的传统架构,我们会针对一个业务进行构建一个单体项目,主要分为数据、服务端、客户端,在业务初期往往开发、测试、部署等相对比较简单,但是经过不断的更新迭代之后会发现这个单体应用汇很臃肿,并且耦合度极高,可能修改一处代码会牵扯到很多地方的修改,缺点慢慢就暴露出来了,维护成本也会越来越大,且开发不容上手。

  微服务就解决了这个单体应用臃肿难以维护的问题,我们可以将不同的功能模块进行拆分,拆分出一个一个微服务,可独立部署和扩展,部署一个微服务不会影响到其他微服务的运行,实现了高内聚、低耦合,我们也可以更准确的去发现系统的性能瓶颈

SpringCloud

  SpringCloud是一个基于SpringBoot实现的微服务架构开发工具,它为微服务中的服务治理、配置管理、智能路由、分布式会话、集群状态等提供了一个简单的开发方式。

  SpringCloud包含多个组件:

    SpringCloud Netflix:核心组件,对多个Netflix OSS开源套件进行整合。

      Eureka:服务治理组件,包含服务注册中心,服务注册与发现的实现。

      Hystrix:断路由,帮助服务依赖中出现延迟和故障时提供强大的容错机制。

      Ribbon:客户端负载均衡组件。

      Feign:基于Ribbon和Hystrix的声明式服务调用组件,一般用于服务之间相互调用。

      Zuul:网关,智能路由、智能过滤等功能。

      Archaius:外部化配置组件。

    SpringCloud Config:配置中心,可实现配置外部化存储,支持使用SVN、GIT存储配置,并支持配置刷新功能。

    SpringCloud Bus:消息总线,用于传播集群中各微服务的状态变化,比如可以实现动态刷新配置

    SpringCloud Stream:通过Kafka、Redis、MQ、可以实现消费微服务,通过简单的模型就可实现发送和消费

    SpringCloud Sleuth:链路追踪组件,可实现分布式跟踪,方便定位问题等

    还有很多组件这里就不一一介绍了

SpringCloud是基于SpringBoot搭建的,所以大家要对SpringBoot有一定的掌握

最新文章

  1. System.Guid ToString五中格式
  2. 使用Python和Perl绘制北京跑步地图
  3. vmware安装linux6.3
  4. Twain头文件
  5. this指向问题
  6. mysql 权限控制
  7. SQL Server Object Explorer in VS
  8. C语言指针类型 强制转换
  9. 用友U8.70安装说明
  10. 原生javascript实现网页显示日期时钟效果
  11. 移动APP测试方法总结
  12. 基于跳跃表的 ConcurrentSkipListMap 内部实现(Java 8)
  13. 系列博文-Three.js入门指南(张雯莉)-网格 setInterval方法 requestAnimationFrame方法 使用stat.js记录FPS
  14. Cocos Creator 资源加载流程剖析【一】——cc.loader与加载管线
  15. 纯CSS实现点击事件展现隐藏div菜单列表/元素切换
  16. Python 3 进阶 —— print 打印和输出
  17. 20145215《网络对抗》Exp7 网络欺诈技术防范
  18. 二、springcloud之熔断器hystrix
  19. 按需引入antd报错问题
  20. 采用Filter的方法解决HttpServletRequest.getParameter乱码的问题

热门文章

  1. Python-Jenkins API使用
  2. POJ 1064---二分搜索法
  3. linux基础(2)
  4. NOIP2005过河(青蛙过河)
  5. SHOI 2007 仙人掌图(BZOJ 1023)
  6. 【Codeforces】849D. Rooter's Song
  7. 爆破phpmyadmin小脚本
  8. Linux中短横线(-)小记
  9. linux下检测可用串口并使用minicom打开(改进版)
  10. 转载:超级强大的vim配置(vimplus)--续集