微服务:简单的说就是把原来的一个系统按照功能模块拆分成一个个小系统,每个小系统之间通过http等协议去通信。每个模块系统都维护着自身的业务数据和能够独立部署。
比单体的优势是啥:一个项目,分成数据库,服务层,展示层。项目开始的时候在一个系统里面全部实现,开发,部署比较简单。随着系统的不断扩大,需要不断地加服务器。每次改动一个小地方,部署成了问题。能不能改动一个地方,不影响其他的服务呢。微服务概念就出来了。
SpringCloud
SpringCloud是基于SpringBoot实现的微服务架构开发工具。他为微服务架构中设计的配置管理、服务治理,断路器,智能路由,微代理,控制总线,全局锁,决策竞选,分布式会话和集群状态管理等操作提供了一种简单的开发方式。
SpringCloud的主要目录
- 基础:SpringBoot
- 服务治理:SpringCloud Eureka
- 客户端负载均衡: SpringCloud Ribbon
- 服务容错:SpringCloud Hystrix
- 声明式服务调用:SpringCloud Feign
- API服务网关:SpringCloud Zuul
- 分布式配置中心:SpringCloud Config
- 消息总线:SpringCloud Bus
- 消息驱动的微服务:SpringCloud Stream
- 分布式服务跟踪:SpringCloud Sleuth
摘自:《SpringCloud微服务实战》
但是学习就得参考: http://blog.csdn.net/forezp/article/details/70148833 这个讲解清楚,代码也够细