- 博客(197)
- 收藏
- 关注
转载 【Ribbon篇四】自定义负载均衡策略(4)
官方文档特别指出:自定义的负载均衡配置类不能放在 @componentScan 所扫描的当前包下及其子包下,否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,也就是说我们达不到特殊化定制的目的了。 要求自定义的算法:依旧是轮询策略,但是每个服务器被调用5次后轮到下一个服务,即以前是每个服务被调用1次,现在是每个被调用5次。 1. 打开microservicecloud-...
2019-10-05 11:23:00
318
转载 【Eureka篇三】Eureka比Zookeeper好在哪里?(8)
Eureka遵守AP,Zookeeper遵守CP RDBMS(oracle/mysql、sqlServer) ====> ACID, 关系型数据库遵循ACID原则 NoSQL(redis/mongodb)====> CAP 一、ACID的介绍 原子性(Automicity):事务里面的所有操作,要么全部做完,要么全不做;事务成功的条件是事务里面的所有操作都成功,只...
2019-10-04 21:52:00
233
转载 【Ribbon篇四】Ribbon核心组件IRule(3)
Ribbon在工作时分为两步: 先选择 EurekaServer,它优先选择在同一个区域内负载较少的Server; 再根据用户指定的策略,在从Server取到的服务注册列表中选择一个地址; 其中Ribbon提供了多种策略,比如轮询、随机、根据响应时间加权。 一、Ribbon算法的介绍 Ribbon的源码地址:https://github.com/Netflix/ribb...
2019-10-04 21:44:00
315
转载 【Eureka篇三】Eureka常用配置说明(7)
服务注册中心配置(Bean类:org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean) #关闭注册中心的保护机制,Eureka 会统计15分钟之内心跳失败的比例低于85%将会触发保护机制,不剔除服务提供者, #如果关闭服务注册中心将不可用的实例正确剔除,默认值为false eureka.ser...
2019-10-04 09:50:00
297
转载 【Eureka篇三】Eureka如何管理服务调用(6)
在Eureka Client启动时,将自身的服务的信息发送到Eureka Server。然后进行2调用当前服务器节点中的其他服务信息,保存到Eureka Client中。当服务间相互调用其它服务时,在Eureka Client中获取服务信息(如服务地址,端口等)后,进行第3步,根据信息直接调用服务。(注:服务的调用通过http(s)调用) 当某个服务仅需要调用其他服务,自身不提...
2019-10-04 09:48:00
229
转载 【Ribbon篇四】Ribbon初步配置(2)
一. 微服务消费者改造 注:修改microservicecloud-consumer-dept-80工程 1. pom.xml添加依赖 <!-- eureka client --> <dependency> <groupId>org.springframework.cloud</groupId> <ar...
2019-10-04 09:42:00
270
转载 【Ribbon篇四】Ribbon介绍(1)
Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,...
2019-10-03 21:20:00
312
转载 【Eureka篇三】Eureka集群配置(5)
1. 新建子模块microservicecloud-eureka-7002(后面简称7002) 和 microservicecloud-eureka-7003(后面简称为7003),packaging均是jar模式,以microservicecloud-eureka-7001(后面简称为7001)的pom.xml为模板配置。 2. 将7001的EurekaServer7001_App....
2019-10-03 20:25:00
251
转载 【Eureka篇三】Eureka服务发现(4)
注:该知识点并不是重点。 修改子模块:microservicecloud-provider-dept-8001 1. 修改DeptController @Autowired private org.springframework.cloud.client.discovery.DiscoveryClient client; @RequestMapping(value = ...
2019-10-03 19:55:00
116
转载 【Eureka篇三】Eureka自我保护机制(3)
1. 自我保护机制演示 eureka在频繁修改微服务名称的时候,可以会出现如下现象: 2.什么是自我保护模式? 默认情况下,如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销该实例(默认90秒)。但是当网络分区故障发生时,微服务与EurekaServer之间无法正常通信,以上行为可能变得非常危险了——因为微服务本身其实是健...
2019-10-03 19:43:00
138
转载 【Eureka篇三】Eureka服务注册(2)
注:修改【Rest微服务案例(二)】中的子模块microservicecloud-provider-dept-8001。 一、项目改造 1. 修改pom.xml 添加eureka client的依赖 <!-- eureka client --> <dependency> <groupId>org.springframework....
2019-10-03 17:22:00
111
转载 【Eureka篇三】EurekaServer服务注册中心(1)
注:在前面【Rest微服务案例(二)】的基础上进行操作。 1. 新建Maven Module,子模块名称为microservicecloud-eureka-7001,packaging为jar模式 <!-- eureka server端 --> <dependency> <groupId>org.springframework.cl...
2019-10-03 13:42:00
124
转载 Rest微服务案例(二)
1. 创建父工程 Maven Project 新建父工程microservicecloud,packaging是pom模式,pom.xml内容如下: <!-- SpringBoot父依赖 --> <parent> <groupId>org.springframework.boot</groupId> <a...
2019-09-30 22:46:00
129
转载 MongoDB高级知识(六)
1. document的关系 多个文档之间在逻辑上可以相互联系,可以通过嵌入和引用来建立联系。 文档之间的关系可以有: 1对1 1对多 多对1 多对多 一个用户可以有多个地址,所以是一对多的关系。 #user document { "_id":ObjectId("52ffc33cd85242f436000001"), "name": "Tom...
2019-09-30 13:49:00
329
转载 MongoDB Java(七)
在 Java 程序中如果要使用 MongoDB,你需要确保已经安装了 Java 环境及 MongoDB JDBC 驱动。 mongodb-driver jar 下载地址:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 操作文档:http://mongodb.github.io/mongo-java-driv...
2019-09-29 21:50:00
137
转载 Linux下MongoDB安装和配置(二)
1. 下载MongoDB 下载地址:https://www.mongodb.com/download-center/community 这里选择的是:mongodb-linux-x86_64-4.0.12.tgz(后面文章都是基于这个版本) 使用上传工具上传到 /tmp。 【或者:https://fastdl.mongodb.org/linux/mongodb-linux-x...
2019-09-29 13:14:00
588
转载 MongoDB Shell基本操作(五)
官网文档:https://docs.mongodb.com/ 1. 创建数据库 #如果数据库不存在,则创建数据库,否则切换到指定数据库 use DATABASE_NAME 示例: use runoob 如果你想查看所有数据库,可以使用 show dbs 命令。 2. 删除数据库 #删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名...
2019-09-28 22:26:00
255
转载 MongoDB概念认识(四)
1. database 一个mongodb中可以建立多个数据库。 MongoDB的默认数据库为"db",该数据库存储在data目录中。 MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。 "show dbs" 命令可以显示所有数据的列表。 数据库名的名称约束: 不能是空字符串("")。 不得含有' '(空...
2019-09-28 21:51:00
100
转载 MongoDB图形化工具(三)
一、安装 下载地址:https://www.mongodbmanager.com/download 注意:在下载的时候需要对应上自己安装的mongodb版本。 双击安装 选择“Full installation” 点击“Finish” 启动工具后的开始界面 二、连接数据库 转载于:https://www.cnblogs.com/...
2019-09-28 18:45:00
129
转载 MongoDB介绍(一)
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对...
2019-09-28 10:10:00
138
转载 Ant风格路径表达式
ANT通配符有三种: ? 匹配任何单字符 * 匹配0或者任意数量的字符 ** 匹配0或者更多的目录 举例: /project/*.a 匹配项目根路径下所有在project路径下的.a文件 /project/p?ttern 匹配项目根路径下 /project/pattern 和 /app/pXttern,但是不包括/app/pttern /**/example 匹...
2019-09-23 10:13:00
158
转载 SpringMVC其他说明(六)
1. 编码问题 在web.xml中配置过滤器: <!-- 源码:spring-web.jar 功能:字符集过滤器,设置编码集为UTF-8,解决POST的中文乱码问题。 参数说明: encoding:request的编码集(request.setCharacterEncoding("UTF-8")) forc...
2019-09-22 20:45:00
98
转载 SpringMVC的Java API(五)
1. HttpMessageConverter消息转换器 (1) HttpMessageConverter接口源码: public interface HttpMessageConverter<T> { boolean canRead(Class<?> clazz, MediaType mediaType); boolean canWr...
2019-09-22 19:48:00
153
转载 SpringMVC拦截器(四)
拦截器,本质类似于AOP,主要的应用场景: 日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV等。 权限检查:如登录检测,进入处理器检测是否登录,没有登录返回登录页面。 性能监控:记录拦截器进入处理器和离开处理器的时间。 通用行为:读取cookie中的用户信息放入请求,从而方便后续流程使用,还有如提取Locale、Theme信息等,只要是多个处理器的需要都可以...
2019-09-22 19:46:00
75
转载 SpringMVC常用注解(三)
一、@Controller 、@RestController 和 @ControllerAdvice 1. @Controller @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。 使用@Controller 注解,在...
2019-09-22 15:41:00
332
转载 SpringMVC环境搭建(二)
一、基于XML 1. 创建Maven Project,选择war,修改pom.xml SpringMVC是依赖于Spring的,需要导入核心包。 <properties> <!-- JDK版本 --> <java.version>1.8</java.version> <!-- spring版本 ...
2019-09-22 10:22:00
58
转载 SpringMVC详细流程(一)
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 与之相反的是基于组件的、事件驱动的Web框架,如Tapestry、JSF等。 Sp...
2019-09-22 09:30:00
96
转载 PageHelper分页(十)
分页有两种: (1) 物理分页:物理分页依赖的是某一物理实体,这个物理实体就是数据库,比如MySQL数据库提供了limit关键字,程序员只需要编写带有limit关键字的SQL语句,数据库返回的就是分页结果。建议使用。 (2) 逻辑分页:辑分页依赖的是程序员编写的代码。数据库返回的不是分页结果,而是全部数据,然后再由程序员通过代码获取分页数据,常用的操作是一次性从数据库中查询出全部数据...
2019-09-21 22:59:00
380
转载 Mybatis工作原理(九)
mybatis工作流程: (1)SqlSessionFactoryBuilder 从 XML 配置文件或通过Java的方式构建出 SqlSessionFactory 的实例。 (2) SqlSessionFactory生成SqlSession。 (3) SqlSession拿到Mapper对象的代理(通过JDK动态代理生成一个Mapper的代理,代理类实现了我们写的Mapp...
2019-09-21 22:30:00
83
转载 Mybatis的Java API(八)
使用mybatis的主要Java接口就是SqlSession。可以通过这个接口来执行命令,获取映射器和事务管理。 SqlSession是由SqlSessionFactory实例创建,SqlSessionFactory对象包含创建SqlSession实例的所有方法。而SqlSessionFactory本身是由SqlSessionFactoryBuilder创建的,可以从XML,注解或手动...
2019-09-21 17:10:00
135
转载 Mybatis日志(七)
Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging 具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。 不少应用服务器的classpath中已...
2019-09-21 17:08:00
58
转载 Mybatis拦截器(六)
拦截器的作用就是我们可以拦截某些方法的调用,在目标方法前后加上我们自己逻辑。 Mybatis拦截器设计的一个初衷是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。 Mybatis为我们提供了一个Interceptor接口,通过实现该接口就可以定义我们自己的拦截器(不过,要实现拦截器,需要对mybatis的源码有很好地理解才行)。 /** * myb...
2019-09-21 16:59:00
92
转载 Mybatis动态SQL(五)
if choose (when, otherwise) trim (where, set) foreach 一、if 动态SQL通常要做的事情是有条件地包含 where 子句的一部分。比如: <select id="findActiveBlogWithTitleLike" resultType="Blog"> SELECT * FROM BLOG...
2019-09-21 16:32:00
128
转载 Mybatis的XML映射文件(四)
MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。 映射文件的基本结构: <?xml version="1.0" encoding="UTF-8" ?...
2019-09-21 13:49:00
103
转载 Mybatis全局配置文件详解(三)
每个基于Mybatis应用都是以一个SqlSessionFactory实例为中心。SqlSessionFactory实例可以由SqlSessionFactoryBuild获得,而SqlSessionFactoryBuild可以以一个xml配置文件(Configuration.xml)构建出SqlSessionFactory实例。 Configuration.xml: <?x...
2019-09-21 09:48:00
398
转载 Mybatis环境搭建(二)
1. 创建Maven Project,选择war,修改pom.xml <properties> <!-- JDK版本 --> <java.version>1.8</java.version> <!-- mybatis版本 --> <mybatis.version>3.5....
2019-09-21 09:09:00
71
转载 Mybatis介绍(一)
MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 MyBatis是支持普通SQL查询,存储过程和高级映射的持久化框架,底层是对JDBC的封装,是一个半自动的ORM框架。 MyBatis 使用简单的 XML...
2019-09-20 22:16:00
295
转载 Spring配置文件中的那些标签
1.context:annotation-config 它的作用是隐式地向Spring容器注册AutowiredAnnotationBeanPostProcessor,CommonAnnotationBeanPostProcessor,PersistenceAnnotationBeanPostProcessor,RequiredAnnotationBeanPostProcessor这...
2019-09-20 15:33:00
807
转载 Spring单元测试
1. 创建Maven Project,选择war,修改pom.xml <properties> <!-- JDK版本 --> <java.version>1.8</java.version> <!-- spring版本 --> <spring.version>4.1.6....
2019-09-20 15:32:00
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人