SaaS运营架构,java spring框架
牛旦教育IT教室2019-04-02 07:12:00
Spring Cloud的整体核心架构只有一个,在Rest服务,也就是Spring Cloud的配置过程中,所有的配置处理都是围绕Rest完成的,在这个Rest处理中,一定要有服务提供者(Provider )、
SpringCloud基础架构
既然Spring Cloud的核心是Rest风格的结构,那么为了更好地利用Rest等微服务,还需要考虑以下问题。
1、所有微服务的地址一定会非常多,为了统一管理这些地址信息,也应该准备分散的注册中心,及时告诉用户哪些服务不可用,该注册中心支持HA机制
微服务结构图
2、对于整个的WEB端的构架(实现spring boot )可以方便地编写WEB程序,然后利用Nginx或Apache实现负载均衡处理,(如果你的WEB端出现负载均衡)
多业务端-负载平衡
如果客户端使用Rest架构进行调用,则往往需要调用地址。 即使当前使用Eureka作为注册中心,也需要明确的呼叫地址。 但是,如果所有操作都以调用地址方式处理,则程序开发人员最方便的工具是接口,因此他们希望能够以接口方式调用所有Rest服务的内容,并提供了Feign技术
费因
3、在进行整体微体系结构设计时,相关问题还是RPC,必须考虑熔断处理机制。 事实上,所有的熔断就像在生活中使用保险丝一样。 有了保险丝,一些设备发生故障后也能保护家庭的电器可以正常使用。 如果现在有几个微服务并且可以在它们之间相互调用,例如a微服务调用b微服务,b微服务调用c微服务。
在实际项目设计过程中,如果不处理好熔断机制,就会出现雪崩效应,因此为了防止出现这种问题,SpringCloud配备了Hystrix熔断处理机制,即使出现某些微服务问题也可以正常使用
Hystrix熔断处理
4、微服务接入时,另一个非常可怕。
zul代理的工作原理
业务端使用户只需知道指定路由的路径即可访问指定微服务的信息,从而更好地挖掘java中“key=value”的设计思想,实现所有微服务的信息
5、在SpringBoot学习的时候,强调了一个问题。 SpringBoot强调的是“零配置”概念,本质上不需要配置文件。 但是,实际上这一点并没有完全实现。 因为在整个实际中,仍然提供了application.yml部署文件。 例如,微服务,现在突然您的主机进行机房更改,所有服务的IP地址都可能发生变化。 这对于程序的维护非常不方便。 为了解决这些问题,可以在设计Spring Cloud时使用?此组件直接基于GIT或SVN管理配置式。
Spring Cloud配置
在整体设计中,Spring Cloud更好地实现了RPC的体系结构设计,而且使用Rest作为通信的基础,这是他的成功之处。 由于大量使用了netflix公司的产品技术,这些技术也有可靠的保证。