使用Spring Boot开发微服务的过程中,我们会使用别人提供的接口,也会设计接口给别人使用,这时候微服务应用之间的协作就需要有一定的规范。如果基于rpc协议,我们一般有两种思路:(1)提供服务的应用统一将异常包起来,然后用错误码交互;(2)提供服务的应用将运行时异常抛出,抛出自定义的业务异常,服务的调用者通过异常catch来处理异常情况。如果基于HTTP协议,那么最流行的就是RESTful协议,服务提供方会自己处理所有异常,并且返回的结果中会跟HTTP的状态码相结合,这篇文章我们就用一个例子来说明RESTful接口的错误处理如何做。
Spring Boot项目中使用事件派发器模式
在项目开发中,会遇到如下情形:我们自己的服务订阅、接收来自消息队列或者客户端的事件和请求,基于不同的事件采取对应的行动,这种情况下适合应用派发器模式。
基于微服务的软件架构模式
微服务(micro services)这个概念不是新概念,很多公司已经在实践了,例如亚马逊、Google、FaceBook,Alibaba。微服务架构模式(Microservices Architecture Pattern)的目的是将大型的、复杂的、长期运行的应用程序构建为一组相互配合的服务,每个服务都可以很容易得局部改良。 Micro这个词意味着每个服务都应该足够小,但是,这里的小不能用代码量来比较,而应该是从业务逻辑上比较——符合SRP原则的才叫微服务。
Spring中bean的scope
Spring容器中的bean具备不同的scope,最开始只有singleton和prototype,但是在2.0之后,又引入了三种类型:request、session和global session,不过这三种类型只能在Web应用中使用。
Spring Boot整合Mongodb提供Restful接口
为什么是mongodb? 继续之前的dailyReport项目,今天的任务是选择mongogdb作为持久化存储 […]
Spring Boot项目中如何定制HTTP消息转换器
Spring Boot底层通过HttpMessageConverters和Jackson库将Java实体类输出为JSON格式。Spring Boot提供了多种方法完成同样的任务,选择哪个取决于我们更侧重便捷性还是更侧重可定制性。
类加载器的双亲委派模型
这篇文章我们复习了类加载器的双亲委派模型、双亲委派模型的工作过程,以及打破双亲委派模型的必要性和源码分析。在第一部分的结尾,我们还演示了Arthas中关于类加载器的命令的用法,在实际排查问题时可以考虑使用。
Spring Boot的@PropertySource注解在整合Redis中的使用
本文展示了SpringBoot和Redis的整合使用方法,以及如何利用PropertySource注解获取静态配置
了解Spring Boot的自动配置
本文首发于公众号:javaadu Spring Boot的自动配置给开发者带来了很大的便利,当开发人员在pom […]
Spring Boot的自动配置、Command-line-Runner
本文的主要内容是start.spring.io的使用、Spring Boot的自动配置以及CommandRunner的角色和应用场景