首页天道酬勤springcloud开源项目,搭建springcloud架构

springcloud开源项目,搭建springcloud架构

张世龙 05-06 07:26 131次浏览

Spring Cloud的整体核心架构只有一个,在Rest服务,也就是Spring Cloud的配置过程中,所有的配置处理都是围绕Rest完成的,在这个Rest处理中,一定要有服务提供者(Provider )、

SpringCloud基础架构

既然Spring Cloud的核心是Rest风格的结构,那么为了更好地利用Rest等微服务,还需要考虑以下问题。

1、所有微服务的地址一定会非常多,为了统一管理这些地址信息,也应该准备分散的注册中心,及时告诉用户哪些服务不可用,该注册中心支持HA机制

微服务结构图

2、可以对整个WEB端的框架(SpringBoot实现)简单方便地编写WEB程序,然后利用Nginx或Apache实现负载均衡处理,但是你的WEB端发生负载均衡时,业务端会怎么样还必须提供多个业务端以平衡负载。 在这种情况下,所有需要参与负载平衡的业务端都必须在Eureka中注册。

多业务端-负载均衡

如果客户端使用Rest架构进行调用,则往往需要调用地址。 即使当前使用Eureka作为注册中心,也需要明确的呼叫地址。 但是,如果所有操作都以调用地址方式处理,则程序开发人员最方便的工具是接口,因此他们希望能够以接口方式调用所有Rest服务的内容,并提供了Feign技术

Feign

3、在进行整体微体系结构设计时,相关问题还是RPC,必须考虑熔断处理机制。 事实上,所有的熔断就像在生活中使用保险丝一样。 有了保险丝,一些设备发生故障后也能保护家庭的电器可以正常使用。 如果现在有几个微服务并且可以在它们之间相互调用,例如a微服务调用b微服务,b微服务调用c微服务。

在实际项目设计过程中,如果不处理好熔断机制,就会出现雪崩效应,因此为了防止出现这种问题,SpringCloud配备了Hystrix熔断处理机制,即使出现某些微服务问题也可以正常使用

Hystrix熔断处理

4、微服务接入时,另一个非常可怕。

Zuul代理机制

通过Zuul的代理用户只需知道指定路由的路径,就可以访问指定微服务的信息。 这样可以更好地挖掘java中“key=value”的设计思想,并在通过Zuul代理所有微服务后更合理地隐藏名称。

5、在SpringBoot学习的时候,强调了一个问题。 SpringBoot强调的是“零配置”概念,本质上不需要配置文件。 但是,实际上这一点并没有完全实现。 因为在整个实际中,仍然提供了application.yml部署文件。 微服务例如,现在突然您的主机进行机房更改,所有服务的IP地址都可能发生变化。 这对于程序的维护非常不方便。 为了解决这些问题,您可以在设计Spring Cloud时提供Spring Cloud Config的程序组件,并直接基于GIT或SVN管理配置文件。

Spring Cloud Config

在整体设计中,Spring Cloud更好地实现了RPC的体系结构设计,而且使用Rest作为通信的基础,这是他的成功之处。 由于大量使用了netflix公司的产品技术,这些技术也有可靠的保证。

我们的公众号Spring专题有几个Spring Cloud实战教程,在Java技术堆栈知识星内也发布了很多Spring Cloud学习教程,我们期待您的加入。

推荐去我的博客阅读更多:

1.Java JVM、收藏、多线程、新功能系列教程

2.Spring MVC、Spring Boot和Spring Cloud系列教程

3.Maven、Git、Eclipse和Intellij IDEA系列工具教程

4.Java、后端、架构、阿里巴巴等大厂商的最新问题

我觉得很好。 好啊,别忘了转发哦。

springcloud开源项目,阿里巴巴业务架构图