logo头像

专业java web开发!

springcloud微服务七:网关zuul

springcloud微服务七:网关zuul

理解网关概念根据我个人的理解,对于一个系统来说,不管是微服务架构还是非微服务架构,如果单从功能实现来说,网关其实不是必要的。但是,如果一个系统的业务涉及到了和外部网络的交互,多数情况下都会加入网关功能,最根源的目的就是提升系统的网络安全性。因此网关可以理解为是在大的系统架构层面,一个网络策略方面的东西,最基本的需求就是实现请求的路由转发。…

springcloud微服务六:声明式服务调用Feign

在有了eureka服务注册中心、ribbon负载均衡及服务消费、hystrix断路器三部分之后,其实在某种程度上就应该能够创建一个基本的spring cloud微服务应用了,只不过这种应用无论是代码层面还是架构层面都还有一定的缺陷。从代码层面来讲,ribbon和hystrix是一个标准化springcloud应用最基本的模块,通常也都是同时出现的,因此为了简化开发,有一个更高层次的工具来对他们进行了封装整合,这就是Feign。feign在整合了这两者强大功能的同时,还提供了一种声明式的web服务客户端定义方式及可插拔式的注解,同时支持spring mvc的注解。在ribbon和hystrix的基础上,feign看起来就比较简单。…

springcloud微服务五:客户端负载均衡ribbon

基本概念理解ribbon用在客户端,或者说消费端,被称作客户端负载均衡。对于这个称呼,可以解析为三个部分,一个是客户端,一个是负载均衡,然后就是客户端负载均衡。根据个人理解,所有发起请求的一端、去拿东西的一端,都可以称之为客户端或消费端。而负载均衡,一般则是针对于至少两个以上的集群而言,重点在于均衡。从相对论的角度而言,一切都是相对的,那么也就不存在绝对的均衡,因此所谓的均衡就需要一定的标准,如何达到这个标准,则需要一定的控制,即负载均衡策略,也可以称之为规则。对于客户端负载均衡,则可以很好的理解为,这是相对于服务端负载均衡而言。相对于服务端负载均衡而言,客户端负载均衡的好处就在于各个客户端自己实现负载均衡运算,从而降低了服务端的压力。坏处在于客户端要自己实现负载,就需要清楚服务端集群的状态,增加了客户端的复杂度以及多个客户端下可能看起来的功能冗余。…

mysql常用操作语法(十五)~~触发器

理解mysql触发器的概念,从某种程度来说,比较像java中的aop。也就是根据一定的规则,拦截某一类情况,然后在适当的时机(before/after)执行一些其他的逻辑。个人觉得,这是个比较好理解的概念和场景。同时,在存储过程之后再来看这个功能,那么它的使用也同样很简单。…