上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: 曾经参数的验证是这样的: 随着参数的增加,格式的变化,校验数据有效性的代码愈发繁琐。 通过Spring boot来完成参数数据校验。 JSR-303注解介绍 这里只列举了javax.validation包下的注解,同理在spring-boot-starter-web包种也存在hibernate-va 阅读全文
posted @ 2018-06-15 15:17 海盗船长 阅读(864) 评论(0) 推荐(0) 编辑
摘要: 文件上传 上传文件和下载文件是Java Web中常见的一种操作,文件上传主要是将文件通过IO流传输到服务器的某一个文件夹下。 导入依赖 在pom.xml中添加上spring-boot-starter-web和spring-boot-starter-thymeleaf的依赖 配置文件 默认情况下SPr 阅读全文
posted @ 2018-06-15 12:19 海盗船长 阅读(736) 评论(3) 推荐(0) 编辑
摘要: 使用场景:数据定时增量同步,定时发送邮件,爬虫定时抓取 定时任务概述 定时任务:顾名思义就是在特定/指 定的时间进行工作,比如我们的手机闹钟,他就是一种定时的任务。 实现方式: 1.Timer:JDK自带的java.util.Timer;通过调度java.util.TimerTask的方式 让程序按 阅读全文
posted @ 2018-06-14 17:35 海盗船长 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 在上一篇中,通过restful api的方式查看信息过于繁琐,也不直观,效率低下。当服务过多的时候看起来就过于麻烦,每个服务都需要调用不同的接口来查看监控信息。 SBA SBA全称spring boot admin 是一个管理和监控spring boot 应用程序的开源项目,分为admin-serv 阅读全文
posted @ 2018-06-14 16:54 海盗船长 阅读(3306) 评论(0) 推荐(0) 编辑
摘要: actuaotr是spring boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,针对微服务而言它是必不可少的一个环节。 Endpoints actuator的核心部分,它用来监视应用程序及交互,spring-boot- 阅读全文
posted @ 2018-06-14 16:07 海盗船长 阅读(36495) 评论(0) 推荐(0) 编辑
摘要: Java 8 是Java 自Java 5(2004年)之后的最重要的版本,这个版本包含语言、编译器、库、工具盒JVM等方面的十多个新特性。 Java语言的新特性 1.Lambda表达式和函数式接口 Lambda表达式(也称为闭包)是java 8中最令人期待的语言改变。它允许我们将函数当成参数传递给某 阅读全文
posted @ 2018-06-13 16:30 海盗船长 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 延迟消息就是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费。 延迟队列 订单业务: 在电商/点餐中,都有下单后30分钟内没有付款,就自动取消订单。 短信通知:下单成功后60s之后给用户发送短信通知。 失败重试:业务操作失败后,间隔一定的时间进行失败重 阅读全文
posted @ 2018-06-13 15:08 海盗船长 阅读(637) 评论(0) 推荐(1) 编辑
摘要: MQ全程(Message Queue)又名消息队列,是一种异步通讯的中间件。可以理解为邮局,发送者将消息投递到邮局,然后邮局帮我们发送给具体的接收者,具体发送过程和时间与我们无关,常见的MQ又kafka、activemq、zeromq、rabbitmq等等。 RabbitMQ RabbitMQ是一个 阅读全文
posted @ 2018-06-13 12:03 海盗船长 阅读(907) 评论(0) 推荐(0) 编辑
摘要: 前面都是本地服务器,如果需要远程环境运行一个方法,等待结果。这种模式称为远程过程调用或者RPC。 使用Rabbit搭建一个RPC系统,一个客户端和一个扩展的RPC服务器。 Callback queue 一般做RPC在RabbitMQ中是比较容易的,一个客户端发送一个请求信息和一个响应信息的服务器回复 阅读全文
posted @ 2018-06-13 11:01 海盗船长 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 第三种模式:发布/订阅 一对多 每个消费者监听各自的队列 消息来了每个一个消费者 都可以收到 在订阅模式中,多了一个交换机 Exchange角色,而且过程略有变化。 P:生产者,发送消息的程序,但是不再发送到队列中,而是发给交换机。 Queue:消息队列,接收消息、缓存消息。 Exchange:交换 阅读全文
posted @ 2018-06-13 10:12 海盗船长 阅读(1642) 评论(0) 推荐(0) 编辑
摘要: 第一种模式:简单模式 一对一 如图:P代表生产者(要发送消息的程序),C代表消费者(会一直等待消息到来),红色部分为消息队列(类似邮箱,可以缓存消息,生产者向其中投递消息,消费者从中取出消息) 一、编写消费者代码 1.首先创建一个maven项目,然后导入rabbitMQjar包 <?xml vers 阅读全文
posted @ 2018-06-12 12:09 海盗船长 阅读(985) 评论(0) 推荐(0) 编辑
摘要: 什么是MQ? MQ 全程 Message Queue 消息队列,message是消息,queue是容器,消息队列就是传输过程中保存消息的容器。多用于分布式系统之间进行通信。 直接通信, A系统(生产者) -> MQ(中间件) -> B系统(消费者) MQ的优势 1.应用解耦:高内聚 低耦合,使用MQ 阅读全文
posted @ 2018-06-11 18:20 海盗船长 阅读(547) 评论(0) 推荐(0) 编辑
摘要: Spring 3.1引入了基于注解(annotation)的缓存(cache)技术,它本质不是一个具体的缓存实现方案,而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的个助攻annotation,就能够达到缓存方法的返回对象的效果。 特点 具备相当好的灵活性,不仅能够使用SpEL来定义缓存的 阅读全文
posted @ 2018-06-08 18:12 海盗船长 阅读(497) 评论(0) 推荐(0) 编辑
摘要: Spring Boot除了支持常见的ORM框架外,更是对常用的中间件提供了非常好的封装,随着SpringBoot2.x的到来,支持的组件也越来越丰富,也越来越成熟,其中对Redis的支持不仅仅是它丰富的API,更是替换掉了底层Jedis的依赖,取而代之的是Lettuce。 Redis Redis是一 阅读全文
posted @ 2018-06-08 16:38 海盗船长 阅读(7253) 评论(3) 推荐(1) 编辑
摘要: Spring Cloud Zuul作为网关所具备的最基本的功能:路由,还具备另外一个核心的功能:过滤器。 过滤器 通过Spring Cloud Zuul实现的路由功能,我们的微服务可以通过统一的API网关入口被客户端访问到了。但是他们的访问权限往往都需要一定的限制,系统并不会将所有的微服务接口都对他 阅读全文
posted @ 2018-06-07 13:56 海盗船长 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 传统路由配置 所谓传统路由配置方式就是在不依赖于服务发现机制情况下,通过在配置文件中具体制定每个路由表达式与服务实例的映射关系来实现API网关对外部请求的路由。没有Eureka服务治理框架帮助的时候,我们需要根据服务实例的数量采用不同方式的配置来实现路由规则: 单实例配置:通过一组zuul.rout 阅读全文
posted @ 2018-06-07 12:36 海盗船长 阅读(2038) 评论(0) 推荐(0) 编辑
摘要: 通过前几篇介绍,已经可以构建一个简单的微服务架构了,如下图: 通过eureka实现服务注册中心以及服务注册发现,通过ribbon或feign实现服务的消费以及负载均衡,通过spring cloud config实现了应用多环境的外部配置以及版本管理。为了集群更为健壮使用了Hystrix的隔断机制来避 阅读全文
posted @ 2018-06-07 10:51 海盗船长 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 上一篇利用Hystrix Dashboard去监控断路器的Hystrix command,当我们有很多服务的时候,就需要聚合所有服务的Hystrix Dashboard数据了,这就需要Hystrix Turbine了。 Hystrix Turbine 看单个的Hystrix Dashboard的数据 阅读全文
posted @ 2018-06-06 17:39 海盗船长 阅读(246) 评论(0) 推荐(0) 编辑
摘要: Hystrix DashBoard 断路器是根据一段时间窗内的请求状况来判断并操作断路器的打开和关闭状态的。Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图形化界面。 这里使用第一篇创建的david-client项目,在pom.xml中添加相应的依赖: 在启动 阅读全文
posted @ 2018-06-06 17:03 海盗船长 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 断路器 断路器本身是一种开关装置,用于在电路上保护线路过载,当线路中又电路发生短路时,断路器能够及时的切断故障电路,放置发生过载、发热、甚至起火等严重后果。 在分布式架构中,断路器模式的作用也是类似,当某个服务发生故障之后,通过断路器的故障监控,直接切断原来的主逻辑调用。但是,在Hystrix中的断 阅读全文
posted @ 2018-06-06 16:20 海盗船长 阅读(262) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页