- 博客(58)
- 资源 (1)
- 收藏
- 关注
转载 搭建多模块企业级项目
首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目。好了,废话不多说,具体如下:首先新建一个maven项目,pom.xml的文件如下:搭建多模块项目,必须要有一个packaging为pom的根目录。创建好这个maven项目后,我们对着项目右键-->new输入你的项目名称
2017-02-24 16:55:37
548
转载 Elipse中发布一个Maven项目到Tomcat
对于maven初学者的我,经常遇到一个问题就是,maven项目创建成功后,本来已经添加了jar的依赖,但是发布到Tomcat中就是没有jar包存在,启动Tomcat总是报没有找到jar包,可项目结构中确实已经有jar了,一直很郁闷,所以记录下来。1、首先确定好我们已经安装好maven需要的环境,并且已经创建好一个Maven依赖的Web项目,可以查看前几篇maven的学习内容搭建ma
2017-02-24 16:10:27
496
转载 Nexus按项目类型分配不同的工厂来发布不同的项目
在【3.发布Maven项目到nexus中】配置了把项目发布到nexus中的方法但是有时候,一个公司会有很多项目[crm,oa,erp]等等的项目。如果把这些项目全部都放到releases或者snapshots中的话会有点混乱。比较好的办法是,按项目来分。每个项目一个工厂:cms-repositorie、oa-repositorie每个项目一个角色:cms oa每个角色都只管理自
2017-02-24 15:48:00
591
转载 发布Maven项目到nexus中
1.在pom.xml文件中配置需要发布的工厂如果想把项目发布到nexus中,需要在pom.xml中配置releases和snapshots版本发布的具体repositorynexus-releases保持一致-->nexus-releasesNexus Release Repositoryhttp://localhost:8081/nexus/con
2017-02-24 15:15:45
551
原创 Nexus Repositories 介绍
1 Repositories介绍在Nexus的Repositories中,主要有两种类型的工厂hosted和proxyhosted本地工厂:只是面向内部服务的,面向局域网3rd party :存放Maven中央仓库中没有的第三方jar包Releases :存放Maven中提交的Releases项目Snapshots :存放Maven中提交的Snaphots项目proxy代
2017-02-24 15:12:38
2403
转载 使用Nexus搭建Maven私服
1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。 我们可以使用专门的 M
2017-02-24 13:38:46
432
转载 Linux下使用Nexus搭建Maven私服
为什么要搭建私服?在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的。另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新。可以通过搭建公司内部的Maven服务器,将第三方和内部的依赖统一管理,同时也可以节省网络带宽,当然前提是项目所需要的构件在私服中已经存在。Nexus下载及安装配置 我们可以在nexus的官网上找到它的相关介绍,
2017-02-14 16:57:34
538
转载 Maven详解之仓库------本地仓库、远程仓库
在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方)任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径,解读Maven在仓库中的存储路径:1.基于groupId准备路径,将句点分隔符转成路径分隔符,就
2017-02-14 14:28:39
495
转载 1号店交易系统架构如何向「高并发高可用」演进
以下为分享整理正文:轻量级电商的架构和痛点大家看上图,一个轻量级的电商网站应用架构就是这样的,比如说你现在想做一个电商网站,你是创业公司,两三个人开始做,估计架构就是这样的。前端有PC、App和H5,有表现层、业务逻辑层和数据访问层等。重量级的电商网站应用架构是怎么重的呢?很简单,随着业务的扩展,业务量多了、代码量多了、数据量大了、并发量高了。1号店是一家电商网站,
2017-02-09 17:33:34
532
转载 每秒处理10万订单乐视集团支付架构
随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定的完成支付尤为重要。所以在15年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。一、库分表在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系
2017-02-08 17:27:44
526
转载 欢迎使用优快云-markdown编辑器
摘要:日前,笔者采访了当当网架构师、当当技术委员会成员张亮,在本次采访中他主要分享了对架构师的理解,以及重点解读了分布式作业调度框架elastic-job是什么、架构设计思路、具体模块的底层及如何实现等。 【编者按】互联网从诞生到现在,网站的规模不断扩大,存储和处理的数据量也远远超出了人们的想象,又随着对信息实时性、多媒体需求大幅增长的现象,互联网架构面临越来越大的挑战。优快云致力于解决这一问题
2015-11-25 10:51:48
808
转载 关于大型网站技术演进的思考(十一)--网站静态化处理—动静分离策略(3)
前文里我讲到了网站静态化的关键点是动静分离,动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。由此可见,网站静态化处理的核心就是动静分离和缓存两大方面,上篇我简单讲述了动静整合的基础知识,本篇将会讲述两大核心之一的动静分离策略,只有把动静分离策略做好了,缓存才能发挥出它
2015-03-05 17:13:58
718
转载 关于大型网站技术演进的思考(十)--网站静态化处理—动静整合方案(2)
上篇文章我简要的介绍了下网站静态化的演进过程,有朋友可能认为这些知识有点过于稀松平常了,而且网站静态化的技术基点也不是那么高深和难以理解,因此它和时下日新月异的web前端技术相比,就显得不伦不类了。其实当我打算写本系列的之前我个人觉得web前端有一个点是很多人都知道重要,但是有常常低估它作用的,那就是web前端和web服务端如何融合的这个点上,这个点再加上我们要做出一个规模庞大,高并发,快速响应的
2015-03-05 11:49:07
737
转载 关于大型网站技术演进的思考(九)--网站静态化处理--总述(1)
在存储瓶颈的开篇我提到像hao123这样的导航网站只要它部署的web服务器数量足够,它可以承载超大规模的并发访问量,如果是一个动态的网站,特别是使用到了数据库的网站是很难做到通过增加web服务器数量的方式来有效的增加网站并发访问能力的。但是现实情况是像淘宝、京东这样的大型动态网站在承担高并发的情况下任然能保证快速的响应,这其中有什么样的技术手段可以达到动态网站支撑高并发的场景了,这也许是每个做we
2015-03-05 11:19:10
619
转载 关于大型网站技术演进的思考(八)--存储的瓶颈终篇(8)
在开始本篇主要内容前,我们一起看看下面的几张截图,首先是第一张图,如下图所示: 这是一家电商网站的首页,当我们第一次打开这个首页,网站会弹出一个强制性的对话框,让用户选择货物配送的地址,如果是淘宝和京东的话,那么这个选择配货地址的选项是在商品里,如下图是淘宝的选择配送地点: 下图是京东选择配货地点: 那么图一跟京东和淘宝有什么区别呢?图一
2015-03-03 11:47:06
956
转载 关于大型网站技术演进的思考(七)--存储的瓶颈(7)
本文开篇提个问题给大家,关系数据库的瓶颈有哪些?我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题,然后如何解决的等等,这样的答案没问题,但是却没有代表性,如果出现了一个新的存储瓶颈问题,你在那个场景的处理经验可以套用在这个新问题上吗?这个真的很难说。 其实不管什么样的问题场景最后解决它都要落实到数据库的话,那么这个问题场景一定是击中了数据库的某个痛点,
2015-03-03 11:35:44
542
转载 关于大型网站技术演进的思考(六)--存储的瓶颈(6)
在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表被垂直拆分后的单表查询问题。 要解决数据表被水平拆分后的单表查询问题,我们首先要回到问题的源头,我们为什么需要将数据库的表进行水平拆分。下面我们来推导下我们最终下定决心做水平拆分表的演进过程
2015-02-25 23:43:05
755
转载 关于大型网站技术演进的思考(五)--存储的瓶颈(5)
上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种影响,第二个问题就是水平拆分的扩容问题。这两个问题在深入下去,本系列就越来越技术化了,可能最终很多朋友读完后还是没有找到解决实际问题的启迪,而且我觉得这些问题都是像BAT这样巨型互联网公司才会认真思考的,因此本篇我打算换个角度来阐述本文的后续内容。
2015-02-25 23:15:33
580
转载 关于大型网站技术演进的思考(四)--存储的瓶颈(4)
如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整体的表进一步拆分成多张表,每一张表都用独立的数据库进行存储。当表被水平拆分后,原数据表成为了
2015-02-25 22:40:25
506
转载 关于大型网站技术演进的思考(三)--存储的瓶颈(3)
存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回顾下数据库的垂直拆分和水平拆分的定义: 垂直拆分:把一个数据库中不同业务单元的数据分到不同的数据库里。 水平拆分:是根据一定的规则把同一业务单元的数据拆分到多个数据库里。 垂直拆分是一个粗粒度的拆分数
2015-02-13 17:02:15
565
转载 关于大型网站技术演进的思考(二)--存储的瓶颈(2)
上篇里我讲到某些网站在高并发下会报出503错误,503错误的含义是指网站服务端暂时无法提供服务的含义,503还表达了网站服务端现在有问题但是以后可能会提供正常的服务,对http协议熟悉的人都知道,5开头的响应码表达了服务端出现了问题,在我们开发测试时候最为常见的是500错误,500代表的含义是服务端程序出现了错误导致网站无法正常提供服务,500通常是服务端异常和错误所致,如果生产系统里发现了500
2015-02-13 10:59:41
586
转载 关于大型网站技术演进的思考(一)--存储的瓶颈(1)
前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出全部听到的知识,今天我换了个思路是回味这次培训,这个思路就是通过本人目前的经验和技术水平来思考下大型网站技术演进的过程。首先我们要思考一个问题,什么样的网站才是大型网站,从网站的技术指标角度考虑这个问题人们很容易犯一个毛病就是认为网站的访问量是衡
2015-02-12 19:11:46
596
转载 MySQL-5.6.13解压版(zip版)安装配置教程
MySQL5.6.13解压版(zip版)安装配置教程这两天洪哥刚试用了一下MySQL5.6.13,感觉还不错,有兄弟戏称是一个高富帅版本。现将MySQL5.6.13解压版(zip版)的安装配置过程记录如下,希望能给需要安装该版本的朋友一点参考作用。[下载MySQL 5.6.13]从MySQL官方网站mysql.com找到MySQL Community Server 5.6.
2014-07-30 14:29:25
658
原创 mysql 解压配置
1、下载解压安装mysql文件,解压文件 E:\smsproject\tool\mysql\mysql-5.0.96-win322、把mysql\mysql-5.0.96-win32目录下的data目录copy到E:/smsproject/tool/mysql/mysql-5.0.96-data/data3、修改my.ini文件[client]password = mimapo
2013-05-06 15:55:50
652
原创 mysql 更改root用户密码
方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法
2013-05-06 15:52:19
732
原创 hibernate 随记
软件模型:软件分析阶段:概念模型软件设计阶段:域模型(面向对象) 实体域对象 过程域对象 时间域对象 数据模型(面向关系)域对象之间关系1、关联(一对一、一对多、多对多)2、依赖:类之间的访问关系。如果A类访问B类型的属性或方法,或者类A负责实例化类B,那么可以说类A依赖类B3、聚焦:整体与部分之间的关系4、一般化:类之间的继承关系
2013-03-22 16:11:11
763
原创 领域类之GORM查询
GORM支持一下查询动态查询Where查询条件查询Hibernate查询语言(HQL)先讲两个基础查询:listdef books = Book.list()def books = Book.list(offset:10, max:20)def books = Book.list(sort:"title", order:"asc")根据ID查询
2013-02-20 16:40:22
3473
原创 领域类之持久化基础
保存和更新def p = Person.get(1)p.save()不及时保存到数据库def p = Person.get(1)try { p.save(flush: true)}catch (org.springframework.dao.DataIntegrityViolationException e) { // deal with excep
2013-02-20 11:28:16
730
转载 IntelliJ IDEA快捷键
使用了一段时间的IntelliJ IDEA,感觉这个JAVA IDE非常好用 下面把一直以来常用的一些快捷键给总结出来如下: 1. Ctrl + Space 完成类、方法、变量名称的自动输入,这个快捷键是我最经常使用的快捷键了,它可以完成类、方法、变量名称的自动录入,很方便 2. Ctrl + N(Ctrl + Shift + N) 跳转到指定的java文件(其它文件)这个功能
2013-02-20 10:46:00
627
转载 悲观锁 乐观锁
文章转自网上好像是玉米田的,忘记了锁( locking ) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机 制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也
2013-02-20 10:20:48
490
原创 领域类之模型
关系模型一、多对一和一对一1、多对一模型单向多对一模型,如下:class Face { Nose nose}class Nose {}双向多对一模型,如下:class Face { Nose nose}class Nose { static belongsTo = [face:Face]}在双向模型中new Face(nose:n
2013-02-19 15:46:48
1053
原创 领域类之基本增删改查
前提class Person { String name Integer age Date lastVisit}创建 通过map传参创建领域类对象,实现保存def p = new Person(name: "Fred", age: 40, lastVisit: new Date())p.save()读取grails自动的会给领域
2013-02-19 09:59:39
861
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人