在微服务架构中,业务被分为一个个微小的服务,服务和服务之间可以相互调用(RPC),为保证高可用性,单个服务通常会集群部署,由于网络或者其他众多原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会陷入线程阻塞的状态,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。为了解决这个问题,业界提出了”断路器”模型。
初识SpringCloud|第三篇|Feign
服务消费者还有一种落地实现是Feign,Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果,并且整合了Hystrix,具有熔断的能力。
初识SpringCloud|第二篇|Ribbon
在微服务架构中,业务被拆分成一个个独立的服务,各个服务之间一般通过Restful Api进行通讯。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。
初识SpringCloud|第一篇|Eureka
SpringCloud是微服务的一站式解决方案,为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。
关于微服务一直只是观看过一些资料有一些了解,还没真正动手过,观看和学习了CSDN大牛方志朋的SpringCloud教程博客之后才有的这一次Demo。本次SpringBoot的版本为2.0.3.RELEASE,SpringCloud的版本为 Finchley.RELEASE。
SpringBoot配置静态资源映射
SpringBoot打包成jar项目时,HTML页面和CSS等静态资源得放置目录是由规定的。开发中一些需要上传的资源如图片,通常我们会配置资源映射,将其存放在服务器的某个文件夹下。
浅谈SpringBoot整合Shiro
Shiro是一个简单的安全框架,主要功能有认证,授权,加密,会话管理,Web集成,缓存等。对比起来Spring Security,可能没有Spring Security功能强大,但是在实际工作中并不需要那么复杂的东西,所以简单的Shrio对于我们来说就足够了。
这一次我们只谈谈简单使用,包括认证和授权,不考虑其源码和深层次的东西。我也只是第一次使用测试,想做个记录,有很多不足之处还望谅解。
Hexo实现个人技术博客
Hexo(中文官方网站)是一个快速,简洁且高效的博客框架,让上百个页面在几秒内瞬间完成渲染。 Hexo
支持Github Flavored Markdown
的所有功能, 甚至可以整合Octopress
的大多数插件。 并自己也拥有强大的插件系统。