![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20200617155300612.png)
单体应用存在的问题:
随着业务的发展,开发变得越来越复杂。
修改,新增某个功能,需要对整个系统进行测试,重新部署
一个模块出现问题,很可能导致整个系统崩溃
多个开发团队同时对数据进行管理,容易产生安全漏洞
多个模块使用同一种技术进行开发,很难根据实际情况选择更合适的技术框架,局限性
很大。
模块内容过于复杂,如果有员工离职,可能需要很长时间才能完成工作交接。
集群:一台服务器无法负荷高并发的数据访问,那么就设置多台服务器一起风压(物理层面)
,很多人来干同一件事情,来分压力。
分布式:将一个复杂的问题,拆分成多个简单的小问题,将一个大型的项目架构拆分成若干微服务
来协调完成(软件设计层面),将一个庞大的工作拆分成若干个小步骤,分别由不同的人完成这些小事情,最终将所有的结果进行整合实现大的需求。
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20200617155320911.png)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20200617155332512.png)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20200617155344547.png)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20200617155353522.png)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20200617155406250.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0OTY5NjQz,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20200617155418385.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0OTY5NjQz,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20200617155427504.png)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20200617155438121.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0OTY5NjQz,size_16,color_FFFFFF,t_70)
**Spring Cloud
服务治理:Eureka
服务通信:Ribbon
服务通信:Feign
服务网关:Zuul
服务容错:Hystrix
服务配置:Config
服务监控:Actuator
服务跟踪:Zipkin**
## 一,微服务治理
**服务治理**的核心又分三部分组成:服务提供者、服务消费者、注册中心。
在分布式系统中,每个微服务启动时,将自己的信息存储在注册中心,叫做服务注册。
服务消费者从注册中心获取服务提供者的网络信息,通过该信息调用服务,叫做服务发现。
Spring Cloud 的服务治理使用Eureka来实现,Eureka是Netflix开源的基于REST的服务治理的解决方案,SpringCloud集成了Eureka,提供服务注册和服务发现的功能,可以和基于Spring Boot搭建的微服务应用轻松完成整合,开箱即用,Spring Cloud Eureka。
**Spirng Cloud Eureka**
Eureka Serve,注册中心
Eureka Client,所有要进行注册的微服务通过Eureka Client连接到Eureka Serve,完成注册。