单体应用存在的问题
● 随着业务的发展,开发变得越来越复杂。
● 修改、新增某个功能,需要对整个系统进行测试,重新部署。
● 一个模块出现问题,很可能导致整个系统崩溃。
● 多个开发团队同时对数据进行管理,容易产生安全漏洞。
● 各个模块使用同一种技术进行开发,各个模块很难根据实际情况选择更合适的技术框架,局限性很大。
● 模块内容过于复杂,如果员工离职,可能需要很长时间才能完成工作交接。
分布式、集群
集群:一台服务器无法负荷高并发的数据访问量,那么就设置十台服务器一起分担压力,十台不行就设置一百台(物理层面)。很多人干 同一件事,来分摊压力。
分布式:将一个复杂问题拆分成若干个简单的小问题,将一个大型的项目架构拆分成若干个微服务来协同完成。
(软件设计层面)。将一个庞大的工作拆分成若干个小步骤,分别由不同的人完成这些小步骤,最终将所有的结果进行整合实现大的需求。
服务治理的核心有三部分组成:服务提供者、服务消费者、注册中心。
在分布式系统架构中,每个微服务在启动时,将自己的信息存储在注册中心,叫做服务注册。
服务消费者从注册中心获取服务提供者的网络信息,通过该信息调用服务,叫做服务发现。
Spring Cloud 的服务治理使用Eureka来实现,Eureka是Netflix开源的基于REST的服务治理解决方案,Spring Cloud 集成了
Eureka,提供服务注册和服务发现的功能,可以和基于Spring Boot 搭建的微服务应用轻松完成整合,开箱即用,Spring Cloud Eureka。
Spring Cloud Eureka
● Eureka Server,注册中心
● Eureka Client,所有要进行注册的微服务通过Eureka Client连接到Eureka Server,完成注册。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。