摘要: Spring动态配置多数据源,即在大型应用中对数据进行切分,并且采用多个数据库实例进行管理,这样可以有效提高系统的水平伸缩性。而这样的方案就会不同于常见的单一数据实例的方案,这就要程序在运行时根据当时的请求及系统状态来动态的决定将数据存储在哪个数据库实例中,以及从哪个数据库提取数据。 Spring配 阅读全文
posted @ 2017-07-26 15:45 _AlbertWang 阅读(24965) 评论(3) 推荐(1) 编辑
摘要: 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。 1. 数据库自增长序列或字段 最常见的方式。利用数据库,全数据库唯一。 优点: 1 阅读全文
posted @ 2017-07-16 10:04 _AlbertWang 阅读(1282) 评论(0) 推荐(0) 编辑
摘要: 在项目中会遇到同步索引库的问题,解决方案: 方案一:在manager中,添加商品的业务逻辑中,添加一个同步索引库的业务逻辑。 缺点:业务逻辑耦合度高,业务拆分不明确 方案二:业务逻辑在search中实现,调用服务在实现。业务逻辑分开。 缺点:服务之间的耦合度变高。服务的启动有先后顺序。 方案三:使用 阅读全文
posted @ 2017-05-30 17:02 _AlbertWang 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改查工作量的 数据访问框架(ORM 阅读全文
posted @ 2017-05-24 20:53 _AlbertWang 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是Redis Redis是一个NoSQL(Not Only SQL不仅仅是SQL)数据库.翻译成中文叫做非关系型型数据库. 关系型数据库:以二维表形式存储数据 非关系型数据库: 以键值对形式存储数据(Key, Value形式) 是一家意大利的创业公司出的,然后后来这家公司被VMware赞助 阅读全文
posted @ 2017-05-17 22:35 _AlbertWang 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1.solr是一个全文检索引擎系统,通过部署到tomcat下就可以独立运行,通过http协议对外提供全文检索服务, 就是索引和文档的正删改查服务2. solr直接操作索引库和文档库, 我们的业务系统中可以使用solrJ(solr的客户端,就是一堆jar包)来调用solr服务端, 让solr服务端操作 阅读全文
posted @ 2017-05-17 22:29 _AlbertWang 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 数据的分类 结构化数据:有固定类型或者有固定长度的数据 例如:数据库中的数据(mysql,oracle等), 元数据(就是windows中的数据) 结构化数据搜索方法: 数据库中数据通过sql语句可以搜索 元数据(windows中的)通过windows提供的搜索栏进行搜索 非结构化数据:没有固定类型 阅读全文
posted @ 2017-05-17 22:28 _AlbertWang 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 为保证在DAO层里的操作都在同一事务里,我们曾使用以参数的形式将Connection向下传递的方式,而ThreadLocal来创建Connection连接,避免了一直以参数的形式将Connection向下传递(传递connection的目的是由于jdbc事务要求确保使用同一个connection连接 阅读全文
posted @ 2017-05-12 15:56 _AlbertWang 阅读(1208) 评论(0) 推荐(0) 编辑
摘要: 一.事务 定义:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。 准备工作:为了说明事务的ACID原理,我们使用银行账户及资金管理的案例进行分析。 二.ACID ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个 阅读全文
posted @ 2017-05-12 15:35 _AlbertWang 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 一、正向代理(Forward Proxy) 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术。关于正向代理的概念如下: 正向代理(forward)是一个位于客户端【用户A】和原始服务器(origin server)【服务器B】之间的服务器【代理服务器Z】,为了从原始服务器取得内容,用户A 阅读全文
posted @ 2017-05-10 16:38 _AlbertWang 阅读(1284) 评论(0) 推荐(0) 编辑
摘要: SpringMVC提供<mvc:resources>来设置静态资源,但是增加该设置如果采用通配符的方式增加拦截器的话仍然会被拦截器拦截,可采用如下方案进行解决: 方案一、拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml) 方案二、使用默认的静态资源处理Servlet处理静态资源( 阅读全文
posted @ 2017-05-05 17:12 _AlbertWang 阅读(20449) 评论(0) 推荐(2) 编辑
摘要: 在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加: <Context docBase="F:\develop\upload\temp" path="/pic" reloadable="false"/> 访问http://localhost:8080/pic即可访 阅读全文
posted @ 2017-05-04 20:42 _AlbertWang 阅读(228) 评论(0) 推荐(0) 编辑
摘要: Day1 1. springMvc:是一个表现层框架: 作用:就是从请求中接收传入的参数, 将处理后的结果数据返回给页面展示2. ssm整合: 1)Dao层 pojo和映射文件以及接口手动编写(或使用逆向工程生成) SqlMapConfig.xml mybatis核心配置文件 Application 阅读全文
posted @ 2017-05-02 17:42 _AlbertWang 阅读(937) 评论(0) 推荐(0) 编辑
摘要: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hib 阅读全文
posted @ 2017-04-29 21:54 _AlbertWang 阅读(489) 评论(0) 推荐(0) 编辑
摘要: linux 下,mysql 的表面默认是区分大小写的,windows 下默认不区分大小写,我们大多数在windows 下开发,之后迁移到linux(特别是带有Hibernate的工程),可以修改配置是linux下,myql 表名不区分大小写 MySQL在Linux下数据库名、表名、列名、别名大小写规 阅读全文
posted @ 2017-04-23 21:17 _AlbertWang 阅读(16966) 评论(1) 推荐(1) 编辑
摘要: window下 1.导出整个数据库(无需登录mysql)mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql 带编码格式:mysql -uroot -p --default-character-set= 阅读全文
posted @ 2017-04-22 21:59 _AlbertWang 阅读(281) 评论(0) 推荐(0) 编辑
摘要: Day1: 1. mybatis是一个持久层框架, 作用是跟数据库交互完成增删改查2.原生Dao实现(需要接口和实现类)3.动态代理方式(只需要接口) mapper接口代理实现编写规则: 1) 映射文件中namespace要等于接口的全路径名称 2) 映射文件中sql语句id要等于接口的方法名称 3 阅读全文
posted @ 2017-04-22 15:00 _AlbertWang 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 【Linux】第一章 ISO/OSI七层模型简介 1、ISO/OSI 七层模型1-1) ISO : 由ISO(国际标准化组织) 组织开发的1-2) OSI : 开放系统互联模型1-3) 该模型为基础模型, 而实际中常用的TCP/IP模型是由七层模型演变的1-4) 最上层(应用层)最接近用户, 最下层 阅读全文
posted @ 2017-04-20 21:44 _AlbertWang 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 1. Windows与Linux不同的磁盘分区流程 Windows:分区-->格式化-->分配盘符 Linux:分区-->格式化-->给每个分区起“设备文件名”-->分配挂载点 2.设备文件名:Linux中一切皆文件,包括硬件、用户等。硬件的文件名即称作“硬件设备文件名”,硬件设备文件名作为硬件的标 阅读全文
posted @ 2017-04-20 21:43 _AlbertWang 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by 涉及的列上建立索引。 2、应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而尽心全表扫描,如: select id from t where num is null 可以在num上设置默 阅读全文
posted @ 2017-04-09 21:14 _AlbertWang 阅读(414) 评论(0) 推荐(0) 编辑