上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: 1. 什么是ActiveMQ? ActiveMQ是Apache推出的,一款开源的,完全支持JMS1.1和j2ee1.4规范的JMS Provider实现的消息中间件(Message Oriented Middleware, MOM). 2. ActiveMQ能干什么? 最主要的功能就是:实现JMS 阅读全文
posted @ 2019-05-10 14:43 xiaoshen666 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1. 禁用过滤器 # zuul.<SimpleClassName>.<filterType>.disable=true # 例如禁用 自定义的过滤器 zuul.MyFilter.pre.disable=true 2. 路由的映射 方法1: zuul.routes.spring-cloud-provi 阅读全文
posted @ 2019-05-10 14:32 xiaoshen666 阅读(316) 评论(0) 推荐(0) 编辑
摘要: zuul不仅只是路由,还可以自定义过滤器来实现服务验证。 实现案例:自定义过滤器,检验头部是否带有token,如果token=wangx,则通过校验,若不存在或不为wangx则返回提示token错误。 扩展:一般情况下,可以采用JWT规范来做token的校验。 JWT:https://jwt.io/ 阅读全文
posted @ 2019-05-10 14:31 xiaoshen666 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1. Zuul的工作机制 Zuul提供了一个框架,可以对过滤器进行动态的加载,编译,运行。过滤器之间没有直接的相互通信,他们是通过一个RequestContext的静态类来进行数据传递的。RequetstContext类中的ThreadLocal变量来记录每个request所需要传递的数据。 它包含 阅读全文
posted @ 2019-05-10 14:29 xiaoshen666 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 1. 什么时候Zuul? Zuul是一个基于jvm路由和服务端的负载均衡器,在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。 路由功能:相当于nginx的反向代理 比如: / 可能需要映射到你的web应用,/api/users/映射到用户服务 ,/api/shop映射到商城服务。 2. 使 阅读全文
posted @ 2019-05-10 14:28 xiaoshen666 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 前言: 上一节中,我们使用Hystrix Dashboard,只能看到单个应用内的服务信息。在生产环境中,我们经常是集群状态,所以我们需要用到Turbine这一应用。 作用:汇总系统内的多个服务的数据并显示到Hystrix Dashboard上。 1. 新建Turbine项目 添加依赖,pom文件 阅读全文
posted @ 2019-05-10 14:27 xiaoshen666 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 1. 引入依赖 在前面几节中的消费者中添加pom依赖。 2. 在启动类上添加注解 添加@EnableHystrixDashboard 开启Dashboard。 3. 注册HystrixMetricsStreamServlet 在2.x之前的版本中,会自动注入该Servlet的,但是在2.x之后的版本 阅读全文
posted @ 2019-05-10 14:26 xiaoshen666 阅读(1766) 评论(0) 推荐(0) 编辑
摘要: 1. Hystrix对Feign的支持 添加Feign中IUserBiz的实现类HystrixFallBack: package com.wangx.cloud.springcloud02consumer.configure; import com.wangx.cloud.springcloud02 阅读全文
posted @ 2019-05-10 14:22 xiaoshen666 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 说明 : 1、Hystrix通过舱壁模式来隔离限制依赖的并发量和阻塞扩散 2、 Hystrix提供了两种隔离策略:线程池(THREAD)和信号量隔离SEMAPHORE)。 1. 线程池隔离(默认策略模式) 线程池隔离把执行依赖代码的线程与请求线程(如tomcat线程)分离,请求线程可以自由控制离开时 阅读全文
posted @ 2019-05-10 14:21 xiaoshen666 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 为什么会有断路器? 在微服务架构中,系 是拆分成 一个的服务单元各间通过注册与发现 的方式互相依 赖。每个单元都在不同的进程中运行, 都是通过远程调用的方式进行信 ,这样就有可能因为网络原或 是依赖服务自身问题出现调用延迟或者故障 而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不 阅读全文
posted @ 2019-05-10 14:20 xiaoshen666 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 工作流程(参考:https://github.com/Netflix/Hystrix/wiki/How-it-Works) 1、 创建一个HystrixCommand或HystrixObservableCommand实例 第一步就是构建一个HystrixCommand或HystrixObservab 阅读全文
posted @ 2019-05-10 14:20 xiaoshen666 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 1. Feign的默认配置 Feign 的默认配置 Spring Cloud Netflix 提供的默认实现类:FeignClientsConfiguration 解码器:Decoder feignDecoder: ResponseEntityDecoder (which wraps a Sprin 阅读全文
posted @ 2019-05-10 14:19 xiaoshen666 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是Feign? Feign是一种声明式、模板化的HTTP客户端,在SpringCloud中使用Feign。可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到是一个远程方法,更感知不到这是一个HTTP请求 Feign的灵感来自于Retrofit,JAXRS- 阅读全文
posted @ 2019-05-10 14:18 xiaoshen666 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 一、 内置 负载均衡策略的介绍的 IRule的实现类 2. 通过代码实现负载均衡 在第六节Riddom的使用的工程中,随机策略配置类 package com.wangx.cloud.springcloud02consumer.configure; import com.netflix.loadbal 阅读全文
posted @ 2019-05-10 14:17 xiaoshen666 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 1. 注解@LoadBalanced 作用:识别应用名称,并进行负载均衡。 2. 入口类:LoadBalancerAutoConfiguration 说明:类头上的注解可以知道Ribbon 实现的负载均衡自动化配置需要满足两个条件 1、 RestTemplate 类必须存在于当前工程的环境中 2、 阅读全文
posted @ 2019-05-10 14:16 xiaoshen666 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 1. Eureka服务认证 1. 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <scope>test</scop 阅读全文
posted @ 2019-05-10 14:14 xiaoshen666 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是负载均衡? 负载均衡,就是分发请求流量到不同的服务器。 负载均衡一般分为两种 1. 服务器端负载均衡(nginx) 2. 客户端负载均衡(Ribbon) 2. 服务提供者(spring-cloud-provider) 实体类User: Controller接口: 3. 服务消费者(spr 阅读全文
posted @ 2019-05-10 14:14 xiaoshen666 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1. Eureka监控配置 Eureka的客户端需要加入依赖 而由于服务端本身已经依赖了该依赖,所以不需要再引入。 接下来就是一些配置信息的添加: 注意: 1. 服务监控依赖于spring-boot-starter-actuator这个jar 2. 注意management.context-path 阅读全文
posted @ 2019-05-10 14:13 xiaoshen666 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 1. Eureka服务端的启动过程 1.1 入口类EurekaServerInitializerConfiguration类, public void start() { (new Thread(new Runnable() { public void run() { try { EurekaSer 阅读全文
posted @ 2019-05-10 14:11 xiaoshen666 阅读(735) 评论(0) 推荐(0) 编辑
摘要: 1. Spring Cloud Netflix Spring Cloud Netflix 是Spring Cloud 的核心子项目,是对Netflix公司一系列开源产品的封装。它为Spring Boot应用提供了自动配置的整合,只需要通过一些简单的注解,就可以快速的在Spring Cloud应用中使 阅读全文
posted @ 2019-05-10 14:09 xiaoshen666 阅读(8521) 评论(0) 推荐(1) 编辑
摘要: 1. 微服务是什么? 微服务是一种由多个服务组成的集合体,它属于一种软甲架构,在微服务中,它的每个服务都是独立存在的,微服务是一种去中心化的思想。 它具有开发简单,技术栈灵活,服务独立解耦,可用性高等特点,但是它也面临着维护和部署复杂度增加,服务间通信成本高,数据一致性的保证和系统集成测试等挑战 2 阅读全文
posted @ 2019-05-10 14:06 xiaoshen666 阅读(240) 评论(0) 推荐(0) 编辑
摘要: Swagger 是一个规范和完整的框架,用于生成,描述,调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是一个开源的API doc框架,可以将我们的Controller接口的方法以文档的形式展现,基于swa 阅读全文
posted @ 2019-05-10 14:04 xiaoshen666 阅读(208) 评论(0) 推荐(0) 编辑
摘要: Druid Spring Boot Starter Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池和监控。 如何使用 在 Spring Boot 项目中加入druid-spring-boot-starter依赖 Maven 阅读全文
posted @ 2019-05-10 14:03 xiaoshen666 阅读(398) 评论(0) 推荐(0) 编辑
摘要: SpringBoot提供了三种应用监控的方式 通过HTTP(最简单方便) 通过JMX 通过远程shell 这里就是用最简单的方式来使用SpringBoot的应用监控 首先引入依赖,pom文件如下 配置文件如下 application.properties 配置之后启动系统,SpringBoot就已经 阅读全文
posted @ 2019-05-10 13:59 xiaoshen666 阅读(538) 评论(0) 推荐(0) 编辑
摘要: session集群的解决方案: 1.扩展指定server 利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略。缺点:耦合Tomcat/Jetty等Servlet容器,不能随意更换容器。 2.利用Filter 利用HttpServlet 阅读全文
posted @ 2019-05-10 13:58 xiaoshen666 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 首先,引入发送邮件的依赖,由于freemarker自定义模板,所以也需要把freemarker的依赖引入 pom.xml文件 配置文件需要配置的信息: 使用qq邮箱需要开通POP3/SMTP服务,具体方法自行百度。 实现轮询发送的类,这里主要就是将默认只保存一个用户的配置bean注入到本实例中,读取 阅读全文
posted @ 2019-05-10 13:57 xiaoshen666 阅读(844) 评论(0) 推荐(0) 编辑
摘要: 1. activemq 首先引入依赖 pom.xml文件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependen 阅读全文
posted @ 2019-05-10 13:56 xiaoshen666 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 1. 使用Redis 在使用redis之前,首先要保证安装或有redis的服务器,接下就是引入redis依赖。 pom.xml文件如下 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s 阅读全文
posted @ 2019-05-10 13:51 xiaoshen666 阅读(1274) 评论(1) 推荐(1) 编辑
摘要: 在实际的运用开发中,跟数据库之间的交互是必不可少的,SpringBoot也提供了两种跟数据库交互的方式。 1. 使用JdbcTemplate 在SpringBoot中提供了JdbcTemplate模板类,JdbcTemplate提供的方法进行增删改查的操作。 首先需要在pom文件中添加依赖: 还需要 阅读全文
posted @ 2019-05-10 13:50 xiaoshen666 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 直接上代码,上传文件的前端页面: 后台上传方法: 这样就完成了文件的上传,当然这里只是一个demo,只保存了文件,在实际的运用开发中,还需要将文件路径和文件名保存到数据库中,使用文件的时候根据该路径去找到文件。 在SpringBoot中也针对文件上传提供了一些配置。 在示例中,SpringBoot默 阅读全文
posted @ 2019-05-10 13:48 xiaoshen666 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 在实际应用开发中,跨域是一个比较常见的问题,解决方法可以用jsonp,frame,cors等, 这里示例的是SpringBoot对CORS的支持的三种实现方式 第一种:配置一种全局的支持,这种方式需要新增一个配置类如下: 这样在别的服务中想要访问该服务的api路径下的所有资源都会被允许跨域请求,本示 阅读全文
posted @ 2019-05-10 13:47 xiaoshen666 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 在一般的运用开发中Controller已经大部分都能够实现了,但是也不排除需要自己实现Servlet,Filter,Listener的方式,SpringBoot提供了三种实现方式。 1. 使用Bean的实现方式 首先创建一个Servlet,一个Filter,一个Listener, DemoServl 阅读全文
posted @ 2019-05-10 13:46 xiaoshen666 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 对于异常的处理,Spring Boot中提供默认的一个异常处理界面,如下图: 但是在实际的运用开发中,这样的页面显然是不友好的,Spring Boot也提供了自定义异常处理的方式,如下总结三种一场处理方式 1. 实现ErrorController接口的方式 实现ErrorController接口,重 阅读全文
posted @ 2019-05-10 13:45 xiaoshen666 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 1. freemarker引擎的使用 如果你使用的是idea或者eclipse中安装了sts插件,那么在新建项目时就可以直接指定试图模板 如图: 勾选freeMarker,此时springboot项目中就会自动引入freemarker的依赖如下: <dependency> <groupId>org. 阅读全文
posted @ 2019-05-10 13:35 xiaoshen666 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 在实际的应用开发中,可能会需要不同配置文件来支撑程序的运行,如开发,测试,预生产,生产环境等,程序在不同的环境下可能需要不同的配置,如不同数据源等,如果每次在不同的环境下都要去修改配置文件就会闲得不合理,而且很麻烦,此时就可以通过配置profiles,使程序在不同的环境中使用不同的配置文件。 1. 阅读全文
posted @ 2019-05-10 13:33 xiaoshen666 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 今天介绍三种配置文件手动取值的方式: springboot配置文件信息保存在application.properties中,默认可以spring.开头的进行spring进行一些常用参数的配置,但是很多时候我们需要手动配置一些配置,这就需要我们自己手动取值了, application.properti 阅读全文
posted @ 2019-05-10 13:31 xiaoshen666 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 简介: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid applic 阅读全文
posted @ 2019-05-10 13:27 xiaoshen666 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 对于复杂的系统,我们可能要开好几个分支来开发,那么怎样使用git合并分支呢? 合并步骤:1、进入要合并的分支(如开发分支合并到master,则进入master目录)git checkout mastergit pull 2、查看所有分支是否都pull下来了git branch -a 3、使用merg 阅读全文
posted @ 2019-05-10 13:22 xiaoshen666 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 原文cron表达式详解 Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year (2)Seconds Minutes 阅读全文
posted @ 2019-05-10 11:03 xiaoshen666 阅读(9384) 评论(0) 推荐(0) 编辑
摘要: 1、负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。 关注点:how much2、压力测试(Stress Test): 压力测试(又叫强度测试)也是一种性能测试,它在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方 阅读全文
posted @ 2019-05-10 09:36 xiaoshen666 阅读(487) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页